Class Parser

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class Parser
    extends java.lang.Object
    implements java.io.Closeable
    Parse jar files or directories and create the model for any classes found.
    • Field Detail

      • DEFAULT_WAIT_SYSPROP

        public static final java.lang.String DEFAULT_WAIT_SYSPROP
        See Also:
        Constant Field Values
      • processedURI

        private final java.util.Map<java.lang.String,​Types> processedURI
      • futures

        private final java.util.Stack<java.util.concurrent.Future<Parser.Result>> futures
      • executorService

        private final java.util.concurrent.ExecutorService executorService
      • ownES

        private final boolean ownES
      • lock

        private final java.util.concurrent.locks.ReadWriteLock lock
      • DEFAULT_TIMEOUT

        private final int DEFAULT_TIMEOUT
    • Method Detail

      • awaitTermination

        public java.lang.Exception[] awaitTermination()
                                               throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • awaitTermination

        public java.lang.Exception[] awaitTermination​(int timeOut,
                                                      java.util.concurrent.TimeUnit unit)
                                               throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • getDefiningURI

        private static java.net.URI getDefiningURI​(java.io.File file)
      • getFilePath

        private static java.io.File getFilePath​(java.lang.String path,
                                                java.lang.String resourceName)
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
      • parse

        public void parse​(java.io.File source,
                          java.lang.Runnable doneHook)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • createArchiveAdapter

        private ArchiveAdapter createArchiveAdapter​(java.io.File source,
                                                    java.lang.Runnable doneHook)
                                             throws java.io.IOException
        Throws:
        java.io.IOException
      • parse

        public java.util.concurrent.Future<Parser.Result> parse​(ArchiveAdapter source,
                                                                java.lang.Runnable doneHook)
                                                         throws java.io.IOException
        Parse the archive adapter entries and run the runnable hook on completion.
        Parameters:
        source - the archive adapter to parse
        doneHook - the runnable hook to run after completion
        Returns:
        the future object to monitor the result of the parsing.
        Throws:
        java.io.IOException - thrown by the source archive adapter when accessing entries
      • getResult

        private Types getResult​(java.net.URI uri)
      • saveResult

        private void saveResult​(java.net.URI uri,
                                Types types)
      • doJob

        private void doJob​(ArchiveAdapter adapter,
                           java.lang.Runnable doneHook)
                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getContext

        public ParsingContext getContext()
        Returns the context this parser instance was initialized with during the call to Parser(ParsingContext)
        Returns:
        the parsing context this parser uses to store the parsing activities results.
      • createExecutorService

        private java.util.concurrent.ExecutorService createExecutorService()