jetbrains.buildServer.util.browser
Class FileSystemBrowser.DirectoryElement

java.lang.Object
  extended by jetbrains.buildServer.util.browser.FileSystemBrowser.FileElement
      extended by jetbrains.buildServer.util.browser.FileSystemBrowser.DirectoryElement
All Implemented Interfaces:
Element
Enclosing class:
FileSystemBrowser

public static class FileSystemBrowser.DirectoryElement
extends FileSystemBrowser.FileElement


Constructor Summary
FileSystemBrowser.DirectoryElement(java.io.File file)
           
 
Method Summary
 java.lang.Iterable<Element> getChildren()
          Returns the ordered list of element's children.
 java.io.InputStream getInputStream()
          Returns the input stream of the element content.
 long getSize()
          Returns the size of the element content.
 boolean isContentAvailable()
          Returns whether the content is available for the element.
 boolean isLeaf()
          Returns whether the element is a leaf, i.e.
 
Methods inherited from class jetbrains.buildServer.util.browser.FileSystemBrowser.FileElement
equals, getFile, getFullName, getName, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FileSystemBrowser.DirectoryElement

public FileSystemBrowser.DirectoryElement(@NotNull
                                          java.io.File file)
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 iff the element is a leaf

getChildren

public java.lang.Iterable<Element> getChildren()
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

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()), an exception may be thrown, 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
Throws:
java.lang.IllegalStateException - if the content size is not available