org.python.core

Class PackageManager

public abstract class PackageManager extends Object

Abstract package manager.
Field Summary
PyJavaPackagetopLevelPackage
Constructor Summary
PackageManager()
Method Summary
abstract voidaddDirectory(File dir)
Append a directory to the list of directories searched for java packages and java classes.
abstract voidaddJar(String jarfile, boolean cache)
Append a jar file to the list of locations searched for java packages and java classes.
abstract voidaddJarDir(String dir, boolean cache)
Append a directory to the list of directories searched for java packages and java classes.
abstract PyListdoDir(PyJavaPackage jpkg, boolean instantiate, boolean exclpkgs)
Reports the specified package content names.
abstract ClassfindClass(String pkg, String name, String reason)
ClassfindClass(String pkg, String name)
PyObjectlookupName(String name)
PyJavaPackagemakeJavaPackage(String name, String classes, String jarfile)
Creates package/updates statically known classes info.
voidnotifyPackageImport(String pkg, String name)
abstract booleanpackageExists(String pkg, String name)
Dynamically check if pkg.name exists as java pkg in the controlled hierarchy.

Field Detail

topLevelPackage

public PyJavaPackage topLevelPackage

Constructor Detail

PackageManager

public PackageManager()

Method Detail

addDirectory

public abstract void addDirectory(File dir)
Append a directory to the list of directories searched for java packages and java classes.

Parameters: dir A directory.

addJar

public abstract void addJar(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.

addJarDir

public abstract void addJarDir(String dir, boolean cache)
Append a directory to the list of directories searched for java packages and java classes.

Parameters: dir A directory name.

doDir

public abstract PyList doDir(PyJavaPackage jpkg, boolean instantiate, boolean exclpkgs)
Reports the specified package content names. Should be overriden. Used by PyJavaPackage and PyJavaPackage.

Parameters: jpkg queried package instantiate if true then instatiate reported names in package dict exclpkgs exclude packages (just when instantiate is false)

Returns: resulting list of names (PyList of PyString)

findClass

public abstract Class findClass(String pkg, String name, String reason)

findClass

public Class findClass(String pkg, String name)

lookupName

public PyObject lookupName(String name)

makeJavaPackage

public PyJavaPackage makeJavaPackage(String name, String classes, String jarfile)
Creates package/updates statically known classes info. Uses , PyJavaPackage.

Parameters: name package name classes comma-separated string jarfile involved jarfile; can be null

Returns: created/updated package

notifyPackageImport

public void notifyPackageImport(String pkg, String name)

packageExists

public abstract boolean packageExists(String pkg, String name)
Dynamically check if pkg.name exists as java pkg in the controlled hierarchy. Should be overriden.

Parameters: pkg parent pkg name name candidate name

Returns: true if pkg exists

Jython homepage