|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjbet.ClassInfoLoader
public class ClassInfoLoader
Finds classes and loads them into ClassInfo objects, using the CLASSPATH variable. Main program Jbet constructs an instance of this class and then calls parseClassPath(pathEnvironment). Lexer then calls getClass() to load all classes. Jbet then calls getClasses() to find the classes to write out. This class translates from Java class names ('.'-separated components not ending in '.class') to file names, and maintains a table of loaded classes.
Nested Class Summary | |
---|---|
static class |
ClassInfoLoader.DirectoryCPE
directory returns a reader for a directory. |
static class |
ClassInfoLoader.ZipFileCPE
zipfile returns a reader for a ZIP file. |
Field Summary | |
---|---|
static char |
colon
|
ClassFinder |
getCopyFinder
|
static java.lang.String |
JbetLogFacility
|
static char |
slash
|
Constructor Summary | |
---|---|
ClassInfoLoader()
Constructor. |
Method Summary | |
---|---|
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)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static char colon
public static char slash
public static java.lang.String JbetLogFacility
public ClassFinder getCopyFinder
Constructor Detail |
---|
public ClassInfoLoader()
Method Detail |
---|
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 descriptor
ClassFileException
ElementNotFoundException
public FieldInfo getField(java.lang.String cname, java.lang.String name) throws ClassFileException, ElementNotFoundException
cname
- class namename
- field name
ClassFileException
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 descriptor
ClassFileException
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()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |