Class 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 Detail

      • 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 Detail

      • 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