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
DataNode representing a Tar archive.
-
Constructor Summary
ConstructorsConstructorDescriptionTarStreamDataNode
(uk.ac.starlink.util.DataSource datsrc) Constructs a TarStreamDataNode from a DataSource. -
Method Summary
Modifier and TypeMethodDescriptionboolean
The DefaultDataNode implementation of this method returns false.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.getName()
Gets the name of this object.The DefaultDataNode implementation returns the string "...".Returns a short sentence indicating what kind of node this is.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
-
Constructor Details
-
TarStreamDataNode
Constructs a TarStreamDataNode from a DataSource.- Parameters:
datsrc
- the source- Throws:
NoSuchDataException
-
-
Method Details
-
getName
Description copied from interface:DataNode
Gets the name of this object. This is an intrinsic property of the object.- Specified by:
getName
in interfaceDataNode
- Overrides:
getName
in classDefaultDataNode
- Returns:
- the name of the object
-
getPathSeparator
Description copied from class:DefaultDataNode
Returns a default separator string.- Specified by:
getPathSeparator
in interfaceDataNode
- Overrides:
getPathSeparator
in classDefaultDataNode
- Returns:
- "."
-
getNodeTLA
Description copied from class:DefaultDataNode
The DefaultDataNode implementation returns the string "...".- Specified by:
getNodeTLA
in interfaceDataNode
- Overrides:
getNodeTLA
in classDefaultDataNode
- Returns:
- "..."
-
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 interfaceDataNode
- Overrides:
getNodeType
in classDefaultDataNode
- 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 interfaceDataNode
- Overrides:
allowsChildren
in classDefaultDataNode
- Returns:
true
if the node is of a type which can have child nodes,false
otherwise
-
getChildIterator
Description copied from class:DefaultDataNode
The DefaultDataNode implementation of this method throws UnsupportedOperationException (DefaultDataNode.allowsChildren()
is false).- Specified by:
getChildIterator
in interfaceDataNode
- Overrides:
getChildIterator
in classDefaultDataNode
- Returns:
- an
Iterator
over the children. Each object iterated over should be aDataNode
. Behaviour is undefined if this method is called on an object for whichallowsChildren
returnsfalse
.
-
getEntriesAtLevel
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 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:
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
-