Package weka.core

Class ClassDiscovery

java.lang.Object
weka.core.ClassDiscovery
All Implemented Interfaces:
RevisionHandler

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

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    compares two strings.
  • Field Summary

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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    clears the cache for class/classnames relation.
    static Vector
    find(Class cls, 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 Vector
    find(Class cls, 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 Vector
    find(String classname, 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 Vector
    find(String classname, 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 Vector
    Lists all packages it can find in the classpath.
    Returns the revision string.
    static boolean
    hasInterface(Class intf, Class cls)
    Checks whether the given class implements the given interface.
    static boolean
    Checks whether the given class implements the given interface.
    static boolean
    isSubclass(Class superclass, Class otherclass)
    Checks whether the "otherclass" is a subclass of the given "superclass".
    static boolean
    isSubclass(String superclass, String otherclass)
    Checks whether the "otherclass" is a subclass of the given "superclass".
    static void
    main(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 Details

    • VERBOSE

      public static final boolean VERBOSE
      whether to output some debug information.
      See Also:
  • Constructor Details

    • ClassDiscovery

      public ClassDiscovery()
  • Method Details

    • isSubclass

      public static boolean isSubclass(String superclass, String otherclass)
      Checks whether the "otherclass" is a subclass of the given "superclass".
      Parameters:
      superclass - the superclass to check against
      otherclass - this class is checked whether it is a subclass of the the superclass
      Returns:
      TRUE if "otherclass" is a true subclass
    • isSubclass

      public static boolean isSubclass(Class superclass, Class otherclass)
      Checks whether the "otherclass" is a subclass of the given "superclass".
      Parameters:
      superclass - the superclass to check against
      otherclass - this class is checked whether it is a subclass of the the superclass
      Returns:
      TRUE if "otherclass" is a true subclass
    • hasInterface

      public static boolean hasInterface(String intf, String cls)
      Checks whether the given class implements the given interface.
      Parameters:
      intf - the interface to look for in the given class
      cls - the class to check for the interface
      Returns:
      TRUE if the class contains the interface
    • hasInterface

      public static boolean hasInterface(Class intf, Class cls)
      Checks whether the given class implements the given interface.
      Parameters:
      intf - the interface to look for in the given class
      cls - the class to check for the interface
      Returns:
      TRUE if the class contains the interface
    • find

      public static Vector find(String classname, 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 Vector find(String classname, 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 Vector find(Class cls, 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 Vector find(Class cls, 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 Vector 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 relation.
    • getRevision

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

      public static void main(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