Newer
Older
DesignCraft / src / main / java / designPatternExtensions / designPattern / MediatorInsertionTest.java
@c-okada c-okada 11 days ago 1 KB ・presenterInsertionを追加

package designPatternExtensions.designPattern;

        import designPatternExtensions.*;
        import models.objectOrientedTransfer.*;

public class MediatorInsertionTest implements DesignPattern {

    public DataTransferDesign create() throws IllegalRelationException {
        DataTransferDesign design = ModelLoader.load("models/designPattern/MediatorInsertionTest.Json");
        DataTransferContext dtc = design.getTransferContexts().getFirst();
        ObjectNode a = dtc.getSrcFirstResource();
        ObjectNode b = dtc.getDstFirstResource();
//
//        ObjectNode me = new ObjectNode("Me");
//        MediatorInsertion mi = new MediatorInsertion(a, b, me, dtc.getTransferStyle());
//        design.addMediatorInsertion(mi);

        ObjectNode presenter = new ObjectNode("Presenter");
        PresenterInsertion pi = new PresenterInsertion(a, b, presenter, dtc.getTransferStyle());
        design.addPresenterInsertion(pi);

        return design;
    }
}


//A側Mediatorのsetter作成

//PresenterのSetDataをupdateDataとして命名されるように

//Contextを持たせる理由
//DataTransferDesignにはContextのリストがあり、その時に、いずれかのコンテキストのデータ転送かを
//判別する必要があると思うので、それを区別するためにMediatorInsertionの引数に渡している

// Meが主導に時はPULL->PUSHになる -> PresenterInsertion or ControllerInsertionとして扱い
//PULLPULL PUSHPUSHはMediatorInsertionとして扱う