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.IOExceptionpublic 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
ClassPathExceptionpublic java.lang.String[] getAllNames()
getAllNames in interface NameSourcepublic void classPathChanged()
classPathChanged in interface ClassPathListenerpublic 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
ClassPathExceptionpublic java.util.Set getPackagesSet()
public void addListener(ClassPathListener l)
public void removeListener(ClassPathListener l)
public static BshClassPath getUserClassPath() throws ClassPathException
ClassPathExceptionpublic static BshClassPath getBootClassPath() throws ClassPathException
ClassPathExceptionpublic static void main(java.lang.String[] args)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic void addNameSourceListener(NameSource.Listener listener)
addNameSourceListener in interface NameSourcepublic static void addMappingFeedback(BshClassPath.MappingFeedback mf)