org.python.core
Class CachedJarsPackageManager

java.lang.Object
  extended byorg.python.core.PackageManager
      extended byorg.python.core.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
static class CachedJarsPackageManager.JarXEntry
          To pass a cachefile id by ref.
 
Field Summary
 
Fields inherited from class org.python.core.PackageManager
topLevelPackage
 
Constructor Summary
CachedJarsPackageManager()
           
 
Method Summary
 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 loadResource(URL pkc, String jarfile)
           
 void saveCache()
          Write back cache index.
 
Methods inherited from class org.python.core.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().


loadResource

public void loadResource(URL pkc,
                         String jarfile)

saveCache

public void saveCache()
Write back cache index. Index persistent storage is accessed through outOpenIndex().