Class 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.
    • Constructor Summary

      Constructors 
      Constructor Description
      ParentMap()
      Constructs a ParentMap object.
      ParentMap​(java.lang.Object[] children, java.lang.Object parent)
      Constructs a ParentMap object.
    • 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 using map.
      static ParentMap create​(GraphModel m, java.lang.Object[] c, boolean remove, boolean onlyUsePassedInCells)
      Returns a parent map that represents the insertion or removal of cells in model based on remove.
      java.util.Iterator entries()
      Returns an Iterator for the entries in the map.
      java.util.Set getChangedNodes()
      Returns a Set for the nodes, childs and parents, in this parent map.
      int size()
      Returns the number of entries.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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.
    • Constructor Detail

      • ParentMap

        public ParentMap()
        Constructs a ParentMap object.
      • ParentMap

        public ParentMap​(java.lang.Object[] children,
                         java.lang.Object parent)
        Constructs a ParentMap object.
    • 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 of cells in model based on remove. 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 an Iterator for the entries in the map.
      • getChangedNodes

        public java.util.Set getChangedNodes()
        Returns a Set 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 using map. If one the cells is not in map, then the original cell is used instead.

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object