Package ballwar.model.paint

Interface Summary
IShapeFactory Abstract factory that creates a Shape for use as prototype shapes in IPaintStrategies.
 

Class Summary
ADecoratorPaintStrategy Abstract class that provides default behavior for subclasses that will decorate another IPaintStrategy to add functionality to that strategy.
AnimatePaintStrategy Concrete paint strategy that cycles through a sequence of paint strategies, painting one per paint update.
APaintStrategy An abstract paint strategy that provides default behavior for its subclasses.
BallPaintStrategy Paint strategy that paints a filled circle with the Ball's radius.
BirdSheepImagePaintStrategy An example of an ImagePaintStrategy that randomly picks one of two animated image files to display when it is instantiated.
EllipsePaintStrategy Paint strategy to paint an ellipse shape
EllipseShapeFactory Concrete shape factory that instantiates Ellipse2D.Double shapes.
Fish1PaintStrategy Paint strategy that paints a fish-shaped Polygon generated by a Fish1PolyfonFactory.
Fish1PolygonFactory Concrete PolygonFactory that creates fish-shaped Polygons that have a longer tail and an open mouth.
Fish2PaintStrategy Paint strategy that paints a fish-shaped Polygon generated by a Fish2PolyfonFactory.
Fish2PolygonFactory Concrete PolygonFactory that creates fish-shaped Polygons that have a shorter tail and a closed mouth.
FixedColorDecoratorPaintStrategy Decorator paint strategy that decorates another IPaintStrategy and causes the painted color to always be a specified, fixed color.
ImagePaintStrategy Paint strategy that paints an image from a file, scaled to the host Ball's radius.
MultiPaintStrategy A composite design pattern exension of APaintStrategy that paints a set of paint strategies.
NiceFishPaintStrategy Subclass of MultiPaintStrategy that uses a SwimFishPaintStrategy and an EllipsePaintStrategy to paint a swimming fish shape that has an eye.
PolygonFactory Concrete IShapeFactory that provides the invariant behavior to instantiate a Shape that is a Polygon.
RectanglePaintStrategy Concrete paint strategy that paints a rectangular shape scaled to the size of the ball.
RectangleShapeFactory Concrete IShapeFactory that instantiates Rectangle2d.Double shapes.
ShapePaintStrategy Concrete class that defines invariant painting behaviors for all Shape subclasses.
SquarePaintStrategy Paint strategy that paints a filled square with the Ball's radius.
SwimFishPaintStrategy Subclass of AnimatePaintStrategy that alternates between a Fish1PaintStrategy and a Fish2PaintStrategy.