Top Description Inners Fields Constructors Methods
jnr.ffi.util

public final Class EnumMapper

extends Object
Class Inheritance
Annotations
@NoContext
@NoContext
Imports
jnr.ffi.mapper.FromNativeConverter, .ToNativeConverter, java.lang.reflect.Method, java.util.Collections, .EnumSet, .HashMap, .IdentityHashMap, .Map

Provides mapping from Enum values to native integers and vice-versa

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static interface
private static class

Field Summary

Modifier and TypeField and Description
private final Class<? extends Enum<E extends Enum<E>>>
private final int[]
private final Map<Number, Enum<E extends Enum<E>>>

Constructor Summary

AccessConstructor and Description
private
EnumMapper(Class<? extends Enum<E extends Enum<E>>> enumClass)

Method Summary

Modifier and TypeMethod and Description
private static synchronized EnumMapper
addMapper(Class<? extends Enum<E extends Enum<E>>> enumClass)

private Enum<E extends Enum<E>>
badValue(int value)

public static EnumMapper
getInstance(Class<? extends Enum<E extends Enum<E>>> enumClass)

private static Method
getNumberValueMethod(Class<T> c, Class<T> numberClass)

public final Integer
integerValue(Enum<E extends Enum<E>> value)

public final int
intValue(Enum<E extends Enum<E>> value)

private static Number
reflectedNumberValue(Enum<E extends Enum<E>> e, Method m)

private Enum<E extends Enum<E>>
reverseLookup(int value)

public Enum<E extends Enum<E>>
valueOf(int value)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

enumClassback to summary
private final Class<? extends Enum<E extends Enum<E>>> enumClass
intValuesback to summary
private final int[] intValues
reverseLookupMapback to summary
private final Map<Number, Enum<E extends Enum<E>>> reverseLookupMap

Constructor Detail

EnumMapperback to summary
private EnumMapper(Class<? extends Enum<E extends Enum<E>>> enumClass)

Method Detail

addMapperback to summary
private static synchronized EnumMapper addMapper(Class<? extends Enum<E extends Enum<E>>> enumClass)
badValueback to summary
private Enum<E extends Enum<E>> badValue(int value)
getInstanceback to summary
public static EnumMapper getInstance(Class<? extends Enum<E extends Enum<E>>> enumClass)
getNumberValueMethodback to summary
private static Method getNumberValueMethod(Class<T> c, Class<T> numberClass)
integerValueback to summary
public final Integer integerValue(Enum<E extends Enum<E>> value)
intValueback to summary
public final int intValue(Enum<E extends Enum<E>> value)
reflectedNumberValueback to summary
private static Number reflectedNumberValue(Enum<E extends Enum<E>> e, Method m)
reverseLookupback to summary
private Enum<E extends Enum<E>> reverseLookup(int value)
valueOfback to summary
public Enum<E extends Enum<E>> valueOf(int value)
jnr.ffi.util back to summary

public Interface EnumMapper.IntegerEnum


Method Summary

Modifier and TypeMethod and Description
public int

Method Detail

intValueback to summary
public int intValue()
jnr.ffi.util back to summary

private final Class EnumMapper.StaticDataHolder

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private static volatile Map<Class<? extends Enum<E extends Enum<E>>>, EnumMapper>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

MAPPERSback to summary
private static volatile Map<Class<? extends Enum<E extends Enum<E>>>, EnumMapper> MAPPERS

Constructor Detail

StaticDataHolderback to summary
private StaticDataHolder()