public abstract class ZipArchiveDataNode extends DefaultDataNode
ZipFileDataNode
and ZipStreamDataNode
.Modifier | Constructor and Description |
---|---|
protected |
ZipArchiveDataNode(uk.ac.starlink.util.DataSource datsrc)
Constructs a ZipArchiveDataNode.
|
Modifier and Type | Method and Description |
---|---|
boolean |
allowsChildren()
The DefaultDataNode implementation of this method returns
false.
|
java.util.Iterator |
getChildIterator()
The DefaultDataNode implementation of this method throws
UnsupportedOperationException
(
DefaultDataNode.allowsChildren() is false). |
protected abstract java.util.Iterator |
getChildIteratorAtLevel(java.lang.String level,
DataNode parent)
Returns an iterator over the DataNodes at a given level in the
hierarchy of this archive.
|
protected abstract java.util.List |
getEntries()
Returns a list of all the ZipEntry objects in
this zip archive.
|
protected java.util.List |
getEntriesAtLevel(java.lang.String level)
Returns all the ZipEntry objects in this archive at a given level
in the hierarchy.
|
java.lang.String |
getName()
Gets the name of this object.
|
java.lang.String |
getNodeTLA()
Returns the string "ZIP".
|
java.lang.String |
getNodeType()
Returns a short sentence indicating what kind of node this is.
|
java.lang.String |
getPathSeparator()
Returns a default separator string.
|
static boolean |
isMagic(byte[] magic)
Tests whether the presented byte array looks like the start of a
Zip archive.
|
beep, configureDetail, getChildMaker, getCreator, getDataObject, getDescription, getIcon, getLabel, getParentObject, getPathElement, hasDataObject, makeChild, makeErrorChild, registerDataObject, setChildMaker, setCreator, setDescription, setIconID, setLabel, setName, setParentObject, toString
protected ZipArchiveDataNode(uk.ac.starlink.util.DataSource datsrc) throws NoSuchDataException
datsrc
- a data source corresponding to the archive; this is
used for checking the magic number to see whether it looks
like a zip archive or notNoSuchDataException
protected abstract java.util.List getEntries() throws java.io.IOException
ZipEntry
objects
which make up this zip archive.java.io.IOException
protected abstract java.util.Iterator getChildIteratorAtLevel(java.lang.String level, DataNode parent) throws java.io.IOException
level
- the required starting substring of the name of all
ZipEntries to be represented in the resultparent
- the DataNode whose children the resulting nodes will beDataNode
objects corresponding to
the ZipEntry objects specified by leveljava.io.IOException
public static boolean isMagic(byte[] magic)
magic
- a byte array containing the
first few bytes of a source which might be a zippublic java.lang.String getName()
DataNode
getName
in interface DataNode
getName
in class DefaultDataNode
public java.lang.String getPathSeparator()
DefaultDataNode
getPathSeparator
in interface DataNode
getPathSeparator
in class DefaultDataNode
public java.lang.String getNodeTLA()
getNodeTLA
in interface DataNode
getNodeTLA
in class DefaultDataNode
public java.lang.String getNodeType()
DataNode
getNodeType
in interface DataNode
getNodeType
in class DefaultDataNode
DataNode
public boolean allowsChildren()
DefaultDataNode
allowsChildren
in interface DataNode
allowsChildren
in class DefaultDataNode
true
if the node is of a type which can have
child nodes, false
otherwisepublic java.util.Iterator getChildIterator()
DefaultDataNode
DefaultDataNode.allowsChildren()
is false).getChildIterator
in interface DataNode
getChildIterator
in class DefaultDataNode
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
.protected java.util.List getEntriesAtLevel(java.lang.String level) throws java.io.IOException
level
- the required starting substring of the name of all
ZipEntries to be returnedZipEntry
objects at the given leveljava.io.IOException
Copyright © 2017 Central Laboratory of the Research Councils. All Rights Reserved.