Class BatchInfo


  • public class BatchInfo
    extends java.lang.Object
    This is the main state of a batch import task, containing the segregated groupings of applications.

    This class also handles populating the batch groups by recursively descending into files and the contents of those files.

    • Constructor Summary

      Constructors 
      Constructor Description
      BatchInfo()
      Creates a new BatchInfo object with a default maxDepth.
      BatchInfo​(int maxDepth)
      Creates a new BatchInfo object using the specified maxDepth.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean addFile​(FSRL fsrl, TaskMonitor taskMonitor)
      Adds a file to this batch as the direct result of a user action.
      int getEnabledCount()
      Returns the count of applications in enabled BatchGroups...
      java.util.List<BatchGroup> getGroups()
      Returns a list of the BatchGroups that have been found when processing the added files.
      int getMaxDepth()
      Maximum depth of containers (ie.
      int getTotalCount()
      Returns the count of how many importable objects (ie.
      int getTotalRawCount()
      Returns the count of how many files were found while processing the source files.
      java.util.List<UserAddedSourceInfo> getUserAddedSources()
      Returns the List of files added via addFile(FSRL, TaskMonitor).
      boolean isSingleApp()
      Checks the found applications and returns true if only a single binary was found, even if multiple loaders claim it.
      void remove​(FSRL fsrl)
      Removes a user-added source file (and all the embedded files inside it) from this batch.
      void setMaxDepth​(int newMaxDepth)
      Sets a new max container recursive depth limit for this batch import
      java.lang.String toString()  
      boolean wasRecurseTerminatedEarly()
      Returns true if any of the user source files had containers that were not recursed into because of the maxDepth limit.
      • Methods inherited from class java.lang.Object

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

      • BatchInfo

        public BatchInfo()
        Creates a new BatchInfo object with a default maxDepth.
      • BatchInfo

        public BatchInfo​(int maxDepth)
        Creates a new BatchInfo object using the specified maxDepth.
        Parameters:
        maxDepth - see maxDepth.
    • Method Detail

      • getGroups

        public java.util.List<BatchGroup> getGroups()
        Returns a list of the BatchGroups that have been found when processing the added files.
        Returns:
        List of BatchGroups.
      • getTotalCount

        public int getTotalCount()
        Returns the count of how many importable objects (ie. LoadSpecs) were found.
        Returns:
        count of importable objects.
      • getTotalRawCount

        public int getTotalRawCount()
        Returns the count of how many files were found while processing the source files.
        Returns:
        count of files found while processing source files.
      • getEnabledCount

        public int getEnabledCount()
        Returns the count of applications in enabled BatchGroups... in other words, the number of objects that would be imported during this batch.
        Returns:
        count of enabled applications.
      • remove

        public void remove​(FSRL fsrl)
        Removes a user-added source file (and all the embedded files inside it) from this batch.
        Parameters:
        fsrl - FSRL of the file to remove.
      • addFile

        public boolean addFile​(FSRL fsrl,
                               TaskMonitor taskMonitor)
                        throws java.io.IOException,
                               CancelledException
        Adds a file to this batch as the direct result of a user action.

        If the file is a container for other files, this method will iterate through those child files and recursively try to add them using this method.

        Parameters:
        fsrl - FSRL of the file to add.
        taskMonitor - TaskMonitor to watch and update with progress.
        Returns:
        boolean true if something in the the file produced something to import.
        Throws:
        java.io.IOException - if io error when reading files.
        CancelledException - if user cancels.
      • wasRecurseTerminatedEarly

        public boolean wasRecurseTerminatedEarly()
        Returns true if any of the user source files had containers that were not recursed into because of the maxDepth limit.
        Returns:
        true if any of the user source files had containers that were not recursed into because of the maxDepth limit.
      • isSingleApp

        public boolean isSingleApp()
        Checks the found applications and returns true if only a single binary was found, even if multiple loaders claim it.
        Returns:
        true if single binary and batch is probably not correct importer.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getMaxDepth

        public int getMaxDepth()
        Maximum depth of containers (ie. filesystems) to recurse into when processing a file added by the user
        Returns:
        the current maximum depth of containers (ie. filesystems) to recurse into when processing a file added by the user.
      • setMaxDepth

        public void setMaxDepth​(int newMaxDepth)
        Sets a new max container recursive depth limit for this batch import

        Doing this requires rescanning all original user-added source files and stopping at the new max depth.

        Parameters:
        newMaxDepth - new value for the max depth