/** * */ package se.sics.kompics.ide.model.ast; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.dom.ASTNode; import se.sics.kompics.ide.Activator; import se.sics.kompics.model.kompicsComponents.Event; import se.sics.kompics.model.kompicsComponents.KompicsComponentsPackage; import se.sics.kompics.model.kompicsComponents.PortType; /** * The <code>ASTPortType</code> . * * @author Lars Kroll <lkr@lars-kroll.com> * @version $Id: $ * */ public class ASTPortType extends ASTModelObject { private PortType model; public ASTPortType(String id, PortType model, ASTNode node) { super(id, node, model.eClass()); this.model = model; } public PortType getModel() { return this.model; } public void setModel(PortType port) { this.model = port; } @Override public EObject getEObject() { return model; } @Override public void addToModel(EObject obj, int environmentModifier) { if (obj.eClass().getClassifierID() == KompicsComponentsPackage.EVENT) { Event e = (Event) obj; switch (environmentModifier) { case ASTModelObject.PROVIDED_PORT: model.getIndications().add(e); break; case ASTModelObject.REQUIRED_PORT: model.getRequests().add(e); break; default: Activator.log("Event " + e.getType() + " is marked neither indication, nor request!"); } } } }