package shape; import javafx.geometry.Point2D; import javafx.scene.canvas.GraphicsContext; public abstract class Decorator implements Shape { protected Shape decoratedshape; public Decorator(Shape decoratedShape) { this.decoratedshape = decoratedShape; } @Override public int pointsCount() { return decoratedshape.pointsCount(); } @Override public Point2D point(int index) { return decoratedshape.point(index); } @Override public void draw(GraphicsContext context) { decoratedshape.draw(context); drawDecoration(context); } protected void drawDecoration(GraphicsContext context) { } }