Package org.jgraph.graph
Class ParentMap
- java.lang.Object
-
- org.jgraph.graph.ParentMap
-
- All Implemented Interfaces:
java.io.Serializable
public class ParentMap extends java.lang.Object implements java.io.Serializable
An object that describes relations between childs and parents.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
ParentMap.Entry
Object that represents the relation between a child an a parent.
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Set
changedNodes
Set of changed changedNodes for the parent map.protected java.util.Map
childCount
Maps parents to integers with the future number of childs.protected java.util.ArrayList
entries
Contents of the parent map.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEntries(java.lang.Object[] children, java.lang.Object parent)
Adds all child parent pairs using addEntry.void
addEntry(java.lang.Object child, java.lang.Object parent)
Add a new entry for this child, parent pair to the parent map.ParentMap
clone(java.util.Map map)
Creates a new parent map based on this parent map, where the child and parents are mapped usingmap
.static ParentMap
create(GraphModel m, java.lang.Object[] c, boolean remove, boolean onlyUsePassedInCells)
Returns a parent map that represents the insertion or removal ofcells
inmodel
based onremove
.java.util.Iterator
entries()
Returns anIterator
for the entries in the map.java.util.Set
getChangedNodes()
Returns aSet
for the nodes, childs and parents, in this parent map.int
size()
Returns the number of entries.java.lang.String
toString()
-
-
-
Field Detail
-
entries
protected java.util.ArrayList entries
Contents of the parent map.
-
changedNodes
protected java.util.Set changedNodes
Set of changed changedNodes for the parent map. Includes childs and parents.
-
childCount
protected java.util.Map childCount
Maps parents to integers with the future number of childs.
-
-
Method Detail
-
create
public static ParentMap create(GraphModel m, java.lang.Object[] c, boolean remove, boolean onlyUsePassedInCells)
Returns a parent map that represents the insertion or removal ofcells
inmodel
based onremove
. Unselected childs of selected nodes are moved to the first unselected parent of that node.Note: Consequently, cells "move up" one level when their parent is removed. Note: onlyUsePassedInCells can be used to indicate if only cells from the passed-in cell array are allowed parents. This is only used if remove is not true.
-
addEntry
public void addEntry(java.lang.Object child, java.lang.Object parent)
Add a new entry for this child, parent pair to the parent map. The child and parent are added to the set of changed nodes. Note: The previous parent is changed on execution of this parent map and must be added by the GraphModel and reflected by the GraphChange.getChanged method. TODO: In general, the GraphModel should be in charge of computing the set of changed cells.
-
addEntries
public void addEntries(java.lang.Object[] children, java.lang.Object parent)
Adds all child parent pairs using addEntry.
-
size
public int size()
Returns the number of entries.
-
entries
public java.util.Iterator entries()
Returns anIterator
for the entries in the map.
-
getChangedNodes
public java.util.Set getChangedNodes()
Returns aSet
for the nodes, childs and parents, in this parent map.
-
clone
public ParentMap clone(java.util.Map map)
Creates a new parent map based on this parent map, where the child and parents are mapped usingmap
. If one the cells is not inmap
, then the original cell is used instead.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-