public abstract class FITSDataNode extends DefaultDataNode
Modifier and Type | Class and Description |
---|---|
static interface |
FITSDataNode.ArrayDataMaker
Interface used for objects which can supply an ArrayDataInput
object on demand (more than once if necessary).
|
Constructor and Description |
---|
FITSDataNode(DataSource datsrc)
Constructs a FITSDataNode from a data source.
|
Modifier and Type | Method and Description |
---|---|
boolean |
allowsChildren()
The DefaultDataNode implementation of this method returns
false.
|
protected abstract FITSDataNode.ArrayDataMaker |
getArrayData(long start,
long size)
Returns an ArrayDataMaker encapsulating the same input stream as the
on one which this FITSDataNode is based, but starting at a given
offset start into the stream and size bytes long.
|
Iterator |
getChildIterator()
The DefaultDataNode implementation of this method throws
UnsupportedOperationException
(
DefaultDataNode.allowsChildren() is false). |
protected ArrayDataInput |
getDataInput()
Returns an ArrayDataInput object containing the data from this
FITS object.
|
String |
getDescription()
Gets a concise description of this object.
|
String |
getName()
Gets the name of this object.
|
String |
getNodeTLA()
The DefaultDataNode implementation returns the string "...".
|
String |
getNodeType()
Returns a short sentence indicating what kind of node this is.
|
String |
getPathSeparator()
Returns a default separator string.
|
static boolean |
isMagic(byte[] buffer)
Indicates whether a buffer of bytes looks like the start of a FITS
file.
|
beep, configureDetail, getChildMaker, getCreator, getDataObject, getIcon, getLabel, getParentObject, getPathElement, hasDataObject, makeChild, makeErrorChild, registerDataObject, setChildMaker, setCreator, setDescription, setIconID, setLabel, setName, setParentObject, toString
public FITSDataNode(DataSource datsrc) throws NoSuchDataException
datsrc
- the source of the dataNoSuchDataException
public String getName()
DataNode
getName
in interface DataNode
getName
in class DefaultDataNode
public String getDescription()
DataNode
getName
method, since they may be presented together.
It should be on one line, and preferably no longer than around
70 characters. The null
value may be returned if
there is nothing to say.getDescription
in interface DataNode
getDescription
in class DefaultDataNode
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
otherwiseprotected abstract FITSDataNode.ArrayDataMaker getArrayData(long start, long size)
start
- the offset into this FITSDataNode's stream at which
the returned source's streams should startsize
- the number of bytes contained by the returned
source's streampublic 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
.public String getPathSeparator()
DefaultDataNode
getPathSeparator
in interface DataNode
getPathSeparator
in class DefaultDataNode
public String getNodeTLA()
DefaultDataNode
getNodeTLA
in interface DataNode
getNodeTLA
in class DefaultDataNode
public String getNodeType()
DataNode
getNodeType
in interface DataNode
getNodeType
in class DefaultDataNode
DataNode
protected ArrayDataInput getDataInput() throws IOException
IOException
public static boolean isMagic(byte[] buffer)
buffer
- the first few bytes of a potential streamCopyright © 2023 Central Laboratory of the Research Councils. All Rights Reserved.