ix.iview.tree
Class DomainTreeModel

java.lang.Object
  extended by javax.swing.tree.DefaultTreeModel
      extended by ix.iface.ui.tree.EditableTreeModel
          extended by ix.iview.tree.DomainTreeModel
All Implemented Interfaces:
DataChangeListener, UIDomainListener, java.io.Serializable, java.util.EventListener, javax.swing.tree.TreeModel
Direct Known Subclasses:
ObjectClassTreeModel, RefinementTreeModel

public abstract class DomainTreeModel
extends EditableTreeModel
implements UIDomainListener

See Also:
Serialized Form

Field Summary
(package private)  UIDomain uiDomain
           
 
Fields inherited from class javax.swing.tree.DefaultTreeModel
asksAllowsChildren, listenerList, root
 
Constructor Summary
DomainTreeModel(UIDomain domain, IXTreeNode root)
          Constructs a new instance with the given node as the root node of the tree.
DomainTreeModel(UIDomain domain, IXTreeNode root, java.util.HashSet domainObjects, java.util.HashMap nodeMap)
          Constructs a new instance with a default root node of the tree.
 
Method Summary
abstract  void addUserChild(java.lang.Object userParent, java.lang.Object newChild)
           
 void constructAdded(DomainEvent event)
           
 void constructAdded(UIDomainEvent event)
          Called when a UI construct is added.
 void constructEdited(UIDomainEvent event)
          Called when a UI construct is edited.
 void constructRemoved(UIDomainEvent event)
          Called when a UI construct is removed.
 void domainCleared(UIDomainEvent event)
          Called when the domain is cleared.
 void domainEdited(UIDomainEvent event)
          Called when the domain's own fields changed (currently only name).
 void domainSet(UIDomainEvent event)
          Called when the domain is added.
abstract  java.util.List findUserObjects()
           
 UIDomain getUIDomain()
           
abstract  java.util.List getUserChildren(java.lang.Object userParent)
           
abstract  java.lang.Object makeUserObject(java.lang.String name)
           
abstract  java.lang.Object makeUserObject(java.lang.String name, java.util.List children)
           
abstract  IXTreeNode newIXTreeNode(java.lang.Object userNode)
          Creates a new instance of a suitable IXTreeNode from the user object
 IXTreeNode newTreeChild(IXTreeNode parent)
           
abstract  void removeUserChild(java.lang.Object userParent, java.lang.Object newChild)
           
 
Methods inherited from class ix.iface.ui.tree.EditableTreeModel
addTreeParent, addTreeParent, addUserParent, buildSubTree, buildTree, clearModel, dataChanged, ensureIXTreeNode, ensureMapEntry, findStringTreeNode, findTreeNode, findTreeNodes, findUserNode, fireNodeAdded, fireNodeChanged, fireTreeNodesChanged, fireTreeNodesInserted, getTreeNode, getTreeParent, getUserParents, getUserRoot, hasTreeNode, ignoreUpdate, insertNodeInto, isOwnUserObject, isUserRoot, makeIXTreeNode, newTreeChild, printSubTree, printSubTree, reload, reload, reloadData, removeUserParent, setRoot, setUserRoot, startUpdate, stopUpdate, userNodeAdded, userNodeChanged, userNodeRemoved
 
Methods inherited from class javax.swing.tree.DefaultTreeModel
addTreeModelListener, asksAllowsChildren, fireTreeNodesRemoved, fireTreeStructureChanged, getChild, getChildCount, getIndexOfChild, getListeners, getPathToRoot, getPathToRoot, getRoot, getTreeModelListeners, isLeaf, nodeChanged, nodesChanged, nodeStructureChanged, nodesWereInserted, nodesWereRemoved, reload, removeNodeFromParent, removeTreeModelListener, setAsksAllowsChildren, setRoot, valueForPathChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

uiDomain

UIDomain uiDomain
Constructor Detail

DomainTreeModel

public DomainTreeModel(UIDomain domain,
                       IXTreeNode root)
Constructs a new instance with the given node as the root node of the tree.

Parameters:
domain - The UIDomain for this model.
root - The root node of the tree model.

DomainTreeModel

public DomainTreeModel(UIDomain domain,
                       IXTreeNode root,
                       java.util.HashSet domainObjects,
                       java.util.HashMap nodeMap)
Constructs a new instance with a default root node of the tree.

Parameters:
domain - The UIDomain for this model.
root - The root node of the tree model.
domainObjects - The objects that are to appear in the tree
map - the tree node map.
Method Detail

newTreeChild

public IXTreeNode newTreeChild(IXTreeNode parent)
Overrides:
newTreeChild in class EditableTreeModel

getUIDomain

public UIDomain getUIDomain()

constructAdded

public void constructAdded(DomainEvent event)
Specified by:
constructAdded in interface UIDomainListener

constructAdded

public void constructAdded(UIDomainEvent event)
Description copied from interface: UIDomainListener
Called when a UI construct is added. Use getSource() to get at the domain (UI/IX) in which the event occurred. Use getObject() to get at the object (UI/IX) that has been added.

Specified by:
constructAdded in interface UIDomainListener

constructEdited

public void constructEdited(UIDomainEvent event)
Description copied from interface: UIDomainListener
Called when a UI construct is edited. Use getSource() to get at the UIDomain in which the event occurred. Use getObject() to get at the UIObject that has been edited.

Specified by:
constructEdited in interface UIDomainListener

constructRemoved

public void constructRemoved(UIDomainEvent event)
Description copied from interface: UIDomainListener
Called when a UI construct is removed. Use getSource() to get at the UIDomain in which the event occurred. Use getObject() to get at the UIObject that has been removed.

Specified by:
constructRemoved in interface UIDomainListener

domainCleared

public void domainCleared(UIDomainEvent event)
Description copied from interface: UIDomainListener
Called when the domain is cleared.

Specified by:
domainCleared in interface UIDomainListener

domainEdited

public void domainEdited(UIDomainEvent event)
Description copied from interface: UIDomainListener
Called when the domain's own fields changed (currently only name).

Specified by:
domainEdited in interface UIDomainListener

domainSet

public void domainSet(UIDomainEvent event)
Description copied from interface: UIDomainListener
Called when the domain is added.

Specified by:
domainSet in interface UIDomainListener

newIXTreeNode

public abstract IXTreeNode newIXTreeNode(java.lang.Object userNode)
Creates a new instance of a suitable IXTreeNode from the user object

Specified by:
newIXTreeNode in class EditableTreeModel

findUserObjects

public abstract java.util.List findUserObjects()
Specified by:
findUserObjects in class EditableTreeModel

makeUserObject

public abstract java.lang.Object makeUserObject(java.lang.String name)
Specified by:
makeUserObject in class EditableTreeModel

makeUserObject

public abstract java.lang.Object makeUserObject(java.lang.String name,
                                                java.util.List children)
Specified by:
makeUserObject in class EditableTreeModel

getUserChildren

public abstract java.util.List getUserChildren(java.lang.Object userParent)
Specified by:
getUserChildren in class EditableTreeModel

addUserChild

public abstract void addUserChild(java.lang.Object userParent,
                                  java.lang.Object newChild)
Specified by:
addUserChild in class EditableTreeModel

removeUserChild

public abstract void removeUserChild(java.lang.Object userParent,
                                     java.lang.Object newChild)
Specified by:
removeUserChild in class EditableTreeModel