Class PackageManager

java.lang.Object
org.python.core.PackageManager
Direct Known Subclasses:
CachedJarsPackageManager

public abstract class PackageManager extends Object
Abstract package manager.
  • Field Details

  • Constructor Details

    • PackageManager

      public PackageManager()
  • Method Details

    • findClass

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

      public Class findClass(String pkg, String name)
    • 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
    • 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 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)
    • 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.
    • 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.
    • 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.
    • lookupName

      public PyObject lookupName(String name)
    • makeJavaPackage

      public PyJavaPackage makeJavaPackage(String name, String classes, String jarfile)
      Parameters:
      name - package name
      classes - comma-separated string
      jarfile - involved jarfile; can be null
      Returns:
      created/updated package