fcmodeler.view.figures
Class TestNodeShape

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

public class TestNodeShape
extends java.lang.Object
implements NodeShape

A simple example implementation of NodeShape that does not use one of the RectangularShape subclasses in the java.awt.geom package. Instead, TestNodeShape uses a GeneralPath to define the geometry of a simple custom shape.

Since:
JDK1.3
Version:
$Revision: 1.5 $
Author:
Zach Cox

Constructor Summary
TestNodeShape()
          Creates new TestShape
 
Method Summary
 java.lang.Object clone()
          Creates and returns a copy of this TestNodeShape.
 void enclose(java.awt.geom.Rectangle2D rectangle)
          Ensures that this TestNodeShape completely encloses the specified rectangle.
 java.awt.Shape getShape()
          Returns the Shape object represented by this TestNodeShape.
 void position(double x, double y)
          Positions this TestNodeShape at the specified coordinates.
 java.lang.String toString()
           
 void transform(java.awt.geom.AffineTransform transform)
          Transforms this TestNodeShape using the specified AffineTransform.
 void translate(double dx, double dy)
          Translates this TestNodeShape 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

TestNodeShape

public TestNodeShape()
Creates new TestShape
Method Detail

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Creates and returns a copy of this TestNodeShape. The returned Object is guaranteed to be of type TestNodeShape 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 TestNodeShape.
Throws:
java.lang.CloneNotSupportedException - should never be thrown, as this class extends Object and implements Cloneable by implementing NodeShape.

enclose

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

getShape

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

position

public void position(double x,
                     double y)
Positions this TestNodeShape 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()
Overrides:
toString in class java.lang.Object

transform

public void transform(java.awt.geom.AffineTransform transform)
Transforms this TestNodeShape 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.
Specified by:
transform in interface NodeShape
Parameters:
transform - the AffineTransform used to transform this TestNodeShape object.

translate

public void translate(double dx,
                      double dy)
Translates this TestNodeShape 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 the x direction.
dy - the amount to translate in the y direction.