AttributeMap (JGraph v5.12.4.2 API Specification)
Keywords: org.jgraph.graph.AttributeMap class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JGraph v5.12.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jgraph.graph
Class AttributeMap

    java.lang.Object
      java.util.Dictionary
          java.util.Hashtable
              org.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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JGraph v5.12.4.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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