uk.ac.starlink.datanode.nodes
Class NdxDataNode

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

public class NdxDataNode
extends DefaultDataNode

An implementation of the DataNode interface for representing Ndx objects.

Author:
Mark Taylor (Starlink)

Constructor Summary
NdxDataNode(File file)
           
NdxDataNode(HDSObject hobj)
          Initialises an NdxDataNode from an NDF structure.
NdxDataNode(Source xsrc)
          Initialises an NdxDataNode from an XML source.
NdxDataNode(String loc)
          Initialises an NdxDataNode from a string giving a URL or filename.
NdxDataNode(XMLDocument xdoc)
          Constructs a new NdxDataNode from an XML document.
 
Method Summary
 boolean allowsChildren()
          The DefaultDataNode implementation of this method returns false.
 void configureDetail(DetailViewer dv)
          No custom configuration is performed.
 Iterator getChildIterator()
          The DefaultDataNode implementation of this method throws UnsupportedOperationException (DefaultDataNode.allowsChildren() is false).
 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()
          The DefaultDataNode implementation returns the string "...".
 String getNodeType()
          Returns a short sentence indicating what kind of node this is.
 String getPathElement()
          The DefaultDataNode implementation returns the label as a default path element.
 String getPathSeparator()
          Returns a default separator string.
 
Methods inherited from class uk.ac.starlink.datanode.nodes.DefaultDataNode
beep, getChildMaker, getCreator, getDataObject, getLabel, getParentObject, hasDataObject, 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

NdxDataNode

public NdxDataNode(String loc)
            throws NoSuchDataException
Initialises an NdxDataNode from a string giving a URL or filename.

Parameters:
loc - the location of a readable Ndx
Throws:
NoSuchDataException

NdxDataNode

public NdxDataNode(File file)
            throws NoSuchDataException
Throws:
NoSuchDataException

NdxDataNode

public NdxDataNode(HDSObject hobj)
            throws NoSuchDataException
Initialises an NdxDataNode from an NDF structure.

Parameters:
hobj - an HDSObject, which should reference an NDF structure
Throws:
NoSuchDataException

NdxDataNode

public NdxDataNode(Source xsrc)
            throws NoSuchDataException
Initialises an NdxDataNode from an XML source. It is passed as a Source rather than a simple Node so that it can contain the SystemID as well, which may be necessary to resolve relative URL references to data arrays etc.

Parameters:
xsrc - a Source containing the XML representation of the Ndx
Throws:
NoSuchDataException

NdxDataNode

public NdxDataNode(XMLDocument xdoc)
            throws NoSuchDataException
Constructs a new NdxDataNode from an XML document. For efficiency, this really ought to defer the DOM construction parse until the contents are actually needed. However, there probably aren't any large NDX XML documents out there, so it probably doesn't matter.

Throws:
NoSuchDataException
Method Detail

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 DefaultDataNode
Returns:
a short string describing this object

allowsChildren

public boolean allowsChildren()
Description copied from class: DefaultDataNode
The DefaultDataNode implementation of this method returns false.

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

getChildIterator

public Iterator getChildIterator()
Description copied from class: DefaultDataNode
The DefaultDataNode implementation of this method throws UnsupportedOperationException (DefaultDataNode.allowsChildren() is false).

Specified by:
getChildIterator in interface DataNode
Overrides:
getChildIterator in class DefaultDataNode
Returns:
an 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.

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 DefaultDataNode
Returns:
the name of the object

getNodeTLA

public String getNodeTLA()
Description copied from class: DefaultDataNode
The DefaultDataNode implementation returns the string "...".

Specified by:
getNodeTLA in interface DataNode
Overrides:
getNodeTLA in class DefaultDataNode
Returns:
"..."

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 DefaultDataNode
Returns:
a short description of the type of this DataNode

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

getPathElement

public String getPathElement()
Description copied from class: DefaultDataNode
The DefaultDataNode implementation returns the label as a default path element.

Specified by:
getPathElement in interface DataNode
Overrides:
getPathElement in class DefaultDataNode
Returns:
the node's label

getPathSeparator

public String getPathSeparator()
Description copied from class: DefaultDataNode
Returns a default separator string.

Specified by:
getPathSeparator in interface DataNode
Overrides:
getPathSeparator in class DefaultDataNode
Returns:
"."

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 DefaultDataNode
Parameters:
dv - the detail viewer which this node is given an opportunity to configure


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