Package uk.ac.starlink.datanode.nodes

# Class BranchDataNode

java.lang.Object
uk.ac.starlink.datanode.nodes.DefaultDataNode
uk.ac.starlink.datanode.nodes.BranchDataNode

All Implemented Interfaces:
  `DataNode`

public class BranchDataNode extends DefaultDataNode
DataNode implementation for a branch of a virtual filestore.

Since:
  25 Feb 2005
Author:
  Mark Taylor (Starlink)

## Constructor Summary

Constructors
Constructor
Description
`BranchDataNode(uk.ac.starlink.connect.Branch branch)`

## Method Summary

Modifier and Type
Method
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).
`Icon`
`getIcon()`
Returns a default icon, unless setIconID has been called, in which case it returns the one indicated by that call.
`String`
`getNodeTLA()`
The `DefaultDataNode` implementation returns the string "...".
`String`
`getNodeType()`
Returns a short sentence indicating what kind of node this is.
`Object`
`getParentObject()`
Returns an object which is in some sense the parent of the one this node is based on.
`String`
`getPathElement()`
The `DefaultDataNode` implementation returns the label as a default path element.
`String`
`getPathSeparator()`
Returns a default separator string.
`void`
`setConnection(uk.ac.starlink.connect.Connection connection)`
Sets the Connection object associated with this branch.
`void`
`setPath(String path)`
Sets the absolute path of this node.

### Methods inherited from class uk.ac.starlink.datanode.nodes.DefaultDataNode

`beep, configureDetail, getChildMaker, getCreator, getDataObject, getDescription, getLabel, getName, 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 Details

### BranchDataNode

public BranchDataNode(uk.ac.starlink.connect.Branch branch)

## Method Details

### setConnection

public void setConnection(uk.ac.starlink.connect.Connection connection)
Sets the Connection object associated with this branch. It's not compulsory to call this on a BranchDataNode, but it enables it to report more things about itself.

Parameters:
  `connection` - connection from which this item is derived

### 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`.

### setPath

public void setPath(String path)
Sets the absolute path of this node.

### getParentObject

public Object getParentObject()
Description copied from interface: `DataNode`
Returns an object which is in some sense the parent of the one this node is based on. The parent is not a `DataNode`, it is something which may get fed to a `DataNodeFactory` to create `DataNode`. If no such object exists, which may well be the case, `null` should be returned.

Specified by:
  `getParentObject` in interface `DataNode`
Overrides:
  `getParentObject` in class `DefaultDataNode`
Returns:
  an object which is the parent of this one, or `null`

### 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:
  "."

### 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

### 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

### 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`