weka.core
Class ClassCache

java.lang.Object
  extended by weka.core.ClassCache
All Implemented Interfaces:
RevisionHandler

public class ClassCache
extends Object
implements RevisionHandler

A singleton that stores all classes on the classpath.

Version:
$Revision: 8034 $
Author:
fracpete (fracpete at waikato dot ac dot nz)

Nested Class Summary
static class ClassCache.ClassFileFilter
          For filtering classes.
static class ClassCache.DirectoryFilter
          For filtering classes.
 
Field Summary
static String DEFAULT_PACKAGE
          the key for the default package.
static boolean VERBOSE
          whether to output some debug information.
 
Constructor Summary
ClassCache()
          Initializes the cache.
 
Method Summary
 boolean add(String classname)
          Adds the classname to the cache.
 ArrayList<String> find(String matchText)
          Find all classes that have the supplied matchText String in their suffix.
 HashSet<String> getClassnames(String pkgname)
          Returns all the classes for the given package.
 String getRevision()
          Returns the revision string.
static void main(String[] args)
          For testing only.
 Enumeration<String> packages()
          Returns all the stored packages.
 boolean remove(String classname)
          Removes the classname from the cache.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERBOSE

public static final boolean VERBOSE
whether to output some debug information.

See Also:
Constant Field Values

DEFAULT_PACKAGE

public static final String DEFAULT_PACKAGE
the key for the default package.

See Also:
Constant Field Values
Constructor Detail

ClassCache

public ClassCache()
Initializes the cache.

Method Detail

add

public boolean add(String classname)
Adds the classname to the cache.

Parameters:
classname - the classname, automatically removes ".class" and turns "/" or "\" into "."
Returns:
true if adding changed the cache

remove

public boolean remove(String classname)
Removes the classname from the cache.

Parameters:
classname - the classname to remove
Returns:
true if the removal changed the cache

packages

public Enumeration<String> packages()
Returns all the stored packages.

Returns:
the package names

getClassnames

public HashSet<String> getClassnames(String pkgname)
Returns all the classes for the given package.

Parameters:
pkgname - the package to get the classes for
Returns:
the classes (sorted by name)

find

public ArrayList<String> find(String matchText)
Find all classes that have the supplied matchText String in their suffix.

Parameters:
matchText - the text to match
Returns:
an array list of matching fully qualified class names.

getRevision

public String getRevision()
Returns the revision string.

Specified by:
getRevision in interface RevisionHandler
Returns:
the revision

main

public static void main(String[] args)
For testing only.

Parameters:
args - ignored


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.