Class SelectFilesOperation
- java.lang.Object
-
- org.eclipse.ui.wizards.datatransfer.SelectFilesOperation
-
- All Implemented Interfaces:
IRunnableWithProgress
- Direct Known Subclasses:
PopulateRootOperation
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 Summary
Constructors Constructor Description SelectFilesOperation(Object rootObject, IImportStructureProvider structureProvider)
Creates a newSelectFilesOperation
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected FileSystemElement
createElement(FileSystemElement parent, Object fileSystemObject)
Creates and returns aFileSystemElement
if the specified file system object merits one.protected String
getExtensionFor(String filename)
Returns the extension portion of the passed filename string.FileSystemElement
getResult()
Returns the resulting root file system element.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.void
run(IProgressMonitor monitor)
Runs the operation.void
setDesiredExtensions(String[] extensions)
Sets the file extensions which are desired.
-
-
-
Constructor Detail
-
SelectFilesOperation
public SelectFilesOperation(Object rootObject, IImportStructureProvider structureProvider)
Creates a newSelectFilesOperation
.
-
-
Method Detail
-
createElement
protected FileSystemElement createElement(FileSystemElement parent, Object fileSystemObject) throws InterruptedException
Creates and returns aFileSystemElement
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- Throws:
InterruptedException
-
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 interfaceIRunnableWithProgress
- Parameters:
monitor
- the progress monitor to use to display progress and receive requests for cancelation- Throws:
InterruptedException
- if the operation detects a request to cancel, usingIProgressMonitor.isCanceled()
, it should exit by throwingInterruptedException
- See Also:
IRunnableContext.run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress)
-
setDesiredExtensions
public void setDesiredExtensions(String[] extensions)
Sets the file extensions which are desired. A value ofnull
indicates that all files should be kept regardless of extension.
-
-