JGraph
v5.12.2.1


org.jgraph.graph
Class AttributeMap

java.lang.Object
  extended byjava.util.Dictionary
      extended byjava.util.Hashtable
          extended byorg.jgraph.graph.AttributeMap
All Implemented Interfaces:
Cloneable, Map, Serializable

public class AttributeMap
extends Hashtable
implements Cloneable

A map specifically for the storage of attributes of graph cells. The main advantage of the AttributeMap is that it allows to override cell view behaviour for scaling, translation, diffing, and cloning on a per instance basis without having to change the GraphConstants class

See Also:
Serialized Form

Nested Class Summary
static class AttributeMap.SerializablePoint2D
           
static class AttributeMap.SerializableRectangle2D
           
 
Field Summary
static AttributeMap emptyAttributeMap
          Shared empty attribute map to return instead of null in applyMap.
 
Constructor Summary
AttributeMap()
          Creates a new attribute map with an initial capacity of 8.
AttributeMap(int initialCapacity)
          Creates a new attribute map with the specified initial capacity
AttributeMap(int initialCapacity, float loadCapacity)
          Constructs a new, empty hashtable with the specified initial capacity and the specified load factor.
AttributeMap(Map map)
          Constructs a new AttributeMap with the same mappings as the given Map.
 
Method Summary
 AttributeMap applyMap(Map change)
          Apply the change to this views attributes.
 Object applyValue(Object key, Object value)
          Apply the key to value
 Object clone()
          Returns a clone of map, from keys to values.
 AttributeMap cloneEntries(AttributeMap newMap)
          Clones special object entried in the given map.
 List clonePoints(List points)
          Returns a list where all instances of PortView are replaced by their correspnding Point instance.
 List clonePoints(Object[] points, boolean convertPortViews)
          Returns a list where all instances of PortView are replaced by their correspnding Point instance.
 Point2D[] clonePoints(Point2D[] points)
          Returns a list where all instances of PortView are replaced by their correspnding Point instance.
 Point2D createPoint()
          Creates a point of suitable type for this attribute map
 Point2D createPoint(double x, double y)
          Creates a point of suitable type for this attribute map with the same values as those passed in
 Point2D createPoint(Point2D p)
          Creates a point of suitable type for this attribute map with the same values as the point passed in
 Rectangle2D createRect()
          Creates a rectangle of suitable type for this attribute map
 Rectangle2D createRect(double x, double y, double w, double h)
          Creates a rectangle of suitable type for this attribute map with the same values as those passed in
 Rectangle2D createRect(double x, double y, double w, double h, double grow1, double grow2)
          Creates a rectangle of suitable type for this attribute map
 Rectangle2D createRect(Point2D pt)
          Creates a rectangle of suitable type for this attribute map at the position of the point passed in
 Rectangle2D createRect(Point2D pt, double size)
          Creates a rectangle of suitable type for this attribute map at the position of the point passed in with lengths size
 Rectangle2D createRect(Rectangle2D rect)
          Clones the rectangle passed in
 Rectangle2D createRect(Rectangle2D rect, double grow1, double grow2)
          Creates a clone of the rectangle passed in and manipulates it by grow1 and grow2
 Map diff(Map newState)
          Returns a new map that contains all (key, value)-pairs of newState where either key is not used or value is different for key in oldState.
 void scale(double sx, double sy, Point2D origin)
          Scales map by the given amount.
static void translate(Collection c, double dx, double dy)
          Translates the maps in c using translate(Map, int, int).
 void translate(double dx, double dy)
          Translates map by the given amount.
 
Methods inherited from class java.util.Hashtable
clear, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

emptyAttributeMap

public static transient AttributeMap emptyAttributeMap
Shared empty attribute map to return instead of null in applyMap.

Constructor Detail

AttributeMap

public AttributeMap()
Creates a new attribute map with an initial capacity of 8.


AttributeMap

public AttributeMap(int initialCapacity)
Creates a new attribute map with the specified initial capacity

Parameters:
initialCapacity - the initial capacity of the new map

AttributeMap

public AttributeMap(int initialCapacity,
                    float loadCapacity)
Constructs a new, empty hashtable with the specified initial capacity and the specified load factor.

Parameters:
initialCapacity - the initial capacity of the hashtable.
loadCapacity - the load factor of the hashtable.

AttributeMap

public AttributeMap(Map map)
Constructs a new AttributeMap with the same mappings as the given Map.

Parameters:
map - the input map to copy
Method Detail

createPoint

public Point2D createPoint()
Creates a point of suitable type for this attribute map

Returns:
a new point

createPoint

