Class ElementNode
- java.lang.Object
-
- javax.swing.tree.DefaultMutableTreeNode
-
- com.nomagic.magicdraw.dependencymatrix.datamodel.ElementNode
-
- All Implemented Interfaces:
com.nomagic.magicdraw.grouping.GroupNode<ElementNode>
,java.io.Serializable
,java.lang.Cloneable
,java.lang.Comparable
,javax.swing.tree.MutableTreeNode
,javax.swing.tree.TreeNode
@OpenApi public class ElementNode extends javax.swing.tree.DefaultMutableTreeNode implements com.nomagic.magicdraw.grouping.GroupNode<ElementNode>, java.lang.Comparable
Tree node which represents instance of anElement
Note: children of the node often does NOT represent the owned elements of the model Element, tree model can be constructed by different criteria- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected com.nomagic.magicdraw.dependencymatrix.datamodel.grouping.ScopeElementNodeIDProvider
elementNodeIDProvider
private boolean
expanded
private int
hashCode
private java.util.Map<Element,java.lang.Integer>
indexes
private java.lang.String
nodeID
private ElementNode
original
private boolean
real
Shows if this element belongs to the model.
-
Constructor Summary
Constructors Constructor Description ElementNode(Element element)
Creates new node, which has element inside.ElementNode(Element element, boolean real)
ElementNode(Element element, boolean real, com.nomagic.magicdraw.dependencymatrix.datamodel.grouping.ScopeElementNodeIDProvider nodeIDProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(javax.swing.tree.MutableTreeNode newChild)
void
addGroupNode(ElementNode node)
int
compareTo(java.lang.Object o)
boolean
equals(java.lang.Object o)
java.util.Enumeration<ElementNode>
getBreadthFirstEnumeration()
ElementNode
getChild(Element element)
Finds node which represents provided element between this node's direct childrenjava.util.List<ElementNode>
getChildren()
java.util.Enumeration<ElementNode>
getDepthFirstEnumeration()
Element
getElement()
ElementNode
getGroupNodeChildAt(int index)
java.util.List<ElementNode>
getGroupNodeChildren()
Get all children as single listint
getGroupNodeIndex(ElementNode node)
ElementNode
getGroupNodeParent()
ElementNode[]
getGroupNodePath()
int
getIndex(Element element)
java.lang.String
getNodeID()
ElementNode
getOriginal()
ElementNode
getParent()
int
hashCode()
boolean
isExpanded()
boolean
isInfinityNode()
Nodes which represent recursive branches are marked as infinite nodes, meaning the rest of the infinite branch is cut off bellow this nodeboolean
isReal()
Tells if this node belongs to the model represented by the treevoid
remove(int childIndex)
void
removeGroupNode(ElementNode node)
private void
resetIndexCache()
void
setExpanded(boolean expanded)
void
setOriginal(ElementNode original)
void
setReal(boolean real)
Does this node belong to the model or it is only as grouping element (parent node)java.lang.String
toString()
-
Methods inherited from class javax.swing.tree.DefaultMutableTreeNode
breadthFirstEnumeration, children, clone, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isLeaf, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject
-
-
-
-
Field Detail
-
elementNodeIDProvider
@CheckForNull protected com.nomagic.magicdraw.dependencymatrix.datamodel.grouping.ScopeElementNodeIDProvider elementNodeIDProvider
-
real
private boolean real
Shows if this element belongs to the model. Tree can have two types of nodes: which belongs to the model, and those who are only group parents. Some group elements can belong to the model too (e.g. Package element can be either group parent or model element)
-
expanded
private boolean expanded
-
nodeID
@CheckForNull private java.lang.String nodeID
-
hashCode
private int hashCode
-
indexes
private java.util.Map<Element,java.lang.Integer> indexes
-
original
@CheckForNull private ElementNode original
-
-
Constructor Detail
-
ElementNode
public ElementNode(@CheckForNull Element element)
Creates new node, which has element inside.- Parameters:
element
- tree node information
-
ElementNode
public ElementNode(@CheckForNull Element element, boolean real)
- Parameters:
element
- tree node informationreal
-false
if this node does not belong to the model (is parent only) Default value:true
-
ElementNode
public ElementNode(@CheckForNull Element element, boolean real, @CheckForNull com.nomagic.magicdraw.dependencymatrix.datamodel.grouping.ScopeElementNodeIDProvider nodeIDProvider)
-
-
Method Detail
-
getElement
@CheckForNull @OpenApi public Element getElement()
- Specified by:
getElement
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
- Returns:
- model element represented by this node
-
getParent
@OpenApi public ElementNode getParent()
- Specified by:
getParent
in interfacejavax.swing.tree.TreeNode
- Overrides:
getParent
in classjavax.swing.tree.DefaultMutableTreeNode
-
getChildren
@OpenApi public java.util.List<ElementNode> getChildren()
- Returns:
- direct children of this node
-
getChild
@CheckForNull public ElementNode getChild(Element element)
Finds node which represents provided element between this node's direct children- Specified by:
getChild
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
- Parameters:
element
- element for which to search node- Returns:
- node which represents this element or null
-
isReal
@OpenApi public boolean isReal()
Tells if this node belongs to the model represented by the tree- Specified by:
isReal
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
- Returns:
- true if this node truly belongs to the model represented by the tree
false if this node is only a grouping node for viewing and collapsing purposes
-
isExpanded
@OpenApi public boolean isExpanded()
- Returns:
- true if node is currently expanded, meaning child nodes are visible
-
isInfinityNode
@OpenApi public boolean isInfinityNode()
Nodes which represent recursive branches are marked as infinite nodes, meaning the rest of the infinite branch is cut off bellow this node- Specified by:
isInfinityNode
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
- Returns:
- true if the branch is infinitely recursive and is cut below this node.
-
getBreadthFirstEnumeration
public java.util.Enumeration<ElementNode> getBreadthFirstEnumeration()
- Specified by:
getBreadthFirstEnumeration
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
-
getDepthFirstEnumeration
public java.util.Enumeration<ElementNode> getDepthFirstEnumeration()
- Specified by:
getDepthFirstEnumeration
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
-
add
public void add(javax.swing.tree.MutableTreeNode newChild)
- Overrides:
add
in classjavax.swing.tree.DefaultMutableTreeNode
-
addGroupNode
public void addGroupNode(ElementNode node)
- Specified by:
addGroupNode
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
-
getGroupNodeIndex
public int getGroupNodeIndex(ElementNode node)
- Specified by:
getGroupNodeIndex
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
-
getIndex
public int getIndex(@CheckForNull Element element)
- Specified by:
getIndex
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
-
resetIndexCache
private void resetIndexCache()
-
removeGroupNode
public void removeGroupNode(ElementNode node)
- Specified by:
removeGroupNode
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
-
remove
public void remove(int childIndex)
- Specified by:
remove
in interfacejavax.swing.tree.MutableTreeNode
- Overrides:
remove
in classjavax.swing.tree.DefaultMutableTreeNode
-
getGroupNodeParent
public ElementNode getGroupNodeParent()
- Specified by:
getGroupNodeParent
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
-
getGroupNodeChildren
public java.util.List<ElementNode> getGroupNodeChildren()
Get all children as single list- Specified by:
getGroupNodeChildren
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
- Returns:
- children (recursive)
-
getGroupNodeChildAt
public ElementNode getGroupNodeChildAt(int index)
- Specified by:
getGroupNodeChildAt
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
-
setReal
public final void setReal(boolean real)
Does this node belong to the model or it is only as grouping element (parent node)- Specified by:
setReal
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
- Parameters:
real
-true
if this node belongs to the model
-
setExpanded
public final void setExpanded(boolean expanded)
-
getNodeID
public java.lang.String getNodeID()
-
getGroupNodePath
public ElementNode[] getGroupNodePath()
- Specified by:
getGroupNodePath
in interfacecom.nomagic.magicdraw.grouping.GroupNode<ElementNode>
-
getOriginal
public ElementNode getOriginal()
-
setOriginal
public void setOriginal(@CheckForNull ElementNode original)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
compareTo
public int compareTo(@Nonnull java.lang.Object o)
- Specified by:
compareTo
in interfacejava.lang.Comparable
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjavax.swing.tree.DefaultMutableTreeNode
-
-