uk.ac.starlink.datanode.nodes
Class TarStreamDataNode

java.lang.Object
  extended by uk.ac.starlink.datanode.nodes.DefaultDataNode
      extended by uk.ac.starlink.datanode.nodes.TarStreamDataNode
All Implemented Interfaces:
DataNode

public class TarStreamDataNode
extends DefaultDataNode

DataNode representing a Tar archive.


Constructor Summary
TarStreamDataNode(DataSource datsrc)
          Constructs a TarStreamDataNode from a DataSource.
 
Method Summary
 boolean allowsChildren()
          The DefaultDataNode implementation of this method returns false.
 Iterator getChildIterator()
          The DefaultDataNode implementation of this method throws UnsupportedOperationException (DefaultDataNode.allowsChildren() is false).
protected  List getEntriesAtLevel(String level)
          Returns a list of all the entries in this archive whose name starts with a given string.
 String getName()
          Gets the name of this object.
 String getNodeTLA()
          The DefaultDataNode implementation returns the string "...".
 String getNodeType()
          Returns a short sentence indicating what kind of node this is.
 String getPathSeparator()
          Returns a default separator string.
static boolean isMagic(byte[] magic)
          Indicates whether the given bytes look like the start of a tar archive.
 
Methods inherited from class uk.ac.starlink.datanode.nodes.DefaultDataNode
beep, configureDetail, getChildMaker, getCreator, getDataObject, getDescription, getIcon, getLabel, getParentObject, getPathElement, hasDataObject, makeChild, makeErrorChild, registerDataObject, setChildMaker, setCreator, setDescription, setIconID, setLabel, setName, setParentObject, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TarStreamDataNode

public TarStreamDataNode(DataSource datsrc)
                  throws NoSuchDataException
Constructs a TarStreamDataNode from a DataSource.

Parameters:
datsrc - the source
Throws:
NoSuchDataException
Method Detail

getName

public String getName()
Description copied from interface: DataNode
Gets the name of this object. This is an intrinsic property of the object.

Specified by:
getName in interface DataNode
Overrides:
getName in class DefaultDataNode
Returns:
the name of the object

getPathSeparator

public String getPathSeparator()
Description copied from class: DefaultDataNode
Returns a default separator string.

Specified by:
getPathSeparator in interface DataNode
Overrides:
getPathSeparator in class DefaultDataNode
Returns:
"."

getNodeTLA

public String getNodeTLA()
Description copied from class: DefaultDataNode
The DefaultDataNode implementation returns the string "...".

Specified by:
getNodeTLA in interface DataNode
Overrides:
getNodeTLA in class DefaultDataNode
Returns:
"..."

getNodeType

public String getNodeType()
Description copied from interface: DataNode
Returns a short sentence indicating what kind of node this is. The return value should be just a few words. As a rough guideline it should indicate what the implementing class is.

Specified by:
getNodeType in interface DataNode
Overrides:
getNodeType in class DefaultDataNode
Returns:
a short description of the type of this DataNode

allowsChildren

public boolean allowsChildren()
Description copied from class: DefaultDataNode
The DefaultDataNode implementation of this method returns false.

Specified by:
allowsChildren in interface DataNode
Overrides:
allowsChildren in class DefaultDataNode
Returns:
true if the node is of a type which can have child nodes, false otherwise

getChildIterator

public Iterator getChildIterator()
Description copied from class: DefaultDataNode
The DefaultDataNode implementation of this method throws UnsupportedOperationException (DefaultDataNode.allowsChildren() is false).

Specified by:
getChildIterator in interface DataNode
Overrides:
getChildIterator in class DefaultDataNode
Returns:
an Iterator over the children. Each object iterated over should be a DataNode. Behaviour is undefined if this method is called on an object for which allowsChildren returns false.

getEntriesAtLevel

protected List getEntriesAtLevel(String level)
                          throws IOException
Returns a list of all the entries in this archive whose name starts with a given string.

Parameters:
level - the required prefix
Returns:
a list of all the TarEntry objects in this archive whose names begin with level. They appear in the list in the same order as they appear in the archive
Throws:
IOException

isMagic

public static boolean isMagic(byte[] magic)
Indicates whether the given bytes look like the start of a tar archive.

Parameters:
magic - a buffer of bytes containing at least the first 264 bytes of a potential tar stream
Returns:
true if magic looks like the start of a tar stream


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.