org.python.core
Class PathPackageManager

java.lang.Object
  extended byorg.python.core.PackageManager
      extended byorg.python.core.CachedJarsPackageManager
          extended byorg.python.core.PathPackageManager
Direct Known 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 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, loadResource, saveCache
 
Methods inherited from class org.python.core.PackageManager
addJar, addJarDir, findClass, findClass, lookupName, makeJavaPackage, notifyPackageImport
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

searchPath

public PyList searchPath
Constructor Detail

PathPackageManager

public PathPackageManager()
Method Detail

addDirectory

public void addDirectory(File dir)
Add directory dir (if exists) to searchPath.

Specified by:
addDirectory in class PackageManager
Parameters:
dir - A directory.

addClassPath

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


doDir

public PyList doDir(PyJavaPackage jpkg,
                    boolean instantiate,
                    boolean exclpkgs)
Description copied from class: PackageManager
Reports the specified package content names. Should be overriden. Used by PyJavaPackage.__dir__() and PyJavaPackage.fillDir().

Specified by:
doDir in class 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)
Description copied from class: PackageManager
Dynamically check if pkg.name exists as java pkg in the controlled hierarchy. Should be overriden.

Specified by:
packageExists in class PackageManager
Parameters:
pkg - parent pkg name
name - candidate name
Returns:
true if pkg exists