Class JavaSourceCollector

  • All Implemented Interfaces:
    SourceCollector

    public class JavaSourceCollector
    extends Object
    implements SourceCollector
    The class collects all class-files and loads the class objects named by these files.
    • Constructor Detail

      • JavaSourceCollector

        public JavaSourceCollector​(File startDirectory)
        Creates a new source collector.
        Parameters:
        startDirectory - the start directory.
      • JavaSourceCollector

        public JavaSourceCollector​(File startDirectory,
                                   String packageName)
        Creates a new source collector.
        Parameters:
        startDirectory - the base directory.
        packageName - the base package name.
    • Method Detail

      • addIgnoredPackage

        public void addIgnoredPackage​(String pkg)
        Adds a package that should be ignored.
        Parameters:
        pkg - the package name.
      • addIgnoredBaseClass

        public void addIgnoredBaseClass​(String baseClass)
        Adds a base class that should be ignored.
        Parameters:
        baseClass - the base class name.
      • addIgnoredBaseClass

        public void addIgnoredBaseClass​(Class baseClass)
        Adds a class to the list of ignored base classes.
        Parameters:
        baseClass - the class.
      • isIgnoredPackage

        protected boolean isIgnoredPackage​(String classname)
        Returns true if the named class is being ignored (because of the package that it belongs to), and false otherwise.
        Parameters:
        classname - the name of the class to test.
        Returns:
        A boolean.
      • isIgnoredBaseClass

        protected boolean isIgnoredBaseClass​(Class c)
        Returns true if the named class is being ignored (because it is a descendant of an ignored base class), and false otherwise.
        Parameters:
        c - the class name.
        Returns:
        A boolean.
      • collectFiles

        public void collectFiles()
        Collects the files/classes.
      • collectFiles

        protected void collectFiles​(File directory,
                                    String packageName)
        Collects the files/classes.
        Parameters:
        directory - the starting directory.
        packageName - the initial package name.
      • loadClass

        protected Class loadClass​(String name)
        Loads a class by its fully qualified name.
        Parameters:
        name - the class name.
        Returns:
        The class (or null if there was a problem loading the class).
      • buildJavaName

        protected String buildJavaName​(String packageName,
                                       String newPackage)
        Creates a fully qualified Java class or package name.
        Parameters:
        packageName - the base package name.
        newPackage - the class/package name.
        Returns:
        The fully qualified package/class name.
      • getClasses

        public Class[] getClasses()
        Returns the list of classes as an array.
        Specified by:
        getClasses in interface SourceCollector
        Returns:
        The list of classes.