Package weka.core

Class ClassDiscovery

  • All Implemented Interfaces:
    RevisionHandler

    public class ClassDiscovery
    extends java.lang.Object
    implements RevisionHandler
    This class is used for discovering classes that implement a certain interface or a derived from a certain class.
    Version:
    $Revision: 14293 $
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    ClassDiscovery.StringCompare
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static boolean VERBOSE
      whether to output some debug information.
    • Constructor Summary

      Constructors 
      Constructor Description
      ClassDiscovery()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void clearCache()
      clears the cache for class/classnames queries.
      static void clearClassCache()
      Calls clearCache() and resets the cache of classes on the classpath (i.e.
      static java.util.Vector<java.lang.String> find​(java.lang.Class<?> cls, java.lang.String pkgname)
      Checks the given package for classes that inherited from the given class, in case it's a class, or implement this class, in case it's an interface.
      static java.util.Vector<java.lang.String> find​(java.lang.Class<?> cls, java.lang.String[] pkgnames)
      Checks the given packages for classes that inherited from the given class, in case it's a class, or implement this class, in case it's an interface.
      static java.util.ArrayList<java.lang.String> find​(java.lang.String matchText)
      Find all classes that have the supplied matchText String in their suffix.
      static java.util.Vector<java.lang.String> find​(java.lang.String classname, java.lang.String pkgname)
      Checks the given package for classes that inherited from the given class, in case it's a class, or implement this class, in case it's an interface.
      static java.util.Vector<java.lang.String> find​(java.lang.String classname, java.lang.String[] pkgnames)
      Checks the given packages for classes that inherited from the given class, in case it's a class, or implement this class, in case it's an interface.
      static java.util.Vector<java.lang.String> findPackages()
      Lists all packages it can find in the classpath.
      java.lang.String getRevision()
      Returns the revision string.
      static void main​(java.lang.String[] args)
      Possible calls: weka.core.ClassDiscovery <packages>
      Prints all the packages in the current classpath weka.core.ClassDiscovery <classname> <packagename(s)>
      Prints the classes it found.
      • 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
    • Constructor Detail

      • ClassDiscovery

        public ClassDiscovery()
    • Method Detail

      • find

        public static java.util.Vector<java.lang.String> find​(java.lang.String classname,
                                                              java.lang.String[] pkgnames)
        Checks the given packages for classes that inherited from the given class, in case it's a class, or implement this class, in case it's an interface.
        Parameters:
        classname - the class/interface to look for
        pkgnames - the packages to search in
        Returns:
        a list with all the found classnames
      • find

        public static java.util.Vector<java.lang.String> find​(java.lang.String classname,
                                                              java.lang.String pkgname)
        Checks the given package for classes that inherited from the given class, in case it's a class, or implement this class, in case it's an interface.
        Parameters:
        classname - the class/interface to look for
        pkgname - the package to search in
        Returns:
        a list with all the found classnames
      • find

        public static java.util.Vector<java.lang.String> find​(java.lang.Class<?> cls,
                                                              java.lang.String[] pkgnames)
        Checks the given packages for classes that inherited from the given class, in case it's a class, or implement this class, in case it's an interface.
        Parameters:
        cls - the class/interface to look for
        pkgnames - the packages to search in
        Returns:
        a list with all the found classnames
      • find

        public static java.util.ArrayList<java.lang.String> find​(java.lang.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.
      • find

        public static java.util.Vector<java.lang.String> find​(java.lang.Class<?> cls,
                                                              java.lang.String pkgname)
        Checks the given package for classes that inherited from the given class, in case it's a class, or implement this class, in case it's an interface.
        Parameters:
        cls - the class/interface to look for
        pkgname - the package to search in
        Returns:
        a list with all the found classnames
      • findPackages

        public static java.util.Vector<java.lang.String> findPackages()
        Lists all packages it can find in the classpath.
        Returns:
        a list with all the found packages
      • clearCache

        public static void clearCache()
        clears the cache for class/classnames queries.
      • clearClassCache

        public static void clearClassCache()
        Calls clearCache() and resets the cache of classes on the classpath (i.e. forces a rescan of the classpath).
      • getRevision

        public java.lang.String getRevision()
        Returns the revision string.
        Specified by:
        getRevision in interface RevisionHandler
        Returns:
        the revision
      • main

        public static void main​(java.lang.String[] args)
        Possible calls:
        • weka.core.ClassDiscovery <packages>
          Prints all the packages in the current classpath
        • weka.core.ClassDiscovery <classname> <packagename(s)>
          Prints the classes it found.
        Parameters:
        args - the commandline arguments