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