Package weka.core

Class ClassCache

  • All Implemented Interfaces:
    RevisionHandler

    public class ClassCache
    extends Object
    implements RevisionHandler
    A singleton that stores all classes on the classpath.
    Version:
    $Revision$
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    • Field Detail

      • VERBOSE

        public static final boolean VERBOSE
        whether to output some debug information.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ClassCache

        public ClassCache()
        Initializes the cache.
    • Method Detail

      • cleanUp

        public static String cleanUp​(String classname)
        Fixes the classname, turns "/" and "\" into "." and removes ".class".
        Parameters:
        classname - the classname to process
        Returns:
        the processed classname
      • extractPackage

        public static String extractPackage​(String classname)
        Extracts the package name from the (clean) classname.
        Parameters:
        classname - the classname to extract the package from
        Returns:
        the package name
      • 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.
      • main

        public static void main​(String[] args)
        For testing only.
        Parameters:
        args - ignored