/** * */ package se.sics.kompics.ide.model.ast; import org.eclipse.emf.ecore.EObject; import org.eclipse.jdt.core.dom.ASTNode; import se.sics.kompics.model.kompicsComponents.Channel; import se.sics.kompics.model.kompicsComponents.KompicsComponentsPackage; import se.sics.kompics.model.kompicsComponents.Port; import se.sics.kompics.model.kompicsComponents.PortType; /** * The <code>ASTChannel</code> . * * @author Lars Kroll <lkr@lars-kroll.com> * @version $Id: $ * */ public class ASTChannel extends ASTModelObject { private final Channel model; public ASTChannel(String id, Channel model, ASTNode node) { super(id, node, model.eClass()); this.model = model; } public Channel getModel() { return this.model; } @Override public EObject getEObject() { return model; } @Override public void addToModel(EObject obj, int environmentModifier) { if (obj.eClass().getClassifierID() == KompicsComponentsPackage.PORT) { if (environmentModifier == ASTModelObject.PROVIDED_PORT) { model.setProvided((Port) obj); } else if (environmentModifier == ASTModelObject.REQUIRED_PORT) { model.setRequired((Port) obj); } } else if (obj.eClass().getClassifierID() == KompicsComponentsPackage.PORT_TYPE) { model.setPortType((PortType) obj); } } }