Package org.python.core.packagecache

# Class PathPackageManager

java.lang.Object
org.python.core.packagecache.PackageManager
org.python.core.packagecache.CachedJarsPackageManager
org.python.core.packagecache.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/interfaces inherited from class org.python.core.packagecache.CachedJarsPackageManager

`CachedJarsPackageManager.JarXEntry`

## Field Summary

Fields
Modifier and Type
Field
Description
`PyList`
`searchPath`

### Fields inherited from class org.python.core.packagecache.PackageManager

`topLevelPackage`

## Constructor Summary

Constructors
Constructor
Description
`PathPackageManager()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addClassPath(String path)`
Scan a Java class-path that may be a mixture of directory and JAR specifiers, and within each path entry index the packages.
`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.packagecache.CachedJarsPackageManager

`addJarToPackages, addJarToPackages, addJarToPackages, addJarToPackages, saveCache`

### Methods inherited from class org.python.core.packagecache.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 Details

### searchPath

public PyList searchPath

## Constructor Details

### PathPackageManager

public PathPackageManager()

## Method Details

### 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)
Scan a Java class-path that may be a mixture of directory and JAR specifiers, and within each path entry index the packages. Calls `addDirectory(java.io.File)` if a path entry refers to a dir, `CachedJarsPackageManager.addJarToPackages(java.io.File, boolean)` with param cache true if the path entry 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 overridden. 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 overridden.

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