Class DiscoverSourceDirectories


  • public class DiscoverSourceDirectories
    extends java.lang.Object
    Based on the contents of the application directories/archives in a Project, and a "root" source directory (under which some number of "real" source directories may be located), scan to find the source directories containing the application's source files.
    Author:
    David Hovemeyer
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  DiscoverSourceDirectories.Progress
      Progress callback interface for reporting the progress of source directory discovery.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void execute()
      Execute the search for source directories.
      java.util.List<java.lang.String> getDiscoveredSourceDirectoryList()
      Get the list of discovered source directories.
      static void main​(java.lang.String[] args)
      Just for testing.
      void setErrorLogger​(IErrorLogger errorLogger)
      Set the error logger to use to report errors during scanning.
      void setProgress​(DiscoverSourceDirectories.Progress progress)
      Set the progress callback to which scanning progress should be reported.
      void setProject​(Project project)
      Set the Project for which we want to find source directories.
      void setRootSourceDirectory​(java.lang.String rootSourceDirectory)
      Set the "root" source directory: we expect all of the actual source directories to be underneath it.
      void setScanForNestedArchives​(boolean scanForNestedArchives)
      Set whether or not to scan the project for nested archives (i.e., if there is a WAR or EAR file that contains jar files inside it.) Default is false.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DiscoverSourceDirectories

        public DiscoverSourceDirectories()
        Constructor.
    • Method Detail

      • setProject

        public void setProject​(Project project)
        Set the Project for which we want to find source directories.
        Parameters:
        project - Project for which we want to find source directories
      • setRootSourceDirectory

        public void setRootSourceDirectory​(java.lang.String rootSourceDirectory)
        Set the "root" source directory: we expect all of the actual source directories to be underneath it.
        Parameters:
        rootSourceDirectory - the root source directory
      • setScanForNestedArchives

        public void setScanForNestedArchives​(boolean scanForNestedArchives)
        Set whether or not to scan the project for nested archives (i.e., if there is a WAR or EAR file that contains jar files inside it.) Default is false.
        Parameters:
        scanForNestedArchives - true if nested archives should be scanned, false otherwise
      • setErrorLogger

        public void setErrorLogger​(IErrorLogger errorLogger)
        Set the error logger to use to report errors during scanning. By default, a no-op error logger is used.
        Parameters:
        errorLogger - error logger to use to report errors during scanning
      • setProgress

        public void setProgress​(DiscoverSourceDirectories.Progress progress)
        Set the progress callback to which scanning progress should be reported.
        Parameters:
        progress - the progress callback
      • getDiscoveredSourceDirectoryList

        public java.util.List<java.lang.String> getDiscoveredSourceDirectoryList()
        Get the list of discovered source directories. These can be added to a Project.
        Returns:
        list of discovered source directories.
      • execute

        public void execute()
                     throws CheckedAnalysisException,
                            java.io.IOException,
                            java.lang.InterruptedException
        Execute the search for source directories.
        Throws:
        CheckedAnalysisException
        java.io.IOException
        java.lang.InterruptedException
      • main

        public static void main​(java.lang.String[] args)
                         throws java.io.IOException,
                                CheckedAnalysisException,
                                java.lang.InterruptedException
        Just for testing.
        Throws:
        java.io.IOException
        CheckedAnalysisException
        java.lang.InterruptedException