package designPatternExtensions;

import models.objectOrientedTransfer.ObjectNode;

import java.util.HashSet;
import java.util.Set;

public class InterfaceNode extends ObjectNode {
    private Set<ObjectNode> dependencySideNodes = new HashSet<>();
    private ObjectNode implementSideNode = null;

    public InterfaceNode(ObjectNode implementSideNode, String name) {
        super(name);
        this.implementSideNode = implementSideNode;
    }

    public InterfaceNode(ObjectNode dependencySideNode, ObjectNode implementSideNode, String name) {
        super(name);
        this.dependencySideNodes.add(dependencySideNode);
        this.implementSideNode = implementSideNode;
    }

    public Set<ObjectNode> getDependencySideNodes() {
        return dependencySideNodes;
    }

    public void addDependencySideNode(ObjectNode node) {
        dependencySideNodes.add(node);
    }

    public ObjectNode getImplementSideNode() {
        return implementSideNode;
    }

    public void setImplementSideNode(ObjectNode implementSideNode) {
        this.implementSideNode = implementSideNode;
    }
}