uk.ac.starlink.datanode.nodes
Class HDXDataNode

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

public class HDXDataNode
extends DefaultDataNode

DataNode representing an HDX object.


Constructor Summary
HDXDataNode(File file)
          Constructs an HDXDataNode from a File.
HDXDataNode(Source xsrc)
          Constructs an HDXDataNode from an XML Source.
HDXDataNode(String loc)
          Constructs an HDXDataNode from a String.
HDXDataNode(XMLDocument xdoc)
          Constructs a new HDXDataNode 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).
 DataNodeFactory getChildMaker()
          Provide a custom DataNodeFactory for making children.
 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.
 
Methods inherited from class uk.ac.starlink.datanode.nodes.DefaultDataNode
beep, getCreator, getDataObject, getDescription, getIcon, getLabel, getParentObject, getPathElement, getPathSeparator, 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

HDXDataNode

public HDXDataNode(Source xsrc)
            throws NoSuchDataException
Constructs an HDXDataNode from an XML Source.

Parameters:
xsrc - the Source
Throws:
NoSuchDataException

HDXDataNode

public HDXDataNode(String loc)
            throws NoSuchDataException
Constructs an HDXDataNode from a String. The string may represent a URL or filename.

Parameters:
loc - the location of the HDX
Throws:
NoSuchDataException

HDXDataNode

public HDXDataNode(File file)
            throws NoSuchDataException
Constructs an HDXDataNode from a File.

Throws:
NoSuchDataException

HDXDataNode

public HDXDataNode(XMLDocument xdoc)
            throws NoSuchDataException
Constructs a new HDXDataNode 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 HDX XML documents out there, so it probably doesn't matter.

Throws:
NoSuchDataException
Method Detail

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

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.

getChildMaker

public DataNodeFactory getChildMaker()
Provide a custom DataNodeFactory for making children. An HDX should never be found inside an HDX, although the HDX library is capable of interpreting structures in this way when used in the way that Treeview uses it. Here we remove the possibility that an HDXDataNode can have an HDXDataNode as a child node.

Specified by:
getChildMaker in interface DataNode
Overrides:
getChildMaker in class DefaultDataNode
Returns:
the factory used for generating children

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.