package designPatternExtensions.designPattern;
import models.deltaAlgebra.MultiplicityValue;
import models.deltaAlgebra.ObjectNode;
import models.dataSynchronizationModel.*;
import java.util.ArrayList;
//メモ
//https://github.com/iluwatar/java-design-patterns/tree/master/singleton
public class Singleton implements DesignPattern{
public DataSynchronizationDesign create() throws IllegalRelationException {
ObjectNode client = new ObjectNode("Client");
ObjectNode enumIvoryTower = new ObjectNode("EnumIvoryTower");
ObjectNode data = new ObjectNode("data");
Relation transferRelation = new Relation(enumIvoryTower, client, MultiplicityValue.OneToOne);
DataSynchronizationContext context = new DataSynchronizationContext(
new ArrayList<>(), transferRelation, "data", TransferStyle.PULL
);
return new DataSynchronizationDesign(context);
}
}