uk.ac.starlink.datanode.nodes
Class NDFDataNode

java.lang.Object
  extended by uk.ac.starlink.datanode.nodes.DefaultDataNode
      extended by uk.ac.starlink.datanode.nodes.HDSDataNode
          extended by uk.ac.starlink.datanode.nodes.NDFDataNode
All Implemented Interfaces:
DataNode

public class NDFDataNode
extends HDSDataNode

A DataNode representing an NDF object.

Version:
$Id$
Author:
Mark Taylor (Starlink)

Field Summary
 
Fields inherited from class uk.ac.starlink.datanode.nodes.HDSDataNode
MAX_CHILDREN_PER_ARRAY
 
Constructor Summary
NDFDataNode(File file)
          Constructs an NDFDataNode from the file name of a container file.
NDFDataNode(HDSObject hobj)
          Constructs an NDFDataNode from an HDSObject.
NDFDataNode(String path)
          Constructs an NDFDataNode from an HDS path.
 
Method Summary
 boolean allowsChildren()
          Indicates whether this node allows child nodes or not.
 void configureDetail(DetailViewer dv)
          No custom configuration is performed.
 Iterator getChildIterator()
          Returns the standard NDF components in a standard order.
 Object getDataObject(DataType dtype)
          The DefaultDataNode implementation returns any data object which has been registered using DefaultDataNode.registerDataObject(uk.ac.starlink.datanode.nodes.DataType, java.lang.Object).
 String getDescription()
          Gets a concise description of this object.
 Icon getIcon()
          Returns a default icon, unless setIconID has been called, in which case it returns the one indicated by that call.
 String getName()
          Gets the name of this object.
 String getNodeTLA()
          Returns the string "NDF".
 String getNodeType()
          Returns a short sentence indicating what kind of node this is.
 byte getQualityBadbits()
           
 NDShape getShape()
           
 boolean hasDataObject(DataType dtype)
          The DefaultDataNode implementation returns true for only those data objects which have been registered using DefaultDataNode.registerDataObject(uk.ac.starlink.datanode.nodes.DataType, java.lang.Object).
 boolean isNdx()
           
 
Methods inherited from class uk.ac.starlink.datanode.nodes.HDSDataNode
getHDSFromFile, getHDSFromPath, getParentObject, getPathElement, getPathSeparator, isMagic
 
Methods inherited from class uk.ac.starlink.datanode.nodes.DefaultDataNode
beep, getChildMaker, getCreator, getLabel, makeChild, makeErrorChild, registerDataObject, setChildMaker, setCreator, setDescription, setIconID, setLabel, setName, setParentObject, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NDFDataNode

public NDFDataNode(HDSObject hobj)
            throws NoSuchDataException
Constructs an NDFDataNode from an HDSObject.

Throws:
NoSuchDataException

NDFDataNode

public NDFDataNode(File file)
            throws NoSuchDataException
Constructs an NDFDataNode from the file name of a container file.

Throws:
NoSuchDataException

NDFDataNode

public NDFDataNode(String path)
            throws NoSuchDataException
Constructs an NDFDataNode from an HDS path.

Throws:
NoSuchDataException
Method Detail

allowsChildren

public boolean allowsChildren()
Description copied from class: HDSDataNode
Indicates whether this node allows child nodes or not. We consider that an HDSDataNode may allow children in two ways: it may either be a scalar structure, in which case its children will be its components, or it may be an array of structures, in which case its children will be the elements of the array. Here the term structure is used in the HDS sense.

We do not consider the elements of an array to be children if the if there are 'too many' elements (more than MAX_CHILDREN_PER_ARRAY). This is arbitrary, but is intended to prevent display getting too unwieldy.

Another possibility would be to allow the elements of an array of primitives to be considered as elements. Following the (sensible) behaviour of HDSTRACE We don't do this.

Specified by:
allowsChildren in interface DataNode
Overrides:
allowsChildren in class HDSDataNode
Returns:
true if the node is of a type which can have child nodes, false otherwise

getChildIterator

public Iterator getChildIterator()
Returns the standard NDF components in a standard order.

Specified by:
getChildIterator in interface DataNode
Overrides:
getChildIterator in class HDSDataNode
Returns:
an array of DataNodes considered to be the children of this node

getIcon

public Icon getIcon()
Description copied from class: DefaultDataNode
Returns a default icon, unless setIconID has been called, in which case it returns the one indicated by that call.

Specified by:
getIcon in interface DataNode
Overrides:
getIcon in class DefaultDataNode
Returns:
an icon representing this node

getDescription

public String getDescription()
Description copied from interface: DataNode
Gets a concise description of this object. The form of the description will depend on the type of node, but it might detail the shape or type of data represented, or otherwise give some information additional to the name. It should not include the return value of the 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.

Specified by:
getDescription in interface DataNode
Overrides:
getDescription in class HDSDataNode
Returns:
a short string describing this object

getName

public String getName()
Description copied from interface: DataNode
Gets the name of this object. This is an intrinsic property of the object.

Specified by:
getName in interface DataNode
Overrides:
getName in class HDSDataNode
Returns:
the name of the object

getNodeTLA

public String getNodeTLA()
Returns the string "NDF".

Specified by:
getNodeTLA in interface DataNode
Overrides:
getNodeTLA in class HDSDataNode
Returns:
"NDF"

getNodeType

public String 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 interface DataNode
Overrides:
getNodeType in class HDSDataNode
Returns:
a short description of the type of this DataNode

configureDetail

public void configureDetail(DetailViewer dv)
Description copied from class: DefaultDataNode
No custom configuration is performed.

Specified by:
configureDetail in interface DataNode
Overrides:
configureDetail in class HDSDataNode
Parameters:
dv - the detail viewer which this node is given an opportunity to configure

hasDataObject

public boolean hasDataObject(DataType dtype)
Description copied from class: DefaultDataNode
The DefaultDataNode implementation returns true for only those data objects which have been registered using DefaultDataNode.registerDataObject(uk.ac.starlink.datanode.nodes.DataType, java.lang.Object).

Specified by:
hasDataObject in interface DataNode
Overrides:
hasDataObject in class HDSDataNode
Parameters:
dtype - data object type of interest
Returns:
true iff a subsequent call of getDataObject(type) is likely to be successful

getDataObject

public Object getDataObject(DataType dtype)
                     throws DataObjectException
Description copied from class: DefaultDataNode
The DefaultDataNode implementation returns any data object which has been registered using DefaultDataNode.registerDataObject(uk.ac.starlink.datanode.nodes.DataType, java.lang.Object).

Specified by:
getDataObject in interface DataNode
Overrides:
getDataObject in class HDSDataNode
Parameters:
dtype - data object type of interest
Returns:
data object of type type
Throws:
DataObjectException

getQualityBadbits

public byte getQualityBadbits()

isNdx

public boolean isNdx()

getShape

public NDShape getShape()


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.