uk.ac.starlink.datanode.nodes
Class FileDataNode

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

public class FileDataNode
extends DefaultDataNode

A DataNode representing a file or directory in the Unix file system. If the FileDataNode represents a directory, then its children are the files which it contains.

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

Constructor Summary
FileDataNode(File file)
          Initialises a FileDataNode from a File object.
FileDataNode(HDSObject hobj)
          Initialises a FileDataNode from a top-level HDSObject.
 
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 getName()
          Gets the name of this object.
 String getNodeTLA()
          Returns either "DIR" or "FILE" for a directory or non-directory file respectively.
 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.
static void setShowHidden(boolean showHidden)
          Determines whether hidden files are included in the list of children of a directory file node.
 
Methods inherited from class uk.ac.starlink.datanode.nodes.DefaultDataNode
beep, getChildMaker, getCreator, getDataObject, getDescription, getIcon, getLabel, 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

FileDataNode

public FileDataNode(File file)
             throws NoSuchDataException
Initialises a FileDataNode from a File object.

Parameters:
file - a File object representing the file from which the node is to be created
Throws:
NoSuchDataException

FileDataNode

public FileDataNode(HDSObject hobj)
             throws NoSuchDataException
Initialises a FileDataNode from a top-level HDSObject.

Parameters:
hobj - an HDSObject at the top of its container file
Throws:
NoSuchDataException - if hobj is not at top level
Method Detail

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.

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

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

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

getNodeTLA

public String getNodeTLA()
Returns either "DIR" or "FILE" for a directory or non-directory file respectively.

Specified by:
getNodeTLA in interface DataNode
Overrides:
getNodeTLA in class DefaultDataNode
Returns:
a short description of the file type

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

setShowHidden

public static void setShowHidden(boolean showHidden)
Determines whether hidden files are included in the list of children of a directory file node.

Parameters:
showHidden - true iff you want hidden files to be included in the child list

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.