Class FileSystemBrowser.DirectoryElement

    • Constructor Detail

      • DirectoryElement

        public DirectoryElement​(@NotNull
                                Browser browser,
                                @NotNull
                                java.io.File file,
                                @NotNull
                                java.io.File root)
    • Method Detail

      • isLeaf

        public boolean isLeaf()
        Description copied from interface: Element
        Returns whether the element is a leaf, i.e. cannot have child nodes.
        Specified by:
        isLeaf in interface Element
        Overrides:
        isLeaf in class FileSystemBrowser.FileElement
        Returns:
        true if the element is a leaf
      • getChildren

        public java.lang.Iterable<Element> getChildren()
                                                throws BrowserException
        Description copied from interface: Element
        Returns the ordered list of element's children. Method should return null for a leaf element, and a not null instance for other elements. List can be empty. All children's names are different.
        Specified by:
        getChildren in interface Element
        Overrides:
        getChildren in class FileSystemBrowser.FileElement
        Returns:
        the list of children, or null
        Throws:
        BrowserException - in case of an error
      • isContentAvailable

        public boolean isContentAvailable()
        Description copied from interface: Element
        Returns whether the content is available for the element. The content is usually available for leaf elements and not available for non-leaf ones. If it's not, the call getInputStream() method will result in exception.
        Specified by:
        isContentAvailable in interface Element
        Overrides:
        isContentAvailable in class FileSystemBrowser.FileElement
        Returns:
        true iff the content is available
      • getInputStream

        @NotNull
        public java.io.InputStream getInputStream()
                                           throws java.lang.IllegalStateException,
                                                  java.io.IOException
        Description copied from interface: Element
        Returns the input stream of the element content. The caller is responsible for closing the stream at the end.

        If the content is not available for the element (see Element.isContentAvailable()), an exception is thrown.

        Specified by:
        getInputStream in interface Element
        Overrides:
        getInputStream in class FileSystemBrowser.FileElement
        Returns:
        content input stream
        Throws:
        java.lang.IllegalStateException - if the content is not available
        java.io.IOException - if the input cannot be provided due to I/O error
      • getSize

        public long getSize()
                     throws java.lang.IllegalStateException
        Description copied from interface: Element
        Returns the size of the element content.

        If the content is not available for the element (see Element.isContentAvailable()) or due to performance reasons a negative value may be returned. Though some implementations can provide the content size, while the content is not available.

        Specified by:
        getSize in interface Element
        Overrides:
        getSize in class FileSystemBrowser.FileElement
        Returns:
        content size or negative value when unavailable
        Throws:
        java.lang.IllegalStateException