package com.sap.runlet.abstractinterpreter.repository; import java.util.Set; import org.eclipse.emf.ecore.EObject; import com.sap.runlet.abstractinterpreter.objects.EntityObject; import com.sap.runlet.abstractinterpreter.objects.Link; public class LinkCreation<LinkMetaObject extends EObject, LinkEndMetaObject extends EObject, MetaClass extends EObject, TypeUsage extends EObject, ClassUsage extends TypeUsage> extends LinkChange<LinkMetaObject, LinkEndMetaObject, MetaClass, TypeUsage, ClassUsage> { public LinkCreation(Link<LinkMetaObject, LinkEndMetaObject, MetaClass, TypeUsage, ClassUsage> link, Integer insertPosition) { super(link, insertPosition); } @Override public boolean isCreate() { return true; } @Override public void apply(Set<EntityObject<LinkMetaObject, LinkEndMetaObject, MetaClass, TypeUsage, ClassUsage>> entities, SimpleLinkContainer<LinkMetaObject, LinkEndMetaObject, MetaClass, TypeUsage, ClassUsage> links) { links.addLink(getObject().clone(), getPosition()); } @Override public String toString() { return "cl(" + (getObject().isOrdered() ? getPosition() + ", " : "") + getObject() +")"; } @Override public void addTo(ChangeSetImpl<LinkMetaObject, LinkEndMetaObject, MetaClass, TypeUsage, ClassUsage> changeSetImpl) { changeSetImpl.linkCreated(getObject(), getPosition()); } }