Package diva.canvas.toolbox
Class TypedDecorator
- java.lang.Object
-
- diva.canvas.AbstractFigure
-
- diva.canvas.AbstractFigureContainer
-
- diva.canvas.FigureDecorator
-
- diva.canvas.toolbox.TypedDecorator
-
- All Implemented Interfaces:
CanvasComponent
,Figure
,FigureContainer
,FigureSet
,VisibleComponent
,UserObjectContainer
public class TypedDecorator extends FigureDecorator
A FigureDecorator implementation which simply acts as a set of prototypes which can be instantiated according to the type of object the decorator is applied to. Instances of this class will throw an exception if they are actually placed into a figure hierarchy. They can, however, be passed to methods that expect a decorator instance that is to be used as a prototype for other instances.- Version:
- $Id$
- Author:
- John Reekie, Michael Shilman
- Pt.AcceptedRating:
- Red
-
-
Constructor Summary
Constructors Constructor Description TypedDecorator()
A typed decorator that uses a BasicHighlighter as its default.TypedDecorator(FigureDecorator defaultDecorator)
A typed decorator with the given decorator as its default.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDecorator(java.lang.Class c, FigureDecorator d)
Add a decorator which is duplicated when an object of the given class is passed to the newInstance() method.FigureDecorator
newInstance(Figure f)
Return a new decorator, according to the type of the figure.void
removeDecorator(java.lang.Class c)
Remove a decorator.void
setParent(CanvasComponent fc)
Throw an exception.-
Methods inherited from class diva.canvas.FigureDecorator
add, contains, figures, figuresFromBack, figuresFromFront, getBounds, getChild, getContainer, getDecoratedFigure, getFigureCount, getShape, hit, paint, remove, replaceChild, setChild, transform, translate
-
Methods inherited from class diva.canvas.AbstractFigureContainer
decorate, pick, pick, repaint, undecorate
-
Methods inherited from class diva.canvas.AbstractFigure
contains, getInteractor, getLayer, getOrigin, getParent, getToolTipText, getTransformContext, getUserObject, intersects, isVisible, paint, repaint, setInteractor, setToolTipText, setUserObject, setVisible
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface diva.canvas.CanvasComponent
getTransformContext, repaint
-
Methods inherited from interface diva.canvas.VisibleComponent
isVisible, paint, setVisible
-
-
-
-
Constructor Detail
-
TypedDecorator
public TypedDecorator()
A typed decorator that uses a BasicHighlighter as its default.
-
TypedDecorator
public TypedDecorator(FigureDecorator defaultDecorator)
A typed decorator with the given decorator as its default.
-
-
Method Detail
-
addDecorator
public void addDecorator(java.lang.Class c, FigureDecorator d)
Add a decorator which is duplicated when an object of the given class is passed to the newInstance() method.
-
newInstance
public FigureDecorator newInstance(Figure f)
Return a new decorator, according to the type of the figure.- Specified by:
newInstance
in classFigureDecorator
- Parameters:
f
- The figure- Returns:
- The new instance of the figure decorator.
-
removeDecorator
public void removeDecorator(java.lang.Class c)
Remove a decorator.
-
setParent
public void setParent(CanvasComponent fc)
Throw an exception. The exception is thrown to ensure that instances of this class are not inserted into the figure hierarchy. This is a bit clumsy, as this object is really a factory masquerading as a figure.- Specified by:
setParent
in interfaceFigure
- Overrides:
setParent
in classAbstractFigure
- Parameters:
fc
- The parent of the figure.- See Also:
Figure.getParent()
-
-