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:
clearin 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:
getin 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:
putin interfaceIntrospectorCache- Parameters:
c- The class for which the class map gets generated.- Returns:
- A ClassMap object.
-