package lectures.inheritance_vs_delegation.abstract_methods;
import util.annotations.WebDocuments;

import lectures.arrays.collections_kinds.extra.PointHistory;
import lectures.graphics.ACartesianPoint;
import lectures.graphics.Point;

@WebDocuments({"Lectures/InheritanceVsDelegationAbstractMethods.pptx", "Lectures/InheritanceVsDelegationAbstractMethods.pdf", "Videos/InheritanceVsDelegationAbstractMethods.avi"})
public class ADelegatingCartesianPointHistory implements DelegatingPointHistory{
    PointHistory delegate;
    public void addElement(int x, int y) {
        delegate.addElement(x, y);
    }
    public Point elementAt(int index) {
        return delegate.elementAt(index);
    }
    public int size() {
        return delegate.size();
    }
    public Point createPoint(int x, int y) {
        return new ACartesianPoint(x, y);
    }
}