CachedJarsPackageManager (Jython API documentation)
Date: 2022-09-10

org.python.core.packagecache

## Class CachedJarsPackageManager

- java.lang.Object
- - org.python.core.packagecache.PackageManager
  - - org.python.core.packagecache.CachedJarsPackageManager

- Direct Known Subclasses:
    PathPackageManager

      public abstract class CachedJarsPackageManager
      extends PackageManager

  Abstract package manager that gathers info about statically known classes from a set of jars and the Java runtime. This info can be cached, eventually. Off-the-shelf this class offers a local file-system based cache implementation.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `CachedJarsPackageManager.JarXEntry` Class of object used to represent a cache file and last modification time, internally and to `outCreateCacheFile(org.python.core.packagecache.CachedJarsPackageManager.JarXEntry, boolean)`.

  - ### Field Summary

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

      `topLevelPackage`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CachedJarsPackageManager()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addJarToPackages(java.io.File jarfile)` Gathers classes info from jar specified by File jarfile.
    `void` | `addJarToPackages(java.io.File jarfile, boolean cache)` Gathers package and class lists from a jar specified by a `File`.
    `void` | `addJarToPackages(java.net.URL jarurl)` Gathers classes info from jar specified by a URL.
    `void` | `addJarToPackages(java.net.URL jarurl, boolean cache)` Gathers classes info from jar specified by URL.
    `void` | `saveCache()` Write back cache index.

    - ### Methods inherited from class org.python.core.packagecache.PackageManager

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

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CachedJarsPackageManager

          public CachedJarsPackageManager()

  - ### Method Detail

    - #### addJarToPackages

          public void addJarToPackages(java.net.URL jarurl)

      Gathers classes info from jar specified by a URL. Eventually just using previously cached info. Eventually updated info is not cached. Persistent cache storage access goes through inOpenCacheFile() and outCreateCacheFile().

    - #### addJarToPackages

          public void addJarToPackages(java.net.URL jarurl,
                                       boolean cache)

      Gathers classes info from jar specified by URL. Eventually just using previously cached info. Eventually updated info is (re-)cached if param cache is true. Persistent cache storage access goes through inOpenCacheFile() and outCreateCacheFile().

    - #### addJarToPackages

          public void addJarToPackages(java.io.File jarfile)

      Gathers classes info from jar specified by File jarfile. Eventually just using previously cached info. Eventually updated info is not cached. Persistent cache storage access goes through inOpenCacheFile() and outCreateCacheFile().

    - #### addJarToPackages

          public void addJarToPackages(java.io.File jarfile,
                                       boolean cache)

      Gathers package and class lists from a jar specified by a `File`. Eventually just using previously cached info. Eventually updated info is (re-)cached if param cache is true. Persistent cache storage access goes through inOpenCacheFile() and outCreateCacheFile().

    - #### saveCache

          public void saveCache()

      Write back cache index. The index is a mapping from each source of class definitions to the file where the cache for that source is held. This list is accessed through outOpenIndex().

Jython homepage