Class FileSystemElement

java.lang.Object
org.eclipse.ui.dialogs.FileSystemElement
All Implemented Interfaces:
IAdaptable

public class FileSystemElement extends Object implements IAdaptable
Instances of this class represent files or file-like entities (eg.- zip file entries) on the local file system. They do not represent resources within the workbench. This distinction is made because the representation of a file system resource is significantly different from that of a workbench resource. If self represents a collection (eg.- file system directory, zip directory) then its icon will be the folderIcon static field. Otherwise (ie.- self represents a file system file) self's icon is stored in field "icon", and is determined by the extension of the file that self represents. This class is adaptable, and implements one adapter itself, namely the IWorkbenchAdapter adapter used for navigation and display in the workbench.
  • Constructor Details

    • FileSystemElement

      public FileSystemElement(String name, FileSystemElement parent, boolean isDirectory)
      Creates a new FileSystemElement and initializes it and its parent if applicable.
      Parameters:
      name - The name of the element
      parent - The parent element. May be null
      isDirectory - if true this is representing a directory, otherwise it is a file.
  • Method Details

    • addChild

      public void addChild(FileSystemElement child)
      Adds the passed child to this object's collection of children.
      Parameters:
      child - FileSystemElement
    • getAdapter

      public <T> T getAdapter(Class<T> adapter)
      Returns the adapter
      Specified by:
      getAdapter in interface IAdaptable
      Type Parameters:
      T - the class type
      Parameters:
      adapter - the adapter class to look up
      Returns:
      a object of the given class, or null if this object does not have an adapter for the given class
    • getFileNameExtension

      public String getFileNameExtension()
      Returns the extension of this element's filename.
      Returns:
      The extension or an empty string if there is no extension.
    • getFiles

      public AdaptableList getFiles()
      Answer the files property of this element. Answer an empty list if the files property is null. This method should not be used to add children to the receiver. Use addChild(FileSystemElement) instead.
      Returns:
      AdaptableList The list of files parented by the receiver.
    • getFileSystemObject

      public Object getFileSystemObject()
      Returns the file system object property of this element
      Returns:
      the file system object
    • getFolders

      public AdaptableList getFolders()
      Returns a list of the folders that are immediate children of this folder. Answer an empty list if the folders property is null. This method should not be used to add children to the receiver. Use addChild(FileSystemElement) instead.
      Returns:
      AdapatableList The list of folders parented by the receiver.
    • getParent

      public FileSystemElement getParent()
      Return the parent of this element.
      Returns:
      the parent file system element, or null if this is the root
    • isDirectory

      public boolean isDirectory()
      Returns:
      boolean true if this element represents a directory, and false otherwise.
    • removeFolder

      public void removeFolder(FileSystemElement child)
      Removes a sub-folder from this file system element.
      Parameters:
      child - The child to remove.
    • setFileSystemObject

      public void setFileSystemObject(Object value)
      Set the file system object property of this element
      Parameters:
      value - the file system object
    • setParent

      public void setParent(FileSystemElement element)
      Sets the parent of this file system element.
      Parameters:
      element - The new parent.
    • toString

      public String toString()
      For debugging purposes only.
      Overrides:
      toString in class Object