jetbrains.buildServer.util.browser
Class FileSystemBrowser.FileElement

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

public static class FileSystemBrowser.FileElement
extends java.lang.Object
implements Element


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

Constructor Detail

FileSystemBrowser.FileElement

public FileSystemBrowser.FileElement(@NotNull
                                     java.io.File file)
Method Detail

getName

@NotNull
public java.lang.String getName()
Description copied from interface: Element
Returns the element's name.

Specified by:
getName in interface Element
Returns:
name

getFullName

@NotNull
public java.lang.String getFullName()
Description copied from interface: Element
Returns the unique full name of the element (from the root).

Specified by:
getFullName in interface Element
Returns:
full element name

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
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
Returns:
the list of children, or null

getFile

@NotNull
public java.io.File getFile()

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
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
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
Returns:
content size
Throws:
java.lang.IllegalStateException - if the content size is not available

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object