Package uk.ac.starlink.datanode.nodes
Class TarStreamDataNode
- java.lang.Object
-
- uk.ac.starlink.datanode.nodes.DefaultDataNode
-
- uk.ac.starlink.datanode.nodes.TarStreamDataNode
-
- All Implemented Interfaces:
DataNode
public class TarStreamDataNode extends DefaultDataNode
DataNode representing a Tar archive.
-
-
Constructor Summary
Constructors Constructor Description TarStreamDataNode(uk.ac.starlink.util.DataSource datsrc)Constructs a TarStreamDataNode from a DataSource.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallowsChildren()The DefaultDataNode implementation of this method returns false.java.util.IteratorgetChildIterator()The DefaultDataNode implementation of this method throws UnsupportedOperationException (DefaultDataNode.allowsChildren()is false).protected java.util.ListgetEntriesAtLevel(java.lang.String level)Returns a list of all the entries in this archive whose name starts with a given string.java.lang.StringgetName()Gets the name of this object.java.lang.StringgetNodeTLA()The DefaultDataNode implementation returns the string "...".java.lang.StringgetNodeType()Returns a short sentence indicating what kind of node this is.java.lang.StringgetPathSeparator()Returns a default separator string.static booleanisMagic(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
-
-
-
-
Constructor Detail
-
TarStreamDataNode
public TarStreamDataNode(uk.ac.starlink.util.DataSource datsrc) throws NoSuchDataExceptionConstructs a TarStreamDataNode from a DataSource.- Parameters:
datsrc- the source- Throws:
NoSuchDataException
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:DataNodeGets the name of this object. This is an intrinsic property of the object.- Specified by:
getNamein interfaceDataNode- Overrides:
getNamein classDefaultDataNode- Returns:
- the name of the object
-
getPathSeparator
public java.lang.String getPathSeparator()
Description copied from class:DefaultDataNodeReturns a default separator string.- Specified by:
getPathSeparatorin interfaceDataNode- Overrides:
getPathSeparatorin classDefaultDataNode- Returns:
- "."
-
getNodeTLA
public java.lang.String getNodeTLA()
Description copied from class:DefaultDataNodeThe DefaultDataNode implementation returns the string "...".- Specified by:
getNodeTLAin interfaceDataNode- Overrides:
getNodeTLAin classDefaultDataNode- Returns:
- "..."
-
getNodeType
public java.lang.String getNodeType()
Description copied from interface:DataNodeReturns 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:
getNodeTypein interfaceDataNode- Overrides:
getNodeTypein classDefaultDataNode- Returns:
- a short description of the type of this
DataNode
-
allowsChildren
public boolean allowsChildren()
Description copied from class:DefaultDataNodeThe DefaultDataNode implementation of this method returns false.- Specified by:
allowsChildrenin interfaceDataNode- Overrides:
allowsChildrenin classDefaultDataNode- Returns:
trueif the node is of a type which can have child nodes,falseotherwise
-
getChildIterator
public java.util.Iterator getChildIterator()
Description copied from class:DefaultDataNodeThe DefaultDataNode implementation of this method throws UnsupportedOperationException (DefaultDataNode.allowsChildren()is false).- Specified by:
getChildIteratorin interfaceDataNode- Overrides:
getChildIteratorin classDefaultDataNode- Returns:
- an
Iteratorover the children. Each object iterated over should be aDataNode. Behaviour is undefined if this method is called on an object for whichallowsChildrenreturnsfalse.
-
getEntriesAtLevel
protected java.util.List getEntriesAtLevel(java.lang.String level) throws java.io.IOExceptionReturns 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 TarArchiveEntry 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:
java.io.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
-
-