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 TypeMethodDescriptionbooleanTheDefaultDataNodeimplementation of this method returnsfalse.TheDefaultDataNodeimplementation of this method throwsUnsupportedOperationException(DefaultDataNode.allowsChildren()is false).protected ListgetEntriesAtLevel(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.TheDefaultDataNodeimplementation returns the string "...".Returns a short sentence indicating what kind of node this is.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 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
-
getPathSeparator
Description copied from class:DefaultDataNodeReturns a default separator string.- Specified by:
getPathSeparatorin interfaceDataNode- Overrides:
getPathSeparatorin classDefaultDataNode- Returns:
- "."
-
getNodeTLA
Description copied from class:DefaultDataNodeTheDefaultDataNodeimplementation returns the string "...".- Specified by:
getNodeTLAin interfaceDataNode- Overrides:
getNodeTLAin classDefaultDataNode- Returns:
- "..."
-
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:DefaultDataNodeTheDefaultDataNodeimplementation of this method returnsfalse.- Specified by:
allowsChildrenin interfaceDataNode- Overrides:
allowsChildrenin classDefaultDataNode- Returns:
trueif the node is of a type which can have child nodes,falseotherwise
-
getChildIterator
Description copied from class:DefaultDataNodeTheDefaultDataNodeimplementation of this method throwsUnsupportedOperationException(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
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
TarArchiveEntryobjects in this archive whose names begin withlevel. 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
magiclooks like the start of a tar stream
-