public Point2D createPoint(Point2D p)
Creates a point of suitable type for this attribute map with the same values as the point passed in

Parameters:
p - the point whose values the new point are to be based on
Returns:
a new copy of the point passed in

createPoint

public Point2D createPoint(double x,
                           double y)
Creates a point of suitable type for this attribute map with the same values as those passed in

Parameters:
x - the x-coordinate position of the new point
y - the y-coordinate position of the new point
Returns:
a new point at the coordinates passed in

createRect

public Rectangle2D createRect()
Creates a rectangle of suitable type for this attribute map

Returns:
a new rectangle

createRect

public Rectangle2D createRect(double x,
                              double y,
                              double w,
                              double h)
Creates a rectangle of suitable type for this attribute map with the same values as those passed in

Parameters:
x - the x-coordinate position of the new rectangle
y - the y-coordinate position of the new rectangle
w - the width of the new rectangle
h - the height of the new rectangle
Returns:
a new rectangle at the coordinates and of the dimensions passed in

createRect

public Rectangle2D createRect(Point2D pt)
Creates a rectangle of suitable type for this attribute map at the position of the point passed in

Parameters:
pt - the position of the new rectangle
Returns:
a new rectangle the specified coordinates of zero size

createRect

public Rectangle2D createRect(Point2D pt,
                              double size)
Creates a rectangle of suitable type for this attribute map at the position of the point passed in with lengths size

Parameters:
pt - the position of the new rectangle
size - the length of both sides of the rectangle
Returns:
a new rectangle the specified position and dimensions

createRect

public Rectangle2D createRect(Rectangle2D rect)
Clones the rectangle passed in

Parameters:
rect - the rectangle to clone
Returns:
a copy of the rectangle passed in

createRect

public Rectangle2D createRect(double x,
                              double y,
                              double w,
                              double h,
                              double grow1,
                              double grow2)
Creates a rectangle of suitable type for this attribute map

Parameters:
x - the x-coordinate position of the new rectangle
y - the y-coordinate position of the new rectangle
w - the width of the new rectangle
h - the height of the new rectangle
grow1 - the amount both dimensions are to be increased by and the position coorindates of the rectangle are to be decreased by
grow2 - the additional amount by which both dimensions are to be increased by
Returns:
a new rectangle at the coordinates and of the dimensions passed in

createRect

public Rectangle2D createRect(Rectangle2D rect,
                              double grow1,
                              double grow2)
Creates a clone of the rectangle passed in and manipulates it by grow1 and grow2

Parameters:
grow1 - the amount both dimensions are to be increased by and the position coorindates of the rectangle are to be decreased by
grow2 - the additional amount by which both dimensions are to be increased by
Returns:
a new rectangle at the coordinates and of the dimensions passed in

applyMap

public AttributeMap applyMap(Map change)
Apply the change to this views attributes. change must be a Map previously obtained from this object.

Parameters:
change - the change to apply
Returns:
a map that may be used to undo the change to target.

applyValue

public Object applyValue(Object key,
                         Object value)
Apply the key to value

Parameters:
key - the map key whose value is to be altered
value - the new value to be applied to the specified key
Returns:
the old value.

clonePoints

public Point2D[] clonePoints(Point2D[] points)
Returns a list where all instances of PortView are replaced by their correspnding Point instance.

Parameters:
points - the points to be cloned
Returns:
the cloned points

clonePoints

public List clonePoints(List points)
Returns a list where all instances of PortView are replaced by their correspnding Point instance.

Parameters:
points - the points to be cloned
Returns:
the cloned points

clonePoints

public List clonePoints(Object[] points,
                        boolean convertPortViews)
Returns a list where all instances of PortView are replaced by their correspnding Point instance.


translate

public static void translate(Collection c,
                             double dx,
                             double dy)
Translates the maps in c using translate(Map, int, int).


translate

public void translate(double dx,
                      double dy)
Translates map by the given amount.


scale

public void scale(double sx,
                  double sy,
                  Point2D origin)
Scales map by the given amount.


diff

public Map diff(Map newState)
Returns a new map that contains all (key, value)-pairs of newState where either key is not used or value is different for key in oldState. In other words, this method removes the common entries from oldState and newState, and returns the "difference" between the two. This method never returns null.


clone

public Object clone()
Returns a clone of map, from keys to values. If the map contains bounds or points, these are cloned as well. References to PortViews are replaces by points.
Note: Extend this method to clone custom user objects.


cloneEntries

public AttributeMap cloneEntries(AttributeMap newMap)
Clones special object entried in the given map.


JGraph
v5.12.2.1


Copyright (C) 2001-2008 Gaudenz Alder. All rights reserved.