org.python.core
Class PackageManager
java.lang.Object
|
+--org.python.core.PackageManager
- Direct Known Subclasses:
- CachedJarsPackageManager
- public abstract class PackageManager
- extends java.lang.Object
Abstract package manager.
Method Summary |
abstract void |
addDirectory(java.io.File dir)
Append a directory to the list of directories searched for
java packages and java classes. |
abstract void |
addJar(java.lang.String jarfile,
boolean cache)
Append a jar file to the list of locations searched for
java packages and java classes. |
abstract void |
addJarDir(java.lang.String dir,
boolean cache)
Append a directory to the list of directories searched for
java packages and java classes. |
abstract PyList |
doDir(PyJavaPackage jpkg,
boolean instantiate,
boolean exclpkgs)
Reports the specified package content names. |
java.lang.Class |
findClass(java.lang.String pkg,
java.lang.String name)
|
abstract java.lang.Class |
findClass(java.lang.String pkg,
java.lang.String name,
java.lang.String reason)
|
PyObject |
lookupName(java.lang.String name)
|
PyJavaPackage |
makeJavaPackage(java.lang.String name,
java.lang.String classes,
java.lang.String jarfile)
Creates package/updates statically known classes info.
|
void |
notifyPackageImport(java.lang.String pkg,
java.lang.String name)
|
abstract boolean |
packageExists(java.lang.String pkg,
java.lang.String name)
Dynamically check if pkg.name exists as java pkg in the
controlled hierarchy.
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
topLevelPackage
public PyJavaPackage topLevelPackage
PackageManager
public PackageManager()
findClass
public abstract java.lang.Class findClass(java.lang.String pkg,
java.lang.String name,
java.lang.String reason)
findClass
public java.lang.Class findClass(java.lang.String pkg,
java.lang.String name)
notifyPackageImport
public void notifyPackageImport(java.lang.String pkg,
java.lang.String name)
packageExists
public abstract boolean packageExists(java.lang.String pkg,
java.lang.String name)
- Dynamically check if pkg.name exists as java pkg in the
controlled hierarchy.
Should be overriden.
- Parameters:
pkg
- parent pkg namename
- candidate name- Returns:
- true if pkg exists
doDir
public abstract PyList doDir(PyJavaPackage jpkg,
boolean instantiate,
boolean exclpkgs)
- Reports the specified package content names. Should be overriden.
Used by
PyJavaPackage.__dir__()
and
PyJavaPackage.fillDir()
.
- Parameters:
jpkg
- queried packageinstantiate
- if true then instatiate reported names in
package dictexclpkgs
- exclude packages (just when instantiate is false)- Returns:
- resulting list of names (PyList of PyString)
addDirectory
public abstract void addDirectory(java.io.File dir)
- Append a directory to the list of directories searched for
java packages and java classes.
- Parameters:
dir
- A directory.
addJarDir
public abstract void addJarDir(java.lang.String dir,
boolean cache)
- Append a directory to the list of directories searched for
java packages and java classes.
- Parameters:
dir
- A directory name.
addJar
public abstract void addJar(java.lang.String jarfile,
boolean cache)
- Append a jar file to the list of locations searched for
java packages and java classes.
- Parameters:
jarfile
- A directory name.
lookupName
public PyObject lookupName(java.lang.String name)
makeJavaPackage
public PyJavaPackage makeJavaPackage(java.lang.String name,
java.lang.String classes,
java.lang.String jarfile)
- Creates package/updates statically known classes info.
Uses
PyJavaPackage.addPackage(java.lang.String,
java.lang.String)
, PyJavaPackage.addPlaceholders(java.lang.String)
.
- Parameters:
name
- package nameclasses
- comma-separated stringjarfile
- involved jarfile; can be null- Returns:
- created/updated package
Jython homepage