package designPatternExtensions.designPattern;

import models.objectOrientedTransfer.*;

import java.util.ArrayList;

//メモ
//https://github.com/iluwatar/java-design-patterns/tree/master/singleton

public class Singleton implements DesignPattern{
    public DataTransferDesign 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);
        DataTransferContext context = new DataTransferContext(
                new ArrayList<>(), transferRelation, data, "data", PushPullValue.PULL
        );

        return new DataTransferDesign(context);
    }
}