public class BshClassPath extends java.lang.Object implements ClassPathListener, NameSource
Modifier and Type | Class and Description |
---|---|
static class |
BshClassPath.AmbiguousName |
static class |
BshClassPath.ClassSource |
static class |
BshClassPath.DirClassSource |
static class |
BshClassPath.GeneratedClassSource |
static class |
BshClassPath.JarClassSource |
static interface |
BshClassPath.MappingFeedback |
NameSource.Listener
Constructor and Description |
---|
BshClassPath(java.lang.String name) |
BshClassPath(java.lang.String name,
java.net.URL[] urls) |
Modifier and Type | Method and Description |
---|---|
void |
add(java.net.URL url) |
void |
add(java.net.URL[] urls) |
void |
addComponent(BshClassPath bcp)
Add the specified BshClassPath as a component of our path.
|
void |
addListener(ClassPathListener l) |
static void |
addMappingFeedback(BshClassPath.MappingFeedback mf) |
void |
addNameSourceListener(NameSource.Listener listener)
Implements NameSource
Add a listener who is notified upon changes to names in this space.
|
static java.lang.String |
canonicalizeClassName(java.lang.String name)
Create a proper class name from a messy thing.
|
void |
classPathChanged() |
java.lang.String[] |
getAllNames() |
static BshClassPath |
getBootClassPath()
Get the boot path including the lib/rt.jar if possible.
|
java.util.Set |
getClassesForPackage(java.lang.String pack)
Return the set of class names in the specified package
including all component paths.
|
java.lang.String |
getClassNameByUnqName(java.lang.String name)
Support for super import "*";
Get the full name associated with the unqualified name in this
classpath.
|
BshClassPath.ClassSource |
getClassSource(java.lang.String className)
Return the source of the specified class which may lie in component
path.
|
protected java.util.List |
getFullPath()
Get the full path including component paths.
|
java.util.Set |
getPackagesSet()
Get a list of all of the known packages
|
java.net.URL[] |
getPathComponents()
Get the path components including any component paths.
|
static BshClassPath |
getUserClassPath()
A BshClassPath initialized to the user path
from java.class.path
|
static java.net.URL[] |
getUserClassPathComponents() |
void |
insureInitialized()
If the claspath map is not initialized, do it now.
|
protected void |
insureInitialized(boolean topPath) |
static boolean |
isArchiveFileName(java.lang.String name) |
static boolean |
isClassFileName(java.lang.String name) |
static void |
main(java.lang.String[] args) |
static java.util.Collection |
removeInnerClassNames(java.util.Collection col)
Return a new collection without any inner class names
|
void |
removeListener(ClassPathListener l) |
void |
setClassSource(java.lang.String className,
BshClassPath.ClassSource cs)
Explicitly set a class source.
|
void |
setPath(java.net.URL[] urls) |
static java.lang.String[] |
splitClassname(java.lang.String classname)
Split class name into package and name
|
java.lang.String |
toString() |
public BshClassPath(java.lang.String name)
public BshClassPath(java.lang.String name, java.net.URL[] urls)
public void setPath(java.net.URL[] urls)
public void addComponent(BshClassPath bcp)
public void add(java.net.URL[] urls)
public void add(java.net.URL url) throws java.io.IOException
java.io.IOException
public java.net.URL[] getPathComponents()
public java.util.Set getClassesForPackage(java.lang.String pack)
public BshClassPath.ClassSource getClassSource(java.lang.String className)
public void setClassSource(java.lang.String className, BshClassPath.ClassSource cs)
public void insureInitialized()
protected void insureInitialized(boolean topPath)
topPath
- indicates that this is the top level classpath
component and it should send the startClassMapping messageprotected java.util.List getFullPath()
public java.lang.String getClassNameByUnqName(java.lang.String name) throws ClassPathException
ClassPathException
public java.lang.String[] getAllNames()
getAllNames
in interface NameSource
public void classPathChanged()
classPathChanged
in interface ClassPathListener
public static boolean isClassFileName(java.lang.String name)
public static boolean isArchiveFileName(java.lang.String name)
public static java.lang.String canonicalizeClassName(java.lang.String name)
public static java.lang.String[] splitClassname(java.lang.String classname)
public static java.util.Collection removeInnerClassNames(java.util.Collection col)
public static java.net.URL[] getUserClassPathComponents() throws ClassPathException
ClassPathException
public java.util.Set getPackagesSet()
public void addListener(ClassPathListener l)
public void removeListener(ClassPathListener l)
public static BshClassPath getUserClassPath() throws ClassPathException
ClassPathException
public static BshClassPath getBootClassPath() throws ClassPathException
ClassPathException
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
public java.lang.String toString()
toString
in class java.lang.Object
public void addNameSourceListener(NameSource.Listener listener)
addNameSourceListener
in interface NameSource
public static void addMappingFeedback(BshClassPath.MappingFeedback mf)