@HashCodeAndEqualsPlugin.Enhance public abstract static class TypePool.AbstractBase extends 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.
|
protected static interface |
TypePool.AbstractBase.ComponentTypeReference
A lazy representation of the component type of an array.
|
static class |
TypePool.AbstractBase.Hierarchical
Implements a hierarchical view of type pools, similarly to class loader hierarchies.
|
TypePool.AbstractBase, TypePool.CacheProvider, TypePool.ClassLoading, TypePool.Default, TypePool.Empty, TypePool.Explicit, TypePool.LazyFacade, TypePool.Resolution
Modifier and Type | Field and Description |
---|---|
protected TypePool.CacheProvider |
cacheProvider
The cache provider of this instance.
|
protected static Map<String,String> |
PRIMITIVE_DESCRIPTORS
A map of primitive types by their descriptor.
|
protected static Map<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(String name)
Locates and describes the given type by its name.
|
protected TypePool.Resolution |
doCache(String name,
TypePool.Resolution resolution)
Writes the resolution to the cache.
|
protected abstract TypePool.Resolution |
doDescribe(String name)
Determines a resolution to a non-primitive, non-array type.
|
protected static final Map<String,TypeDescription> PRIMITIVE_TYPES
protected static final Map<String,String> PRIMITIVE_DESCRIPTORS
protected final TypePool.CacheProvider cacheProvider
protected AbstractBase(TypePool.CacheProvider cacheProvider)
cacheProvider
- The cache provider to be used.public TypePool.Resolution describe(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(String name, TypePool.Resolution resolution)
name
- The name of the type.resolution
- The resolution for this type.protected abstract TypePool.Resolution doDescribe(String name)
name
- The name of the type to describe.Copyright © 2014–2021. All rights reserved.