Package jnr.constants.platform
Class ConstantResolver<E extends java.lang.Enum<E>>
- java.lang.Object
-
- jnr.constants.platform.ConstantResolver<E>
-
class ConstantResolver<E extends java.lang.Enum<E>> extends java.lang.Object
Provides forward and reverse lookup utilities to cross-platform enums
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ConstantResolver.UnknownConstant
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
__UNKNOWN_CONSTANT__
private boolean
bitmask
private Constant[]
cache
private int
cacheGuard
private ConstantSet
constants
private java.lang.Class<E>
enumType
private java.lang.Object
modLock
private java.util.concurrent.atomic.AtomicLong
nextUnknown
private java.util.Map<java.lang.Long,E>
reverseLookupMap
private E[]
valueCache
-
Constructor Summary
Constructors Modifier Constructor Description private
ConstantResolver(java.lang.Class<E> enumType)
private
ConstantResolver(java.lang.Class<E> enumType, int firstUnknown, int lastUnknown, boolean bitmask)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) boolean
defined(E e)
(package private) java.lang.String
description(E e)
(package private) static <T extends java.lang.Enum<T>>
ConstantResolver<T>getBitmaskResolver(java.lang.Class<T> enumType)
private Constant
getConstant(E e)
private ConstantSet
getConstants()
(package private) static <T extends java.lang.Enum<T>>
ConstantResolver<T>getResolver(java.lang.Class<T> enumType)
(package private) static <T extends java.lang.Enum<T>>
ConstantResolver<T>getResolver(java.lang.Class<T> enumType, int first, int last)
(package private) int
intValue(E e)
(package private) long
longValue(E e)
private Constant
lookupAndCacheConstant(E e)
(package private) E
valueOf(long value)
-
-
-
Field Detail
-
__UNKNOWN_CONSTANT__
public static final java.lang.String __UNKNOWN_CONSTANT__
- See Also:
- Constant Field Values
-
modLock
private final java.lang.Object modLock
-
reverseLookupMap
private final java.util.Map<java.lang.Long,E extends java.lang.Enum<E>> reverseLookupMap
-
nextUnknown
private final java.util.concurrent.atomic.AtomicLong nextUnknown
-
bitmask
private final boolean bitmask
-
cache
private Constant[] cache
-
cacheGuard
private volatile int cacheGuard
-
constants
private volatile ConstantSet constants
-
-
Method Detail
-
getResolver
static <T extends java.lang.Enum<T>> ConstantResolver<T> getResolver(java.lang.Class<T> enumType)
-
getResolver
static <T extends java.lang.Enum<T>> ConstantResolver<T> getResolver(java.lang.Class<T> enumType, int first, int last)
-
getBitmaskResolver
static <T extends java.lang.Enum<T>> ConstantResolver<T> getBitmaskResolver(java.lang.Class<T> enumType)
-
intValue
final int intValue(E e)
-
longValue
final long longValue(E e)
-
description
final java.lang.String description(E e)
-
defined
final boolean defined(E e)
-
valueOf
final E valueOf(long value)
-
getConstants
private ConstantSet getConstants()
-
-