Class SelectFilesOperation

All Implemented Interfaces:
Direct Known Subclasses:

public class SelectFilesOperation extends Object implements IRunnableWithProgress
Operation responsible for traversing a specified file system position recursively and building - a tree that represents the container structure - a collection containing all files meeting a specified extension criteria This is implemented as an Operation in order to provide an escape to the user (the Cancel button) if the operation drags on for too long
  • Constructor Details

    • SelectFilesOperation

      public SelectFilesOperation(Object rootObject, IImportStructureProvider structureProvider)
      Creates a new SelectFilesOperation.
  • Method Details

    • createElement

      protected FileSystemElement createElement(FileSystemElement parent, Object fileSystemObject) throws InterruptedException
      Creates and returns a FileSystemElement if the specified file system object merits one. The criteria for this are: - if the file system object is a container then it must have either a child container or an associated file - if the file system object is a file then it must have an extension suitable for selection
    • getExtensionFor

      protected String getExtensionFor(String filename)
      Returns the extension portion of the passed filename string.
    • getResult

      public FileSystemElement getResult()
      Returns the resulting root file system element.
    • hasDesiredExtension

      protected boolean hasDesiredExtension(String filename)
      Returns a boolean indicating whether the extension of the passed filename is one of the extensions specified as desired by the filter.
    • run

      public void run(IProgressMonitor monitor) throws InterruptedException
      Runs the operation.
      Specified by:
      run in interface IRunnableWithProgress
      monitor - the progress monitor to use to display progress and receive requests for cancelation
      InterruptedException - if the operation detects a request to cancel, using IProgressMonitor.isCanceled(), it should exit by throwing InterruptedException
      See Also:
    • setDesiredExtensions

      public void setDesiredExtensions(String[] extensions)
      Sets the file extensions which are desired. A value of null indicates that all files should be kept regardless of extension.