|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.tdk.signaturetest.classpath.ClasspathImpl
public class ClasspathImpl
ClasspathImpl provides access to all classes placed inside directories and/or jar-files listed in the classpath, which is given to the constructor for new ClasspathImpl instance.
The constructor searches every
directory or jar-file listed and keeps corresponding ClasspathEntry
element, which can provide access to a bytecode for each class found inside
the directory or jar-file. All classes found inside the listed directories
and jar-files are virtually enumerated in the same order as they are found.
The methods
nextClassName()
and
setListToBegin()
provide access to this classes enumeration.
Also, the method
findClass(name)
provides access to class directly by its
qualified name. Note however, that the names class must belong to some
directory or zip-file pointed to the ClasspathImpl instance.
ClasspathEntry
Constructor Summary | |
---|---|
ClasspathImpl(java.lang.String classPath)
This constructor finds all classes within the given classpath, and creates a list of ClasspathEntry iterator - one element per each directory or zip-file found. |
Method Summary | |
---|---|
void |
close()
Free resources used (if any) or do nothing. |
protected ClasspathEntry |
createPathEntry(ClasspathEntry previosEntry,
java.lang.String name)
Check if the given name is directory or zip-file name, and create either new DirectoryEntry or new JarFileEntry instance correspondingly. |
java.io.InputStream |
findClass(java.lang.String name)
Returns FileInputStream instance providing bytecode for the required class. |
int |
getNumErrors()
Return number of significand errors occurred when ClasspathImpl constructor was being working. |
boolean |
hasNext()
|
void |
init(java.lang.String classPath)
Initialize the module with given parameter: classPath . |
boolean |
isEmpty()
|
java.lang.String |
nextClassName()
Search next class in the enumeration of classes found inside directories and jar-files pointed to this ClasspathImpl instance. |
void |
printErrors(java.io.PrintWriter out)
Report about all errors occurred while construction of ClasspathImpl. |
void |
setListToBegin()
Reset list of directories and/or zip-files found by ClasspathImpl. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ClasspathImpl(java.lang.String classPath)
classPath
- Path string listing directories and/or zip files.
java.lang.SecurityException
- The classPath
string has invalid
format.findClass(String)
,
nextClassName()
,
setListToBegin()
,
createPathEntry(ClasspathEntry, String)
Method Detail |
---|
public void init(java.lang.String classPath)
Classpath
classPath
.
init
in interface Classpath
classPath
- parameter provided to initialize module (usually a
directory or file classPath).public void close()
Classpath
close
in interface Classpath
public boolean isEmpty()
public void printErrors(java.io.PrintWriter out)
out
- Where to println error messages.public int getNumErrors()
createPathEntry(ClasspathEntry, String)
public void setListToBegin()
nextClassName()
,
getCurrentClass()
, or
findClass(name)
.
setListToBegin
in interface Classpath
nextClassName()
,
findClass(String)
public boolean hasNext()
hasNext
in interface Classpath
public java.lang.String nextClassName()
this
ClasspathImpl instance. You may invoke
setListToBegin()
method to restore classes enumeration to
its starting point.
nextClassName
in interface Classpath
setListToBegin()
,
findClass(String)
public java.io.InputStream findClass(java.lang.String name) throws java.io.IOException, java.lang.ClassNotFoundException
this
ClasspathImpl instance.
findClass
in interface Classpath
name
- Qualified name of the class requested.
java.lang.ClassNotFoundException
- Not found in any ClasspathEntry in this
ClasspathImpl instance.
java.io.IOException
FileInputStream
protected ClasspathEntry createPathEntry(ClasspathEntry previosEntry, java.lang.String name)
name
- Qualified name of some directory or zip file.
name
.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |