SourceJammer 1.3.0 November 20, 2002
Copyright (c) 2001, 2002 Robert MacGrogan

org.sourcejammer.project.controller
Class ProjectNode

java.lang.Object
  |
  +--org.sourcejammer.project.controller.ControllerNode
        |
        +--org.sourcejammer.project.controller.ProjectNode
All Implemented Interfaces:
java.lang.Comparable, Node
Direct Known Subclasses:
ProjectNodeFS

public abstract class ProjectNode
extends ControllerNode

Contains information about a Project, including the project's name, and links to it's parent and children.


Constructor Summary
ProjectNode()
           
 
Method Summary
 void addChildNode(long lChildID, int iChildNodeType, java.lang.String sChildName, long key)
           
 void addChildNode(Node nd, long key)
          Adds a new child node to this ProjectNode.
 int childCount()
          Returns count of number of child of this Node.
 void deleteChildList(long key)
           
 ProjectChild getChildNode(java.lang.String name)
          Returns the child node with the specified name.
 java.lang.String getChildNodeName(long uniqueID, int nodeType)
           
 java.util.Enumeration getChildrenInfo()
          Returns an Enumeration for iterating through of all of the children (ProjectChild objects) of this ProjectNode.
 long getParentID()
           
 ProjectNode getProjectParent()
          Deprecated.  
 ProjectChild getRemovedChildInfo(int index)
           
 java.util.Vector getRemovedChildren()
          Returns a Vector of removed Nodes.
 ProjectChild permanentlyDeleteRemovedChildNode(int index, ArchiveInfoFlex info, long key)
          Permanently delete a removed node from this cache and from the storage system.
 ProjectChild removeChildNode(java.lang.String name, long key)
          Removes the child node with the specified name and adds it to removed children list.
 ProjectChild removeChildNode(java.lang.String name, long key, boolean addToRemovedList)
          Removes the child node with the specified name and adds it to removed children list if addToRemovedList is true.
 void renameChild(long uniqueID, int nodeType, java.lang.String newName, long key)
           
 ProjectChild restoreRemovedChildNode(int index, java.lang.String newName, long key)
          Restores the specified removed node using a new name as the node name.
 void setParentID(long l, long key)
           
 void setProjectParent(ProjectNode parent, long key)
          Convenience method for setting parent as ProjectNode.
 void setRemovedChildren(java.util.Vector vec)
          Sets removed children vector.
 
Methods inherited from class org.sourcejammer.project.controller.ControllerNode
checkKey, compareTo, equals, getCreatedDate, getNodeName, getParent, getRootParent, getShareParent, getUniqueID, isCorrectKey, isLocked, isShared, lock, setCreatedDate, setNodeName, setParent, setShared, setShareParent, setUniqueID, store, toString, unlock
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProjectNode

public ProjectNode()
Method Detail

setParentID

public void setParentID(long l,
                        long key)

getParentID

public long getParentID()

getProjectParent

public ProjectNode getProjectParent()
Deprecated.  

This is a convenience method for returning the parent already cast to ProjectNode. Will throw ConfigurationException if the parent node cannot be cast properly to a ProjectNode.
Returns:
Parent of this ProjectNode, as ProjectNode. Return null if this is the root node of an Archive.

setProjectParent

public void setProjectParent(ProjectNode parent,
                             long key)
Convenience method for setting parent as ProjectNode. setParent() could just as easily be used.
Parameters:
parent - -- parent ProjectNode.

getChildrenInfo

public java.util.Enumeration getChildrenInfo()
Returns an Enumeration for iterating through of all of the children (ProjectChild objects) of this ProjectNode.
Returns:
an Enumeration of the ProjectNode's children.

addChildNode

public void addChildNode(Node nd,
                         long key)
                  throws NodeExistsException
Adds a new child node to this ProjectNode.
Parameters:
child - -- a new child . Must have a unique name.
Throws:
NodeExistsException - -- if this ProjectNode already has a child with the same name as child.getNodeName();

addChildNode

public void addChildNode(long lChildID,
                         int iChildNodeType,
                         java.lang.String sChildName,
                         long key)
                  throws NodeExistsException

removeChildNode

public ProjectChild removeChildNode(java.lang.String name,
                                    long key)
                             throws NodeDoesNotExistException
Removes the child node with the specified name and adds it to removed children list.
Parameters:
name - -- name of the child node to be removed.
Returns:
the NodeInfo that is being removed.
Throws:
NodeDoesNotExistException - if the this does not have a child with the specified name.

removeChildNode

public ProjectChild removeChildNode(java.lang.String name,
                                    long key,
                                    boolean addToRemovedList)
                             throws NodeDoesNotExistException
Removes the child node with the specified name and adds it to removed children list if addToRemovedList is true.
Parameters:
name - -- name of the child node to be removed.
addToRemovedList - -- adds to removed list if true.
Returns:
the NodeInfo that is being removed.
Throws:
NodeDoesNotExistException - if the this does not have a child with the specified name.

restoreRemovedChildNode

public ProjectChild restoreRemovedChildNode(int index,
                                            java.lang.String newName,
                                            long key)
                                     throws NodeExistsException,
                                            NodeDoesNotExistException,
                                            SecurityException
Restores the specified removed node using a new name as the node name.

getRemovedChildren

public java.util.Vector getRemovedChildren()
Returns a Vector of removed Nodes.

setRemovedChildren

public void setRemovedChildren(java.util.Vector vec)
Sets removed children vector. Vector of ProjectChild objects.

permanentlyDeleteRemovedChildNode

public ProjectChild permanentlyDeleteRemovedChildNode(int index,
                                                      ArchiveInfoFlex info,
                                                      long key)
                                               throws NodeDoesNotExistException,
                                                      FileAccessException
Permanently delete a removed node from this cache and from the storage system.

getChildNode

public ProjectChild getChildNode(java.lang.String name)
                          throws NodeDoesNotExistException
Returns the child node with the specified name.
Parameters:
name - -- name of the child node to be returned.
Returns:
the child node with the specified name.
Throws:
NodeDoesNotExistException - if the this does not have a child with the specified name.

getChildNodeName

public java.lang.String getChildNodeName(long uniqueID,
                                         int nodeType)
                                  throws NodeDoesNotExistException

getRemovedChildInfo

public ProjectChild getRemovedChildInfo(int index)
                                 throws NodeDoesNotExistException

renameChild

public void renameChild(long uniqueID,
                        int nodeType,
                        java.lang.String newName,
                        long key)
                 throws NodeExistsException

childCount

public int childCount()
Description copied from interface: Node
Returns count of number of child of this Node.
Overrides:
childCount in class ControllerNode

deleteChildList

public void deleteChildList(long key)

SourceJammer 1.3.0 November 20, 2002
Copyright (c) 2001, 2002 Robert MacGrogan