package designPatternExtensions.designPattern;
import designPatternExtensions.MediatorInsertion;
import models.objectOrientedTransfer.*;
import parser.ModelLoader;
import java.util.ArrayList;
//メモ
//https://github.com/iluwatar/java-design-patterns/tree/master/builder
//staticがないとnew Hero().new Builder(...)のような形になり、Builderとして成立しない
//なんならメソッドチェーンもない
public class Builder implements DesignPattern {
public DataTransferDesign create() throws IllegalRelationException {
DataTransferDesign design = ModelLoader.load("models/designPattern/Builder.Json");
ObjectNode builder = design.getTransferContext().getSrcFirstResource();
ObjectNode main = design.getTransferContext().getDstFirstResource();
MediatorInsertion mi = new MediatorInsertion(main, builder, new ObjectNode("Hero"));
design.addMediatorInsertion(mi);
return design;
}
}