edu.jhu.ece.iacl.jist.pipeline.tree
Class PackageNode

java.lang.Object
  extended by javax.swing.tree.DefaultMutableTreeNode
      extended by edu.jhu.ece.iacl.jist.pipeline.tree.PackageNode
All Implemented Interfaces:
java.awt.datatransfer.Transferable, java.io.Serializable, java.lang.Cloneable, javax.swing.tree.MutableTreeNode, javax.swing.tree.TreeNode

public class PackageNode
extends javax.swing.tree.DefaultMutableTreeNode
implements java.awt.datatransfer.Transferable

A package node is a directory that contains processing nodes.

Author:
Blake Lucas (bclucas@jhu.edu)
See Also:
Serialized Form

Field Summary
protected  java.io.File dir
          The dir.
protected  boolean editable
          The editable.
static java.awt.datatransfer.DataFlavor PACKAGE_FLAVOR
          The Constant PACKAGE_FLAVOR.
 
Fields inherited from class javax.swing.tree.DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObject
 
Constructor Summary
PackageNode(java.io.File dir)
          Default constructor.
PackageNode(java.io.File dir, java.lang.String name)
          Default constructor.
 
Method Summary
 java.io.File getDirectory()
          Get associated directory.
 java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor df)
          implements Transferable interface.
 java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
          implements Transferable interface.
 boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor df)
          Returns true if the data flavor is package type.
 boolean isEditable()
          Returns true if package name is editable.
 void moveAllChildrenIntoDirectory()
          Move all children of this package into the directory corresponding to this package if they are not already in that directory.
 boolean moveIntoDirectory(PackageNode node)
          Move package node into the directory corresponding to this package.
 boolean moveIntoDirectory(PipeAlgorithmFactory.AlgorithmNode node)
          Move node into the directory corresponding to this package node.
 void setDirectory(java.io.File dir)
          Set associated directory.
 void setEditable(boolean editable)
          Set editable.
 void setUserObject(java.lang.Object userObject)
          Set the user object for this package node, which should be the directory name.
 
Methods inherited from class javax.swing.tree.DefaultMutableTreeNode
add, breadthFirstEnumeration, children, clone, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isLeaf, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PACKAGE_FLAVOR

public static final java.awt.datatransfer.DataFlavor PACKAGE_FLAVOR
The Constant PACKAGE_FLAVOR.


dir

protected java.io.File dir
The dir.


editable

protected boolean editable
The editable.

Constructor Detail

PackageNode

public PackageNode(java.io.File dir)
Default constructor.

Parameters:
dir - directory that package node corresponds to.

PackageNode

public PackageNode(java.io.File dir,
                   java.lang.String name)
Default constructor.

Parameters:
dir - directory that this node corresponds to.
name - name of package
Method Detail

getDirectory

public java.io.File getDirectory()
Get associated directory.

Returns:
the directory

getTransferData

public java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor df)
                                 throws java.awt.datatransfer.UnsupportedFlavorException,
                                        java.io.IOException
implements Transferable interface.

Specified by:
getTransferData in interface java.awt.datatransfer.Transferable
Parameters:
df - the df
Returns:
the transfer data
Throws:
java.awt.datatransfer.UnsupportedFlavorException - the unsupported flavor exception
java.io.IOException - Signals that an I/O exception has occurred.

getTransferDataFlavors

public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
implements Transferable interface.

Specified by:
getTransferDataFlavors in interface java.awt.datatransfer.Transferable
Returns:
the transfer data flavors

isDataFlavorSupported

public boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor df)
Returns true if the data flavor is package type.

Specified by:
isDataFlavorSupported in interface java.awt.datatransfer.Transferable
Parameters:
df - the df
Returns:
true, if checks if is data flavor supported

isEditable

public boolean isEditable()
Returns true if package name is editable.

Returns:
true if edtiable

moveAllChildrenIntoDirectory

public void moveAllChildrenIntoDirectory()
Move all children of this package into the directory corresponding to this package if they are not already in that directory.


moveIntoDirectory

public boolean moveIntoDirectory(PipeAlgorithmFactory.AlgorithmNode node)
Move node into the directory corresponding to this package node.

Parameters:
node - process node
Returns:
true if move successful

moveIntoDirectory

public boolean moveIntoDirectory(PackageNode node)
Move package node into the directory corresponding to this package.

Parameters:
node - package node
Returns:
true, if move into directory

setDirectory

public void setDirectory(java.io.File dir)
Set associated directory.

Parameters:
dir - the dir

setEditable

public void setEditable(boolean editable)
Set editable.

Parameters:
editable - true if use can edit package name

setUserObject

public void setUserObject(java.lang.Object userObject)
Set the user object for this package node, which should be the directory name.

Specified by:
setUserObject in interface javax.swing.tree.MutableTreeNode
Overrides:
setUserObject in class javax.swing.tree.DefaultMutableTreeNode
Parameters:
userObject - the user object