package designPatternExtensions;
import models.objectOrientedTransfer.*;
public class Adapter {
public static DataTransferDesign create() throws IllegalRelationException {
ObjectNode fishingBoat = new ObjectNode("FishingBoat");
ObjectNode captain = new ObjectNode("Captain");
ObjectNode data = new ObjectNode("String");
Relation transferRelation = new Relation(fishingBoat, captain, MultiplicityValue.OneToOne);
DataTransferContext context = new DataTransferContext(new java.util.ArrayList<>(), transferRelation, data, "data", PushPullValue.PULL);
DataTransferDesign design = new DataTransferDesign(context);
ObjectNode adapter = new ObjectNode("FishingBoatAdapter");
MediatorInsertion mi = new MediatorInsertion(captain, fishingBoat, adapter);
design.addMediatorInsertion(mi);
DependencyInversion di = new DependencyInversion(adapter, new InterfaceNode(adapter, "RowingBoat"), captain);
design.addDependencyInversion(di);
return design;
}
}