Class FileSystemBrowser.FileElement
- java.lang.Object
-
- jetbrains.buildServer.util.browser.FileSystemBrowser.FileElement
-
- All Implemented Interfaces:
Element
- Direct Known Subclasses:
FileSystemBrowser.DirectoryElement
- Enclosing class:
- FileSystemBrowser
public static class FileSystemBrowser.FileElement extends Object implements Element
-
-
Constructor Summary
Constructors Constructor Description FileElement(Browser browser, File file, File root)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
Browser
getBrowser()
Iterable<Element>
getChildren()
Returns the ordered list of element's children.File
getFile()
String
getFullName()
Returns the unique full name of the element (relative to the root).InputStream
getInputStream()
Returns the input stream of the element content.Date
getLastModifiedTimestamp()
Returns the last modification timestamp of the element when availableString
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.String
toString()
-
-
-
Method Detail
-
getName
@NotNull public String getName()
Description copied from interface:Element
Returns the element's name.
-
getFullName
@NotNull public String getFullName()
Description copied from interface:Element
Returns the unique full name of the element (relative to the root).- Specified by:
getFullName
in interfaceElement
- 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.
-
getChildren
public Iterable<Element> getChildren()
Description copied from interface:Element
Returns the ordered list of element's children. Method should returnnull
for a leaf element, and a notnull
instance for other elements. List can be empty. All children's names are different.- Specified by:
getChildren
in interfaceElement
- Returns:
- the list of children, or null
-
getFile
@NotNull public 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 callgetInputStream()
method will result in exception.- Specified by:
isContentAvailable
in interfaceElement
- Returns:
- true iff the content is available
-
getInputStream
@NotNull public InputStream getInputStream() throws IllegalStateException, 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 interfaceElement
- Returns:
- content input stream
- Throws:
IllegalStateException
- if the content is not availableIOException
- if the input cannot be provided due to I/O error
-
getSize
public long getSize() throws 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 interfaceElement
- Returns:
- content size or negative value when unavailable
- Throws:
IllegalStateException
-
getBrowser
@NotNull public Browser getBrowser()
- Specified by:
getBrowser
in interfaceElement
- Returns:
- browser created this element
-
getLastModifiedTimestamp
@Nullable public Date getLastModifiedTimestamp()
Description copied from interface:Element
Returns the last modification timestamp of the element when available- Specified by:
getLastModifiedTimestamp
in interfaceElement
- Returns:
- last modification timestamp of the element or
null
if the underlying resource doesn't exist or the underlying resource doesn't provide the modification timestamps
-
-