org.python.core

Class PathPackageManager

Known Direct Subclasses:
SysPackageManager

public abstract class PathPackageManager
extends CachedJarsPackageManager

Path package manager. Gathering classes info dynamically from a set of directories in path searchPath, and statically from a set of jars, like CachedJarsPackageManager.

Nested Class Summary

Nested classes/interfaces inherited from class org.python.core.CachedJarsPackageManager

CachedJarsPackageManager.JarXEntry

Field Summary

PyList
searchPath

Fields inherited from class org.python.core.PackageManager

topLevelPackage

Constructor Summary

PathPackageManager()

Method Summary

void
addClassPath(String path)
Adds "classpath" entry.
void
addDirectory(File dir)
Add directory dir (if exists) to searchPath.
PyList
doDir(PyJavaPackage jpkg, boolean instantiate, boolean exclpkgs)
Reports the specified package content names.
boolean
packageExists(String pkg, String name)
Dynamically check if pkg.name exists as java pkg in the controlled hierarchy.

Methods inherited from class org.python.core.CachedJarsPackageManager

addJarToPackages, addJarToPackages, addJarToPackages, addJarToPackages, saveCache

Methods inherited from class org.python.core.PackageManager

addDirectory, addJar, addJarDir, doDir, findClass, findClass, lookupName, makeJavaPackage, notifyPackageImport, packageExists

Field Details

searchPath

public PyList searchPath

Constructor Details

PathPackageManager

public PathPackageManager()

Method Details

addClassPath

public void addClassPath(String path)
Adds "classpath" entry. Calls addDirectory(File) if path refers to a dir, addJarToPackages(java.io.File, boolean) with param cache true if path refers to a jar.

addDirectory

public void addDirectory(File dir)

doDir

public PyList doDir(PyJavaPackage jpkg,
                    boolean instantiate,
                    boolean exclpkgs)
Reports the specified package content names. Should be overriden. Used by PyJavaPackage.__dir__() and PyJavaPackage.fillDir().
Overrides:
doDir in interface PackageManager
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)

packageExists

public boolean packageExists(String pkg,
                             String name)
Dynamically check if pkg.name exists as java pkg in the controlled hierarchy. Should be overriden.
Overrides:
packageExists in interface PackageManager
Parameters:
pkg - parent pkg name
name - candidate name
Returns:
true if pkg exists

Jython homepage