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. This info can be eventually cached. Off-the-shelf this class offers a local file-system based cache impl.

### Nested Class Summary

Nested Classes
`static class` `CachedJarsPackageManager.JarXEntry` To pass a cachefile id by ref.

### Field Summary

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

`topLevelPackage`

### Constructor Summary

Constructors
Constructor and Description
`CachedJarsPackageManager()`

### Method Summary

Methods
`void` `addJarToPackages(File jarfile)` Gathers classes info from jar specified by File jarfile.
`void` `addJarToPackages(File jarfile, boolean cache)` Gathers classes info from jar specified by File jarfile.
`void` `addJarToPackages(URL jarurl)` Gathers classes info from jar specified by jarurl URL.
`void` `addJarToPackages(URL jarurl, boolean cache)` Gathers classes info from jar specified by jarurl 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(URL jarurl)

Gathers classes info from jar specified by jarurl 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(URL jarurl,
                        boolean cache)

Gathers classes info from jar specified by jarurl 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(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(File jarfile,
                        boolean cache)

Gathers classes info from jar specified by File jarfile. 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. Index persistent storage is accessed through outOpenIndex().