package designPatternExtensions.designPattern;
import designPatternExtensions.*;
import models.objectOrientedTransfer.*;
import designPatternExtensions.ModelLoader;
//https://github.com/iluwatar/java-design-patterns/tree/master/state
// Mammoth内でConcreteStateのMapを持てたら再現できたといえる?
public class State implements DesignPattern {
public DataTransferDesign create() throws IllegalRelationException {
DataTransferDesign design = ModelLoader.load("models/designPattern/State.Json");
ObjectNode main = design.getTransferContexts().getFirst().getSrcFirstResource();
ObjectNode concreteState = design.getTransferContexts().getFirst().getDstFirstResource();
// MediatorInsertion mi = new MediatorInsertion(
// main, concreteState, new ObjectNode("Mammoth"));
// design.addMediatorInsertion(mi);
DependencyInversion di = new DependencyInversion(
concreteState, new InterfaceNode(concreteState, "State"));
design.addDependencyInversion(di);
return design;
}
}