public abstract class ZipArchiveDataNode extends DefaultDataNode
ZipFileDataNode
and ZipStreamDataNode
.Modifier | Constructor and Description |
---|---|
protected |
ZipArchiveDataNode(DataSource datsrc)
Constructs a ZipArchiveDataNode.
|
Modifier and Type | Method and Description |
---|---|
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 abstract Iterator |
getChildIteratorAtLevel(String level,
DataNode parent)
Returns an iterator over the DataNodes at a given level in the
hierarchy of this archive.
|
protected abstract List |
getEntries()
Returns a list of all the
ZipEntry objects in
this zip archive. |
protected List |
getEntriesAtLevel(String level)
Returns all the ZipEntry objects in this archive at a given level
in the hierarchy.
|
String |
getName()
Gets the name of this object.
|
String |
getNodeTLA()
Returns the string "ZIP".
|
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)
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(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 List getEntries() throws IOException
ZipEntry
objects in
this zip archive.ZipEntry
objects
which make up this zip archive.IOException
protected abstract Iterator getChildIteratorAtLevel(String level, DataNode parent) throws IOException
level
.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 level
IOException
public static boolean isMagic(byte[] magic)
magic
- a byte array containing the
first few bytes of a source which might be a zipmagic
represents the magic number of a
zip archivepublic String getName()
DataNode
getName
in interface DataNode
getName
in class DefaultDataNode
public String getPathSeparator()
DefaultDataNode
getPathSeparator
in interface DataNode
getPathSeparator
in class DefaultDataNode
public String getNodeTLA()
getNodeTLA
in interface DataNode
getNodeTLA
in class DefaultDataNode
public String getNodeType()
DataNode
getNodeType
in interface DataNode
getNodeType
in class DefaultDataNode
DataNode
public boolean allowsChildren()
DefaultDataNode
DefaultDataNode
implementation of this method returns
false
.allowsChildren
in interface DataNode
allowsChildren
in class DefaultDataNode
true
if the node is of a type which can have
child nodes, false
otherwisepublic Iterator getChildIterator()
DefaultDataNode
DefaultDataNode
implementation of this method throws
UnsupportedOperationException
(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 List getEntriesAtLevel(String level) throws IOException
level
.level
- the required starting substring of the name of all
ZipEntries to be returnedZipEntry
objects at the given level
IOException
Copyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.