Class IntrospectorCacheImpl
java.lang.Object
org.apache.velocity.util.introspection.IntrospectorCacheImpl
- All Implemented Interfaces:
IntrospectorCache
This is the internal introspector cache implementation.
- Since:
- 1.5
- Version:
- $Id: IntrospectorCacheImpl.java 898032 2010-01-11 19:51:03Z nbubna $
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
CACHEDUMP_MSG
define a public string so that it can be looked for if interested- See Also:
-
log
Class logger -
classMapCache
Holds the method maps for the classes we know about. Map: Class --> ClassMap object. -
classNameCache
Keep the names of the classes in another map. This is needed for a multi-classloader environment where it is possible to have Class 'Foo' loaded by a classloader and then get asked to introspect on 'Foo' from another class loader. While these two Class objects have the same name, aclassMethodMaps.get(Foo.class)
will return null. For that case, we keep a set of class names to recognize this case.
-
-
Constructor Details
-
IntrospectorCacheImpl
C'tor
-
-
Method Details
-
clear
public void clear()Clears the internal cache.- Specified by:
clear
in interfaceIntrospectorCache
-
get
Lookup a given Class object in the cache. If it does not exist, check whether this is due to a class change and purge the caches eventually.- Specified by:
get
in interfaceIntrospectorCache
- Parameters:
c
- The class to look up.- Returns:
- A ClassMap object or null if it does not exist in the cache.
-
put
Creates a class map for specific class and registers it in the cache. Also adds the qualified name to the name->class map for later Classloader change detection.- Specified by:
put
in interfaceIntrospectorCache
- Parameters:
c
- The class for which the class map gets generated.- Returns:
- A ClassMap object.
-