@HashCodeAndEqualsPlugin.Enhance public abstract static class TypePool.AbstractBase extends java.lang.Object implements TypePool
TypePool
that is managing a cache provider and
that handles the description of array and primitive types.Modifier and Type | Class and Description |
---|---|
protected static class |
TypePool.AbstractBase.ArrayTypeResolution
A resolution for a type that, if resolved, represents an array type.
|
static class |
TypePool.AbstractBase.Hierarchical
Implements a hierarchical view of type pools, similarly to class loader hierarchies.
|
protected static class |
TypePool.AbstractBase.RawAnnotationValue
Represents a nested annotation value.
|
protected static class |
TypePool.AbstractBase.RawDescriptionArray
Represents an array that is referenced by an annotation which does not contain primitive values or
String s. |
protected static class |
TypePool.AbstractBase.RawEnumerationValue
Represents an enumeration value of an annotation.
|
protected static class |
TypePool.AbstractBase.RawTypeValue
Represents a type value of an annotation.
|
TypePool.AbstractBase, TypePool.CacheProvider, TypePool.ClassLoading, TypePool.Default, TypePool.Empty, TypePool.Explicit, TypePool.LazyFacade, TypePool.Resolution
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
ARRAY_SYMBOL
The array symbol as used by Java descriptors.
|
protected TypePool.CacheProvider |
cacheProvider
The cache provider of this instance.
|
protected static java.util.Map<java.lang.String,java.lang.String> |
PRIMITIVE_DESCRIPTORS
A map of primitive types by their descriptor.
|
protected static java.util.Map<java.lang.String,TypeDescription> |
PRIMITIVE_TYPES
A map of primitive types by their name.
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractBase(TypePool.CacheProvider cacheProvider)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clears this type pool's cache.
|
TypePool.Resolution |
describe(java.lang.String name)
Locates and describes the given type by its name.
|
protected TypePool.Resolution |
doCache(java.lang.String name,
TypePool.Resolution resolution)
Writes the resolution to the cache.
|
protected abstract TypePool.Resolution |
doDescribe(java.lang.String name)
Determines a resolution to a non-primitive, non-array type.
|
protected static final java.util.Map<java.lang.String,TypeDescription> PRIMITIVE_TYPES
protected static final java.util.Map<java.lang.String,java.lang.String> PRIMITIVE_DESCRIPTORS
private static final java.lang.String ARRAY_SYMBOL
protected final TypePool.CacheProvider cacheProvider
protected AbstractBase(TypePool.CacheProvider cacheProvider)
cacheProvider
- The cache provider to be used.public TypePool.Resolution describe(java.lang.String name)
describe
in interface TypePool
name
- The name of the type to describe. The name is to be written as when calling Object.toString()
on a loaded Class
.TypePool.Resolution
represents this type. Otherwise, an illegal resolution is returned.protected TypePool.Resolution doCache(java.lang.String name, TypePool.Resolution resolution)
name
- The name of the type.resolution
- The resolution for this type.protected abstract TypePool.Resolution doDescribe(java.lang.String name)
name
- The name of the type to describe.