Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ConcurrentMap<java.lang.String,T> |
constants |
private java.util.concurrent.atomic.AtomicInteger |
nextId |
Constructor and Description |
---|
ConstantPool() |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
checkNotNullAndNotEmpty(java.lang.String name) |
private T |
createOrThrow(java.lang.String name)
Creates constant by name or throws exception.
|
boolean |
exists(java.lang.String name)
|
private T |
getOrCreate(java.lang.String name)
Get existing constant by name or creates new one if not exists.
|
protected abstract T |
newConstant(int id,
java.lang.String name) |
T |
newInstance(java.lang.String name)
|
int |
nextId()
Deprecated.
|
T |
valueOf(java.lang.Class<?> firstNameComponent,
java.lang.String secondNameComponent)
|
T |
valueOf(java.lang.String name)
Returns the
Constant which is assigned to the specified name . |
private final java.util.concurrent.ConcurrentMap<java.lang.String,T extends Constant<T>> constants
private final java.util.concurrent.atomic.AtomicInteger nextId
public T valueOf(java.lang.Class<?> firstNameComponent, java.lang.String secondNameComponent)
public T valueOf(java.lang.String name)
Constant
which is assigned to the specified name
.
If there's no such Constant
, a new one will be created and returned.
Once created, the subsequent calls with the same name
will always return the previously created one
(i.e. singleton.)name
- the name of the Constant
private T getOrCreate(java.lang.String name)
name
- the name of the Constant
public boolean exists(java.lang.String name)
public T newInstance(java.lang.String name)
private T createOrThrow(java.lang.String name)
name
- the name of the Constant
private static java.lang.String checkNotNullAndNotEmpty(java.lang.String name)
protected abstract T newConstant(int id, java.lang.String name)
@Deprecated public final int nextId()