Newer
Older
RDLCanvas / src / main / java / org / ntlab / rdlcanvas / models / RDLSpecInitialization.java
package org.ntlab.rdlcanvas.models;

public class RDLSpecInitialization implements RDLSpecStatement {
    RDLSpecEvaluatableTerm leftSideHand;
    RDLSpecEvaluatableTerm rightSideHand;

    public RDLSpecInitialization(RDLSpecEvaluatableTerm leftSideHand, RDLSpecEvaluatableTerm rightSideHand) {
        this.leftSideHand = leftSideHand;
        this.rightSideHand = rightSideHand;
    }

    public RDLSpecEvaluatableTerm getLeftSideHand() {
        return leftSideHand;
    }

    public RDLSpecEvaluatableTerm getRightSideHand() {
        return rightSideHand;
    }

    @Override
    public boolean isRDLSpecInitialization() {
        return true;
    }

    @Override
    public boolean isRDLSpecResourceDeclaration() {
        return false;
    }

    @Override
    public String toString() {
        return leftSideHand + " := " + rightSideHand;
    }

    @Override
    public boolean equals(Object another) {
        if (!(another instanceof RDLSpecInitialization anotherInitialization)) {
            return false;
        }
        return leftSideHand.equals(anotherInitialization.getLeftSideHand()) && rightSideHand.equals(anotherInitialization.getRightSideHand());
    }

    @Override
    public int hashCode() {
        return toString().hashCode();
    }
}