public class ClassInfoLoader extends java.lang.Object implements ClassFinder
Modifier and Type | Class and Description |
---|---|
static class |
ClassInfoLoader.DirectoryCPE
directory returns a reader for a directory.
|
static class |
ClassInfoLoader.ZipFileCPE
zipfile returns a reader for a ZIP file.
|
Modifier and Type | Field and Description |
---|---|
static char |
colon |
ClassFinder |
getCopyFinder |
static java.lang.String |
JbetLogFacility |
static char |
slash |
Constructor and Description |
---|
ClassInfoLoader()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
clearPath()
clear the classPath.
|
static ClassPathElement |
directory(java.lang.String name) |
boolean |
exists(java.lang.String name)
Test if a class exists on the classpath.
|
ClassInfo |
findClass(java.lang.String name) |
void |
findPackageClasses(java.lang.String packname,
java.util.Collection out,
boolean sense) |
ClassInfo |
getClass(java.lang.String name) |
java.util.Enumeration |
getClasses()
Return an enumeration of all classes
|
java.lang.String |
getClassPath() |
ClassInfo |
getCopy(java.lang.String name) |
FieldInfo |
getField(java.lang.String cname,
java.lang.String name)
Get info on a field.
|
MethodInfo |
getMethod(java.lang.String cname,
java.lang.String name,
Descriptor type)
Get info on a method.
|
java.lang.Object |
getThing(java.lang.String cname,
java.lang.String name,
Descriptor d)
Get info on a classs, method or field.
|
ClassInfo |
lookupClass(java.lang.String name)
Returns a ClassInfo for the class name specified.
|
void |
parseClassPath(java.lang.String cpString)
Access the program's CLASSPATH environment variable, split the
string in CLASSPATH into separate paths, and saves the
separate paths in a Vector.
|
void |
parseClassPath(java.lang.String cpString,
boolean insertAtFront)
Variant that allows control of where to insert.
|
void |
putClass(ClassInfo cr)
Put a class.
|
void |
putClass(java.lang.String name,
ClassInfo cr) |
void |
removeClass(ClassInfo cr)
remove a class from the loader.
|
static ClassPathElement |
zipfile(java.lang.String zfname) |
public static char colon
public static char slash
public static java.lang.String JbetLogFacility
public ClassFinder getCopyFinder
public static ClassPathElement directory(java.lang.String name)
public static ClassPathElement zipfile(java.lang.String zfname) throws java.io.IOException
java.io.IOException
public void parseClassPath(java.lang.String cpString)
cpString
- input class path, colon separated elements.public void parseClassPath(java.lang.String cpString, boolean insertAtFront)
cpString
- input class pathinsertAtFront
- if true, makes vector in reverse orderpublic void clearPath()
public java.util.Enumeration getClasses()
public ClassInfo findClass(java.lang.String name) throws ClassFileException
findClass
in interface ClassFinder
ClassFileException
public ClassInfo lookupClass(java.lang.String name)
public ClassInfo getClass(java.lang.String name) throws ClassFileException
ClassFileException
public ClassInfo getCopy(java.lang.String name) throws ClassFileException
ClassFileException
public MethodInfo getMethod(java.lang.String cname, java.lang.String name, Descriptor type) throws ClassFileException, ElementNotFoundException
cname
- class namename
- method nametype
- method descriptorClassFileException
ElementNotFoundException
public FieldInfo getField(java.lang.String cname, java.lang.String name) throws ClassFileException, ElementNotFoundException
cname
- class namename
- field nameClassFileException
ElementNotFoundException
public java.lang.Object getThing(java.lang.String cname, java.lang.String name, Descriptor d) throws ClassFileException, ElementNotFoundException
cname
- class name.name
- field or method name.d
- optional method descriptorClassFileException
ElementNotFoundException
public void removeClass(ClassInfo cr)
public void putClass(ClassInfo cr)
cr
- ClassInfo of the class.public void putClass(java.lang.String name, ClassInfo cr)
public boolean exists(java.lang.String name) throws ClassFileException
name
- name of the class.ClassFileException
public void findPackageClasses(java.lang.String packname, java.util.Collection out, boolean sense) throws ClassFileException
ClassFileException
public java.lang.String getClassPath()