Newer
Older
DesignCraft / src / main / java / designPatternExtensions / MediatorInsertion.java
@c-okada c-okada 6 hours ago 1 KB デザインパターン再現
package designPatternExtensions;

import models.objectOrientedTransfer.DataTransferContext;
import models.deltaAlgebra.ObjectNode;
import models.objectOrientedTransfer.PushPullValue;

public class MediatorInsertion {
    private ObjectNode src;
    private ObjectNode dst;
    private ObjectNode mediator;
    private PushPullValue pushPullValue;
    private boolean removeDirectDependency = true;

    //全デザインパターンに適応出来たら不要になるメソッド
    public MediatorInsertion(ObjectNode src, ObjectNode dst, ObjectNode mediator, DataTransferContext context) {
        this.src = src;
        this.dst = dst;
        this.mediator = mediator;
        this.pushPullValue = context.getTransferStyle();
    }

    public MediatorInsertion(ObjectNode src, ObjectNode dst, ObjectNode mediator, PushPullValue pushPullValue) {
        this(src, dst, mediator, pushPullValue, true);
    }

    public MediatorInsertion(ObjectNode src, ObjectNode dst, ObjectNode mediator, PushPullValue pushPullValue, boolean removeDirectDependency) {
        this.src = src;
        this.dst = dst;
        this.mediator = mediator;
        this.pushPullValue = pushPullValue;
        this.removeDirectDependency = removeDirectDependency;
    }

    public ObjectNode getSrc() {
        return src;
    }

    public ObjectNode getDst() {
        return dst;
    }

    public ObjectNode getMediator() {
        return mediator;
    }

    public PushPullValue getPushPullValue() {
        return pushPullValue;
    }

    public boolean getRemoveDirectDependency() {
        return removeDirectDependency;
    }
}