fcmodeler.view.figures
Class DiamondNodeShape

java.lang.Object
  |
  +--fcmodeler.view.figures.DiamondNodeShape
All Implemented Interfaces:
java.lang.Cloneable, NodeShape

public class DiamondNodeShape
extends java.lang.Object
implements NodeShape

A NodeShape implementation providing a diamond node shape. DiamondNodeShape uses a GeneralPath as its Shape object.

Since:
JDK1.3
Version:
 
Author:
xein

Constructor Summary
DiamondNodeShape()
          Creates a new DiamondNodeShape inside a rectangle (0, 0, 4, 4)
DiamondNodeShape(double x, double y, double w, double h)
          Creates a new DiamondNodeShape inside a rectangle (x, y, w, h)
 
Method Summary
 java.lang.Object clone()
          Creates and returns a copy of this DiamondNodeShape.
 void enclose(java.awt.geom.Rectangle2D rectangle)
          Ensures that this DiamondNodeShape completely encloses the specified rectangle.
 java.awt.Shape getShape()
          Returns the Shape object represented by this DiamondNodeShape.
 void position(double x, double y)
          Positions this DiamondNodeShape at the specified coordinates.
 java.lang.String toString()
          The String representation of this DiamondNodeShape object
 void transform(java.awt.geom.AffineTransform at)
          Transforms this DiamondNodeShape using the specified AffineTransform.
 void translate(double dx, double dy)
          Translates this DiamondNodeShape by the specified x and y values.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DiamondNodeShape

public DiamondNodeShape()
Creates a new DiamondNodeShape inside a rectangle (0, 0, 4, 4)

DiamondNodeShape

public DiamondNodeShape(double x,
                        double y,
                        double w,
                        double h)
Creates a new DiamondNodeShape inside a rectangle (x, y, w, h)
Parameters:
x - x-coordinate of this DiamondNodeShape.
y - y-coordinate of this DiamondNodeShape.
w - width of this DiamondNodeShape.
h - height of this DiamondNodeShape.
Method Detail

getShape

public java.awt.Shape getShape()
Returns the Shape object represented by this DiamondNodeShape.
Specified by:
getShape in interface NodeShape
Returns:
the Shape object represented by this DiamondNodeShape.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Creates and returns a copy of this DiamondNodeShape. The returned Object is guaranteed to be of type DiamondNodeShape and is also guaranteed to have copies of any mutable fields of this object.
Specified by:
clone in interface NodeShape
Overrides:
clone in class java.lang.Object
Returns:
a clone of this DiamondNodeShape object.
Throws:
java.lang.CloneNotSupportedException - should never be thrown, as this class extends Object and implements Cloneable by implementing NodeShape.

translate

public void translate(double dx,
                      double dy)
Translates this DiamondNodeShape by the specified x and y values. Note that calling this method may create a new Shape instance. Therefore, a new call to getShape may be necessary after calling this method.
Specified by:
translate in interface NodeShape
Parameters:
dx - the amount to translate in the x direction.
dy - the amount to translate in the y direction.

transform

public void transform(java.awt.geom.AffineTransform at)

Transforms this DiamondNodeShape using the specified AffineTransform. Note that calling this method may create a new Shape instance. Therefore, a new call to getShape may be necessary after calling this method.

This method currently throws an UnsupportedOperationException until a further research is done on whether AffineTransform will work with GeneralPath.

Specified by:
transform in interface NodeShape
Parameters:
transform - the AffineTransform used to transform this DiamondNodeShape object.

enclose

public void enclose(java.awt.geom.Rectangle2D rectangle)
Ensures that this DiamondNodeShape completely encloses the specified rectangle.
Specified by:
enclose in interface NodeShape
Parameters:
rectangle - the rectangle to enclose.

position

public void position(double x,
                     double y)
Positions this DiamondNodeShape at the specified coordinates. Note that calling this method may create a new Shape instance. Therefore, a new call to getShape may be necessary after calling this method.
Specified by:
position in interface NodeShape
Parameters:
x - the x-coordinate of the new position.
y - the y-coordinate of the new position.

toString

public java.lang.String toString()
The String representation of this DiamondNodeShape object
Overrides:
toString in class java.lang.Object
Returns:
the String representation