public class ClassCache
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ClassCache.ClassCacheLocator
Locator using the cache.
|
Modifier and Type | Field and Description |
---|---|
private java.util.HashMap |
m_classMap
Map from class names to actual class information.
|
private java.lang.String[] |
m_paths
Paths to be searched for class files.
|
private java.io.File[] |
m_roots
Root directories corresponding to paths.
|
private static ClassCache |
s_instance
Singleton instance of class (created when paths set)
|
private static java.util.HashSet |
s_preserveClasses
Classes to be preserved without modification.
|
Modifier | Constructor and Description |
---|---|
private |
ClassCache(java.lang.String[] paths)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
(package private) static void |
addClassFile(ClassFile cf)
Add created class information to cache.
|
static void |
addPreserveClass(java.lang.String name)
Add class name to set to be preserved without modification.
|
static ClassFile |
getClassFile(java.lang.String name)
Get class information.
|
private ClassFile |
getClassFileImpl(java.lang.String name)
Get class information.
|
static java.io.File |
getModifiablePath()
Return the first modifiable directory path from the classpath in use.
|
static boolean |
hasClassFile(java.lang.String name)
Check if class information has been loaded.
|
static boolean |
isPreserveClass(java.lang.String name)
Check if a class is to be preserved without modification.
|
static ClassFile |
requireClassFile(java.lang.String name)
Get required class information.
|
static void |
setPaths(java.lang.String[] paths)
Set class paths to be searched.
|
private static ClassCache s_instance
private static java.util.HashSet s_preserveClasses
private java.lang.String[] m_paths
private java.io.File[] m_roots
private java.util.HashMap m_classMap
private ClassCache(java.lang.String[] paths)
paths
- ordered set of paths to be searched for class filesprivate ClassFile getClassFileImpl(java.lang.String name) throws JiBXException
name
- fully-qualified name of class to be foundnull
if class not foundJiBXException
- on any error accessing class filepublic static void addPreserveClass(java.lang.String name)
name
- fully-qualified class namepublic static boolean isPreserveClass(java.lang.String name)
name
- fully-qualified class nametrue
if to be preserved, false
if notpublic static ClassFile getClassFile(java.lang.String name) throws JiBXException
name
- fully-qualified name of class to be foundnull
if class not foundJiBXException
- on any error accessing class filepublic static ClassFile requireClassFile(java.lang.String name) throws JiBXException
name
- fully-qualified name of class to be foundnull
if class not foundJiBXException
- on any error accessing class filepublic static boolean hasClassFile(java.lang.String name)
name
- full-qualified name of class to be checkedtrue
if foundstatic void addClassFile(ClassFile cf)
cf
- information for class to be addedpublic static java.io.File getModifiablePath()
null
if nonepublic static void setPaths(java.lang.String[] paths)
paths
- ordered set of paths to be searched for class files