| java.lang.Object org.python.core.PackageManager org.python.core.CachedJarsPackageManager
All known Subclasses: org.python.core.PathPackageManager,
CachedJarsPackageManager | abstract public class CachedJarsPackageManager extends PackageManager (Code) | | 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.
|
Inner Class :public static class JarXEntry extends Object | |
Method Summary | |
public void | addJarToPackages(java.net.URL jarurl) Gathers classes info from jar specified by jarurl URL. | public void | addJarToPackages(URL jarurl, boolean cache) Gathers classes info from jar specified by jarurl URL. | public void | addJarToPackages(File jarfile) Gathers classes info from jar specified by File jarfile. | public void | addJarToPackages(File jarfile, boolean cache) Gathers classes info from jar specified by File jarfile. | protected void | comment(String msg) Comment log method - hook. | protected void | debug(String msg) Debug log method - hook. | protected void | deleteCacheFile(String cachefile) Delete (invalidated) cache file from persistent storage - hook. | protected boolean | filterByAccess(String name, int acc) Filter class by access perms helper method - hook. | protected boolean | filterByName(String name, boolean pkg) Filter class/pkg by name helper method - hook. | protected DataInputStream | inOpenCacheFile(String cachefile) Open cache file for reading from persistent storage - hook. | protected DataInputStream | inOpenIndex() Open cache index for reading from persistent storage - hook. | protected void | initCache() Initializes cache. | protected void | message(String msg) Message log method - hook. | protected DataOutputStream | outCreateCacheFile(JarXEntry entry, boolean create) Create/open cache file for rewriting back to persistent storage - hook.
If create is false, cache file is supposed to exist and must be opened
for rewriting, entry.cachefile is a valid cachefile id. | protected DataOutputStream | outOpenIndex() Open cache index for writing back to persistent storage - hook. | public void | saveCache() Write back cache index. | protected boolean | useCacheDir(File aCachedir1) Initialize off-the-shelf (default) local file-system cache impl. | protected void | warning(String warn) Warning log method - hook. |
addJarToPackages | public void addJarToPackages(java.net.URL jarurl)(Code) | | 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)(Code) | | 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)(Code) | | 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)(Code) | | 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().
|
comment | protected void comment(String msg)(Code) | | Comment log method - hook. This default impl does nothing.
Parameters: msg - message text |
debug | protected void debug(String msg)(Code) | | Debug log method - hook. This default impl does nothing.
Parameters: msg - message text |
deleteCacheFile | protected void deleteCacheFile(String cachefile)(Code) | | Delete (invalidated) cache file from persistent storage - hook. This
default impl is part of the off-the-shelf local file-system cache impl.
Can be overriden.
|
filterByName | protected boolean filterByName(String name, boolean pkg)(Code) | | Filter class/pkg by name helper method - hook. The default impl. is used
by
CachedJarsPackageManager.addJarToPackages in order to filter out classes whose name
contains '$' (e.g. inner classes,...). Should be used or overriden by
derived classes too. Also to be used in
CachedJarsPackageManager.doDir .
Parameters: name - class/pkg name Parameters: pkg - if true, name refers to a pkg true if name must be filtered out |
inOpenCacheFile | protected DataInputStream inOpenCacheFile(String cachefile) throws IOException(Code) | | Open cache file for reading from persistent storage - hook. This default
impl is part of the off-the-shelf local file-system cache impl. Can be
overriden.
|
inOpenIndex | protected DataInputStream inOpenIndex() throws IOException(Code) | | Open cache index for reading from persistent storage - hook. Must Return
null if this is absent. This default impl is part of the off-the-shelf
local file-system cache impl. Can be overriden.
|
initCache | protected void initCache()(Code) | | Initializes cache. Eventually reads back cache index. Index persistent
storage is accessed through inOpenIndex().
|
message | protected void message(String msg)(Code) | | Message log method - hook. This default impl does nothing.
Parameters: msg - message text |
outCreateCacheFile | protected DataOutputStream outCreateCacheFile(JarXEntry entry, boolean create) throws IOException(Code) | | Create/open cache file for rewriting back to persistent storage - hook.
If create is false, cache file is supposed to exist and must be opened
for rewriting, entry.cachefile is a valid cachefile id. If create is
true, cache file must be created. entry.cachefile is a flat jarname to be
used to produce a valid cachefile id (to be put back in entry.cachefile
on exit). This default impl is part of the off-the-shelf local
file-system cache impl. Can be overriden.
|
outOpenIndex | protected DataOutputStream outOpenIndex() throws IOException(Code) | | Open cache index for writing back to persistent storage - hook. This
default impl is part of the off-the-shelf local file-system cache impl.
Can be overriden.
|
saveCache | public void saveCache()(Code) | | Write back cache index. Index persistent storage is accessed through
outOpenIndex().
|
useCacheDir | protected boolean useCacheDir(File aCachedir1)(Code) | | Initialize off-the-shelf (default) local file-system cache impl. Must be
called before
CachedJarsPackageManager.initCache . cachedir is the cache repository
directory, this is eventually created. Returns true if dir works.
|
warning | protected void warning(String warn)(Code) | | Warning log method - hook. This default impl does nothing.
Parameters: warn - warning text |
Methods inherited from org.python.core.PackageManager | abstract public void addDirectory(java.io.File dir)(Code)(Java Doc) abstract public void addJar(String jarfile, boolean cache)(Code)(Java Doc) abstract public void addJarDir(String dir, boolean cache)(Code)(Java Doc) protected PyList basicDoDir(PyJavaPackage jpkg, boolean instantiate, boolean exclpkgs)(Code)(Java Doc) protected static int checkAccess(java.io.InputStream cstream) throws java.io.IOException(Code)(Java Doc) abstract public PyList doDir(PyJavaPackage jpkg, boolean instantiate, boolean exclpkgs)(Code)(Java Doc) abstract public Class findClass(String pkg, String name, String reason)(Code)(Java Doc) public Class findClass(String pkg, String name)(Code)(Java Doc) public PyObject lookupName(String name)(Code)(Java Doc) public PyJavaPackage makeJavaPackage(String name, String classes, String jarfile)(Code)(Java Doc) protected PyList merge(PyList list1, PyList list2)(Code)(Java Doc) public void notifyPackageImport(String pkg, String name)(Code)(Java Doc) abstract public boolean packageExists(String pkg, String name)(Code)(Java Doc)
|
|
|