(ProcessElement.class, this, SimplepdlPackage.PROCESS__PROCESS_ELEMENTS);
+ }
+ return processElements;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
+ return ((InternalEList>)getProcessElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS__NAME:
+ return getName();
+ case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
+ return getProcessElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS__NAME:
+ setName((String)newValue);
+ return;
+ case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
+ getProcessElements().clear();
+ getProcessElements().addAll((Collection extends ProcessElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
+ getProcessElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.PROCESS__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
+ return processElements != null && !processElements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ProcessImpl
diff --git a/fr.n7.simplePDL/src/simplepdl/impl/RequestImpl.java b/fr.n7.simplePDL/src/simplepdl/impl/RequestImpl.java
new file mode 100644
index 0000000..4489022
--- /dev/null
+++ b/fr.n7.simplePDL/src/simplepdl/impl/RequestImpl.java
@@ -0,0 +1,225 @@
+/**
+ */
+package simplepdl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import simplepdl.Request;
+import simplepdl.Resource;
+import simplepdl.SimplepdlPackage;
+
+/**
+ *
+ * An implementation of the model object 'Request'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link simplepdl.impl.RequestImpl#getQuantity Quantity}
+ * - {@link simplepdl.impl.RequestImpl#getTarget Target}
+ *
+ *
+ * @generated
+ */
+public class RequestImpl extends MinimalEObjectImpl.Container implements Request {
+ /**
+ * The default value of the '{@link #getQuantity() Quantity}' attribute.
+ *
+ *
+ * @see #getQuantity()
+ * @generated
+ * @ordered
+ */
+ protected static final int QUANTITY_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getQuantity() Quantity}' attribute.
+ *
+ *
+ * @see #getQuantity()
+ * @generated
+ * @ordered
+ */
+ protected int quantity = QUANTITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTarget() Target}' reference.
+ *
+ *
+ * @see #getTarget()
+ * @generated
+ * @ordered
+ */
+ protected Resource target;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected RequestImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplepdlPackage.Literals.REQUEST;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public int getQuantity() {
+ return quantity;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setQuantity(int newQuantity) {
+ int oldQuantity = quantity;
+ quantity = newQuantity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__QUANTITY, oldQuantity, quantity));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Resource getTarget() {
+ if (target != null && target.eIsProxy()) {
+ InternalEObject oldTarget = (InternalEObject)target;
+ target = (Resource)eResolveProxy(oldTarget);
+ if (target != oldTarget) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.REQUEST__TARGET, oldTarget, target));
+ }
+ }
+ return target;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Resource basicGetTarget() {
+ return target;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setTarget(Resource newTarget) {
+ Resource oldTarget = target;
+ target = newTarget;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__TARGET, oldTarget, target));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__QUANTITY:
+ return getQuantity();
+ case SimplepdlPackage.REQUEST__TARGET:
+ if (resolve) return getTarget();
+ return basicGetTarget();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__QUANTITY:
+ setQuantity((Integer)newValue);
+ return;
+ case SimplepdlPackage.REQUEST__TARGET:
+ setTarget((Resource)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__QUANTITY:
+ setQuantity(QUANTITY_EDEFAULT);
+ return;
+ case SimplepdlPackage.REQUEST__TARGET:
+ setTarget((Resource)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.REQUEST__QUANTITY:
+ return quantity != QUANTITY_EDEFAULT;
+ case SimplepdlPackage.REQUEST__TARGET:
+ return target != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (quantity: ");
+ result.append(quantity);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RequestImpl
diff --git a/fr.n7.simplePDL/src/simplepdl/impl/ResourceImpl.java b/fr.n7.simplePDL/src/simplepdl/impl/ResourceImpl.java
new file mode 100644
index 0000000..3c36103
--- /dev/null
+++ b/fr.n7.simplePDL/src/simplepdl/impl/ResourceImpl.java
@@ -0,0 +1,216 @@
+/**
+ */
+package simplepdl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import simplepdl.Resource;
+import simplepdl.SimplepdlPackage;
+
+/**
+ *
+ * An implementation of the model object 'Resource'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link simplepdl.impl.ResourceImpl#getQuantity Quantity}
+ * - {@link simplepdl.impl.ResourceImpl#getName Name}
+ *
+ *
+ * @generated
+ */
+public class ResourceImpl extends ProcessElementImpl implements Resource {
+ /**
+ * The default value of the '{@link #getQuantity() Quantity}' attribute.
+ *
+ *
+ * @see #getQuantity()
+ * @generated
+ * @ordered
+ */
+ protected static final int QUANTITY_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getQuantity() Quantity}' attribute.
+ *
+ *
+ * @see #getQuantity()
+ * @generated
+ * @ordered
+ */
+ protected int quantity = QUANTITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() Name}' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() Name}' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected ResourceImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplepdlPackage.Literals.RESOURCE;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public int getQuantity() {
+ return quantity;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setQuantity(int newQuantity) {
+ int oldQuantity = quantity;
+ quantity = newQuantity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.RESOURCE__QUANTITY, oldQuantity, quantity));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.RESOURCE__NAME, oldName, name));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SimplepdlPackage.RESOURCE__QUANTITY:
+ return getQuantity();
+ case SimplepdlPackage.RESOURCE__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SimplepdlPackage.RESOURCE__QUANTITY:
+ setQuantity((Integer)newValue);
+ return;
+ case SimplepdlPackage.RESOURCE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.RESOURCE__QUANTITY:
+ setQuantity(QUANTITY_EDEFAULT);
+ return;
+ case SimplepdlPackage.RESOURCE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.RESOURCE__QUANTITY:
+ return quantity != QUANTITY_EDEFAULT;
+ case SimplepdlPackage.RESOURCE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (quantity: ");
+ result.append(quantity);
+ result.append(", name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ResourceImpl
diff --git a/fr.n7.simplePDL/src/simplepdl/impl/SimplepdlFactoryImpl.java b/fr.n7.simplePDL/src/simplepdl/impl/SimplepdlFactoryImpl.java
new file mode 100644
index 0000000..90e5734
--- /dev/null
+++ b/fr.n7.simplePDL/src/simplepdl/impl/SimplepdlFactoryImpl.java
@@ -0,0 +1,208 @@
+/**
+ */
+package simplepdl.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import simplepdl.Guidance;
+import simplepdl.Request;
+import simplepdl.Resource;
+import simplepdl.SimplepdlFactory;
+import simplepdl.SimplepdlPackage;
+import simplepdl.WorkDefinition;
+import simplepdl.WorkSequence;
+import simplepdl.WorkSequenceType;
+
+/**
+ *
+ * An implementation of the model Factory.
+ *
+ * @generated
+ */
+public class SimplepdlFactoryImpl extends EFactoryImpl implements SimplepdlFactory {
+ /**
+ * Creates the default factory implementation.
+ *
+ *
+ * @generated
+ */
+ public static SimplepdlFactory init() {
+ try {
+ SimplepdlFactory theSimplepdlFactory = (SimplepdlFactory)EPackage.Registry.INSTANCE.getEFactory(SimplepdlPackage.eNS_URI);
+ if (theSimplepdlFactory != null) {
+ return theSimplepdlFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SimplepdlFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ *
+ *
+ * @generated
+ */
+ public SimplepdlFactoryImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SimplepdlPackage.WORK_DEFINITION: return createWorkDefinition();
+ case SimplepdlPackage.WORK_SEQUENCE: return createWorkSequence();
+ case SimplepdlPackage.GUIDANCE: return createGuidance();
+ case SimplepdlPackage.PROCESS: return createProcess();
+ case SimplepdlPackage.REQUEST: return createRequest();
+ case SimplepdlPackage.RESOURCE: return createResource();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case SimplepdlPackage.WORK_SEQUENCE_TYPE:
+ return createWorkSequenceTypeFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case SimplepdlPackage.WORK_SEQUENCE_TYPE:
+ return convertWorkSequenceTypeToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public WorkDefinition createWorkDefinition() {
+ WorkDefinitionImpl workDefinition = new WorkDefinitionImpl();
+ return workDefinition;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public WorkSequence createWorkSequence() {
+ WorkSequenceImpl workSequence = new WorkSequenceImpl();
+ return workSequence;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Guidance createGuidance() {
+ GuidanceImpl guidance = new GuidanceImpl();
+ return guidance;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public simplepdl.Process createProcess() {
+ ProcessImpl process = new ProcessImpl();
+ return process;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Request createRequest() {
+ RequestImpl request = new RequestImpl();
+ return request;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public Resource createResource() {
+ ResourceImpl resource = new ResourceImpl();
+ return resource;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public WorkSequenceType createWorkSequenceTypeFromString(EDataType eDataType, String initialValue) {
+ WorkSequenceType result = WorkSequenceType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String convertWorkSequenceTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public SimplepdlPackage getSimplepdlPackage() {
+ return (SimplepdlPackage)getEPackage();
+ }
+
+ /**
+ *
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SimplepdlPackage getPackage() {
+ return SimplepdlPackage.eINSTANCE;
+ }
+
+} //SimplepdlFactoryImpl
diff --git a/fr.n7.simplePDL/src/simplepdl/impl/SimplepdlPackageImpl.java b/fr.n7.simplePDL/src/simplepdl/impl/SimplepdlPackageImpl.java
new file mode 100644
index 0000000..67d8f2d
--- /dev/null
+++ b/fr.n7.simplePDL/src/simplepdl/impl/SimplepdlPackageImpl.java
@@ -0,0 +1,489 @@
+/**
+ */
+package simplepdl.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import simplepdl.Guidance;
+import simplepdl.ProcessElement;
+import simplepdl.Request;
+import simplepdl.Resource;
+import simplepdl.SimplepdlFactory;
+import simplepdl.SimplepdlPackage;
+import simplepdl.WorkDefinition;
+import simplepdl.WorkSequence;
+import simplepdl.WorkSequenceType;
+
+/**
+ *
+ * An implementation of the model Package.
+ *
+ * @generated
+ */
+public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPackage {
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass processElementEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass workDefinitionEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass workSequenceEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass guidanceEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass processEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass requestEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass resourceEClass = null;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private EEnum workSequenceTypeEEnum = null;
+
+ /**
+ * Creates an instance of the model Package, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ *
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see simplepdl.SimplepdlPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SimplepdlPackageImpl() {
+ super(eNS_URI, SimplepdlFactory.eINSTANCE);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the Package for this model, and for any others upon which it depends.
+ *
+ *
This method is used to initialize {@link SimplepdlPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ *
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static SimplepdlPackage init() {
+ if (isInited) return (SimplepdlPackage)EPackage.Registry.INSTANCE.getEPackage(SimplepdlPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object registeredSimplepdlPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ SimplepdlPackageImpl theSimplepdlPackage = registeredSimplepdlPackage instanceof SimplepdlPackageImpl ? (SimplepdlPackageImpl)registeredSimplepdlPackage : new SimplepdlPackageImpl();
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theSimplepdlPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSimplepdlPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSimplepdlPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SimplepdlPackage.eNS_URI, theSimplepdlPackage);
+ return theSimplepdlPackage;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getProcessElement() {
+ return processElementEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getWorkDefinition() {
+ return workDefinitionEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkDefinition_LinksToPredecessors() {
+ return (EReference)workDefinitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkDefinition_LinksToSuccessors() {
+ return (EReference)workDefinitionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getWorkDefinition_Name() {
+ return (EAttribute)workDefinitionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkDefinition_Requests() {
+ return (EReference)workDefinitionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getWorkSequence() {
+ return workSequenceEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getWorkSequence_LinkType() {
+ return (EAttribute)workSequenceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkSequence_Predecessor() {
+ return (EReference)workSequenceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getWorkSequence_Successor() {
+ return (EReference)workSequenceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getGuidance() {
+ return guidanceEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getGuidance_Text() {
+ return (EAttribute)guidanceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getGuidance_Elements() {
+ return (EReference)guidanceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getProcess() {
+ return processEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getProcess_Name() {
+ return (EAttribute)processEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getProcess_ProcessElements() {
+ return (EReference)processEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getRequest() {
+ return requestEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getRequest_Quantity() {
+ return (EAttribute)requestEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EReference getRequest_Target() {
+ return (EReference)requestEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EClass getResource() {
+ return resourceEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getResource_Quantity() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EAttribute getResource_Name() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EEnum getWorkSequenceType() {
+ return workSequenceTypeEEnum;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public SimplepdlFactory getSimplepdlFactory() {
+ return (SimplepdlFactory)getEFactoryInstance();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ processElementEClass = createEClass(PROCESS_ELEMENT);
+
+ workDefinitionEClass = createEClass(WORK_DEFINITION);
+ createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_PREDECESSORS);
+ createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_SUCCESSORS);
+ createEAttribute(workDefinitionEClass, WORK_DEFINITION__NAME);
+ createEReference(workDefinitionEClass, WORK_DEFINITION__REQUESTS);
+
+ workSequenceEClass = createEClass(WORK_SEQUENCE);
+ createEAttribute(workSequenceEClass, WORK_SEQUENCE__LINK_TYPE);
+ createEReference(workSequenceEClass, WORK_SEQUENCE__PREDECESSOR);
+ createEReference(workSequenceEClass, WORK_SEQUENCE__SUCCESSOR);
+
+ guidanceEClass = createEClass(GUIDANCE);
+ createEAttribute(guidanceEClass, GUIDANCE__TEXT);
+ createEReference(guidanceEClass, GUIDANCE__ELEMENTS);
+
+ processEClass = createEClass(PROCESS);
+ createEAttribute(processEClass, PROCESS__NAME);
+ createEReference(processEClass, PROCESS__PROCESS_ELEMENTS);
+
+ requestEClass = createEClass(REQUEST);
+ createEAttribute(requestEClass, REQUEST__QUANTITY);
+ createEReference(requestEClass, REQUEST__TARGET);
+
+ resourceEClass = createEClass(RESOURCE);
+ createEAttribute(resourceEClass, RESOURCE__QUANTITY);
+ createEAttribute(resourceEClass, RESOURCE__NAME);
+
+ // Create enums
+ workSequenceTypeEEnum = createEEnum(WORK_SEQUENCE_TYPE);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ *
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ workDefinitionEClass.getESuperTypes().add(this.getProcessElement());
+ workSequenceEClass.getESuperTypes().add(this.getProcessElement());
+ guidanceEClass.getESuperTypes().add(this.getProcessElement());
+ resourceEClass.getESuperTypes().add(this.getProcessElement());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(processElementEClass, ProcessElement.class, "ProcessElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(workDefinitionEClass, WorkDefinition.class, "WorkDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getWorkDefinition_LinksToPredecessors(), this.getWorkSequence(), this.getWorkSequence_Successor(), "linksToPredecessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkDefinition_LinksToSuccessors(), this.getWorkSequence(), this.getWorkSequence_Predecessor(), "linksToSuccessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getWorkDefinition_Name(), ecorePackage.getEString(), "name", null, 1, 1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkDefinition_Requests(), this.getRequest(), null, "requests", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(workSequenceEClass, WorkSequence.class, "WorkSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getWorkSequence_LinkType(), this.getWorkSequenceType(), "linkType", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkSequence_Predecessor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToSuccessors(), "predecessor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getWorkSequence_Successor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToPredecessors(), "successor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(guidanceEClass, Guidance.class, "Guidance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getGuidance_Text(), ecorePackage.getEString(), "text", null, 1, 1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGuidance_Elements(), this.getProcessElement(), null, "elements", null, 0, -1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(processEClass, simplepdl.Process.class, "Process", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getProcess_Name(), ecorePackage.getEString(), "name", null, 1, 1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProcess_ProcessElements(), this.getProcessElement(), null, "processElements", null, 0, -1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(requestEClass, Request.class, "Request", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRequest_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRequest_Target(), this.getResource(), null, "target", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getResource_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResource_Name(), ecorePackage.getEString(), "name", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(workSequenceTypeEEnum, WorkSequenceType.class, "WorkSequenceType");
+ addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_START);
+ addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_START);
+ addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_FINISH);
+ addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_FINISH);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //SimplepdlPackageImpl
diff --git a/fr.n7.simplePDL/src/simplepdl/impl/WorkDefinitionImpl.java b/fr.n7.simplePDL/src/simplepdl/impl/WorkDefinitionImpl.java
new file mode 100644
index 0000000..3e69f5f
--- /dev/null
+++ b/fr.n7.simplePDL/src/simplepdl/impl/WorkDefinitionImpl.java
@@ -0,0 +1,312 @@
+/**
+ */
+package simplepdl.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import simplepdl.Request;
+import simplepdl.SimplepdlPackage;
+import simplepdl.WorkDefinition;
+import simplepdl.WorkSequence;
+
+/**
+ *
+ * An implementation of the model object 'Work Definition'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link simplepdl.impl.WorkDefinitionImpl#getLinksToPredecessors Links To Predecessors}
+ * - {@link simplepdl.impl.WorkDefinitionImpl#getLinksToSuccessors Links To Successors}
+ * - {@link simplepdl.impl.WorkDefinitionImpl#getName Name}
+ * - {@link simplepdl.impl.WorkDefinitionImpl#getRequests Requests}
+ *
+ *
+ * @generated
+ */
+public class WorkDefinitionImpl extends ProcessElementImpl implements WorkDefinition {
+ /**
+ * The cached value of the '{@link #getLinksToPredecessors() Links To Predecessors}' reference list.
+ *
+ *
+ * @see #getLinksToPredecessors()
+ * @generated
+ * @ordered
+ */
+ protected EList linksToPredecessors;
+
+ /**
+ * The cached value of the '{@link #getLinksToSuccessors() Links To Successors}' reference list.
+ *
+ *
+ * @see #getLinksToSuccessors()
+ * @generated
+ * @ordered
+ */
+ protected EList linksToSuccessors;
+
+ /**
+ * The default value of the '{@link #getName() Name}' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() Name}' attribute.
+ *
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRequests() Requests}' containment reference list.
+ *
+ *
+ * @see #getRequests()
+ * @generated
+ * @ordered
+ */
+ protected EList requests;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected WorkDefinitionImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplepdlPackage.Literals.WORK_DEFINITION;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getLinksToPredecessors() {
+ if (linksToPredecessors == null) {
+ linksToPredecessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR);
+ }
+ return linksToPredecessors;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getLinksToSuccessors() {
+ if (linksToSuccessors == null) {
+ linksToSuccessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR);
+ }
+ return linksToSuccessors;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_DEFINITION__NAME, oldName, name));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public EList getRequests() {
+ if (requests == null) {
+ requests = new EObjectContainmentEList(Request.class, this, SimplepdlPackage.WORK_DEFINITION__REQUESTS);
+ }
+ return requests;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ return ((InternalEList)(InternalEList>)getLinksToPredecessors()).basicAdd(otherEnd, msgs);
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ return ((InternalEList)(InternalEList>)getLinksToSuccessors()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ return ((InternalEList>)getLinksToPredecessors()).basicRemove(otherEnd, msgs);
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ return ((InternalEList>)getLinksToSuccessors()).basicRemove(otherEnd, msgs);
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ return ((InternalEList>)getRequests()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ return getLinksToPredecessors();
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ return getLinksToSuccessors();
+ case SimplepdlPackage.WORK_DEFINITION__NAME:
+ return getName();
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ return getRequests();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ getLinksToPredecessors().clear();
+ getLinksToPredecessors().addAll((Collection extends WorkSequence>)newValue);
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ getLinksToSuccessors().clear();
+ getLinksToSuccessors().addAll((Collection extends WorkSequence>)newValue);
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__NAME:
+ setName((String)newValue);
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ getRequests().clear();
+ getRequests().addAll((Collection extends Request>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ getLinksToPredecessors().clear();
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ getLinksToSuccessors().clear();
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ getRequests().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
+ return linksToPredecessors != null && !linksToPredecessors.isEmpty();
+ case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
+ return linksToSuccessors != null && !linksToSuccessors.isEmpty();
+ case SimplepdlPackage.WORK_DEFINITION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
+ return requests != null && !requests.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //WorkDefinitionImpl
diff --git a/fr.n7.simplePDL/src/simplepdl/impl/WorkSequenceImpl.java b/fr.n7.simplePDL/src/simplepdl/impl/WorkSequenceImpl.java
new file mode 100644
index 0000000..9e6ab81
--- /dev/null
+++ b/fr.n7.simplePDL/src/simplepdl/impl/WorkSequenceImpl.java
@@ -0,0 +1,366 @@
+/**
+ */
+package simplepdl.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import simplepdl.SimplepdlPackage;
+import simplepdl.WorkDefinition;
+import simplepdl.WorkSequence;
+import simplepdl.WorkSequenceType;
+
+/**
+ *
+ * An implementation of the model object 'Work Sequence'.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * - {@link simplepdl.impl.WorkSequenceImpl#getLinkType Link Type}
+ * - {@link simplepdl.impl.WorkSequenceImpl#getPredecessor Predecessor}
+ * - {@link simplepdl.impl.WorkSequenceImpl#getSuccessor Successor}
+ *
+ *
+ * @generated
+ */
+public class WorkSequenceImpl extends ProcessElementImpl implements WorkSequence {
+ /**
+ * The default value of the '{@link #getLinkType() Link Type}' attribute.
+ *
+ *
+ * @see #getLinkType()
+ * @generated
+ * @ordered
+ */
+ protected static final WorkSequenceType LINK_TYPE_EDEFAULT = WorkSequenceType.START_TO_START;
+
+ /**
+ * The cached value of the '{@link #getLinkType() Link Type}' attribute.
+ *
+ *
+ * @see #getLinkType()
+ * @generated
+ * @ordered
+ */
+ protected WorkSequenceType linkType = LINK_TYPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPredecessor() Predecessor}' reference.
+ *
+ *
+ * @see #getPredecessor()
+ * @generated
+ * @ordered
+ */
+ protected WorkDefinition predecessor;
+
+ /**
+ * The cached value of the '{@link #getSuccessor() Successor}' reference.
+ *
+ *
+ * @see #getSuccessor()
+ * @generated
+ * @ordered
+ */
+ protected WorkDefinition successor;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected WorkSequenceImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SimplepdlPackage.Literals.WORK_SEQUENCE;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public WorkSequenceType getLinkType() {
+ return linkType;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setLinkType(WorkSequenceType newLinkType) {
+ WorkSequenceType oldLinkType = linkType;
+ linkType = newLinkType == null ? LINK_TYPE_EDEFAULT : newLinkType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE, oldLinkType, linkType));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public WorkDefinition getPredecessor() {
+ if (predecessor != null && predecessor.eIsProxy()) {
+ InternalEObject oldPredecessor = (InternalEObject)predecessor;
+ predecessor = (WorkDefinition)eResolveProxy(oldPredecessor);
+ if (predecessor != oldPredecessor) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR, oldPredecessor, predecessor));
+ }
+ }
+ return predecessor;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public WorkDefinition basicGetPredecessor() {
+ return predecessor;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPredecessor(WorkDefinition newPredecessor, NotificationChain msgs) {
+ WorkDefinition oldPredecessor = predecessor;
+ predecessor = newPredecessor;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR, oldPredecessor, newPredecessor);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setPredecessor(WorkDefinition newPredecessor) {
+ if (newPredecessor != predecessor) {
+ NotificationChain msgs = null;
+ if (predecessor != null)
+ msgs = ((InternalEObject)predecessor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, WorkDefinition.class, msgs);
+ if (newPredecessor != null)
+ msgs = ((InternalEObject)newPredecessor).eInverseAdd(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, WorkDefinition.class, msgs);
+ msgs = basicSetPredecessor(newPredecessor, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR, newPredecessor, newPredecessor));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public WorkDefinition getSuccessor() {
+ if (successor != null && successor.eIsProxy()) {
+ InternalEObject oldSuccessor = (InternalEObject)successor;
+ successor = (WorkDefinition)eResolveProxy(oldSuccessor);
+ if (successor != oldSuccessor) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR, oldSuccessor, successor));
+ }
+ }
+ return successor;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public WorkDefinition basicGetSuccessor() {
+ return successor;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSuccessor(WorkDefinition newSuccessor, NotificationChain msgs) {
+ WorkDefinition oldSuccessor = successor;
+ successor = newSuccessor;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR, oldSuccessor, newSuccessor);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ public void setSuccessor(WorkDefinition newSuccessor) {
+ if (newSuccessor != successor) {
+ NotificationChain msgs = null;
+ if (successor != null)
+ msgs = ((InternalEObject)successor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, WorkDefinition.class, msgs);
+ if (newSuccessor != null)
+ msgs = ((InternalEObject)newSuccessor).eInverseAdd(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, WorkDefinition.class, msgs);
+ msgs = basicSetSuccessor(newSuccessor, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR, newSuccessor, newSuccessor));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
+ if (predecessor != null)
+ msgs = ((InternalEObject)predecessor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, WorkDefinition.class, msgs);
+ return basicSetPredecessor((WorkDefinition)otherEnd, msgs);
+ case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
+ if (successor != null)
+ msgs = ((InternalEObject)successor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, WorkDefinition.class, msgs);
+ return basicSetSuccessor((WorkDefinition)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
+ return basicSetPredecessor(null, msgs);
+ case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
+ return basicSetSuccessor(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
+ return getLinkType();
+ case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
+ if (resolve) return getPredecessor();
+ return basicGetPredecessor();
+ case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
+ if (resolve) return getSuccessor();
+ return basicGetSuccessor();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
+ setLinkType((WorkSequenceType)newValue);
+ return;
+ case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
+ setPredecessor((WorkDefinition)newValue);
+ return;
+ case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
+ setSuccessor((WorkDefinition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
+ setLinkType(LINK_TYPE_EDEFAULT);
+ return;
+ case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
+ setPredecessor((WorkDefinition)null);
+ return;
+ case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
+ setSuccessor((WorkDefinition)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
+ return linkType != LINK_TYPE_EDEFAULT;
+ case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
+ return predecessor != null;
+ case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
+ return successor != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (linkType: ");
+ result.append(linkType);
+ result.append(')');
+ return result.toString();
+ }
+
+} //WorkSequenceImpl
diff --git a/fr.n7.simplePDL/src/simplepdl/util/SimplepdlAdapterFactory.java b/fr.n7.simplePDL/src/simplepdl/util/SimplepdlAdapterFactory.java
new file mode 100644
index 0000000..cba0f24
--- /dev/null
+++ b/fr.n7.simplePDL/src/simplepdl/util/SimplepdlAdapterFactory.java
@@ -0,0 +1,234 @@
+/**
+ */
+package simplepdl.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import simplepdl.Guidance;
+import simplepdl.ProcessElement;
+import simplepdl.Request;
+import simplepdl.Resource;
+import simplepdl.SimplepdlPackage;
+import simplepdl.WorkDefinition;
+import simplepdl.WorkSequence;
+
+/**
+ *
+ * The Adapter Factory for the model.
+ * It provides an adapter createXXX
method for each class of the model.
+ *
+ * @see simplepdl.SimplepdlPackage
+ * @generated
+ */
+public class SimplepdlAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ *
+ *
+ * @generated
+ */
+ protected static SimplepdlPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ *
+ *
+ * @generated
+ */
+ public SimplepdlAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SimplepdlPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ *
+ * This implementation returns true
if the object is either the model's package or is an instance object of the model.
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the createXXX
methods.
+ *
+ *
+ * @generated
+ */
+ protected SimplepdlSwitch modelSwitch =
+ new SimplepdlSwitch() {
+ @Override
+ public Adapter caseProcessElement(ProcessElement object) {
+ return createProcessElementAdapter();
+ }
+ @Override
+ public Adapter caseWorkDefinition(WorkDefinition object) {
+ return createWorkDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseWorkSequence(WorkSequence object) {
+ return createWorkSequenceAdapter();
+ }
+ @Override
+ public Adapter caseGuidance(Guidance object) {
+ return createGuidanceAdapter();
+ }
+ @Override
+ public Adapter caseProcess(simplepdl.Process object) {
+ return createProcessAdapter();
+ }
+ @Override
+ public Adapter caseRequest(Request object) {
+ return createRequestAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the target
.
+ *
+ *
+ * @param target the object to adapt.
+ * @return the adapter for the target
.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link simplepdl.ProcessElement Process Element}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see simplepdl.ProcessElement
+ * @generated
+ */
+ public Adapter createProcessElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link simplepdl.WorkDefinition Work Definition}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see simplepdl.WorkDefinition
+ * @generated
+ */
+ public Adapter createWorkDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link simplepdl.WorkSequence Work Sequence}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see simplepdl.WorkSequence
+ * @generated
+ */
+ public Adapter createWorkSequenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link simplepdl.Guidance Guidance}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see simplepdl.Guidance
+ * @generated
+ */
+ public Adapter createGuidanceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link simplepdl.Process Process}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see simplepdl.Process
+ * @generated
+ */
+ public Adapter createProcessAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link simplepdl.Request Request}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see simplepdl.Request
+ * @generated
+ */
+ public Adapter createRequestAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link simplepdl.Resource Resource}'.
+ *
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ *
+ * @return the new adapter.
+ * @see simplepdl.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ *
+ * This default implementation returns null.
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //SimplepdlAdapterFactory
diff --git a/fr.n7.simplePDL/src/simplepdl/util/SimplepdlSwitch.java b/fr.n7.simplePDL/src/simplepdl/util/SimplepdlSwitch.java
new file mode 100644
index 0000000..f780663
--- /dev/null
+++ b/fr.n7.simplePDL/src/simplepdl/util/SimplepdlSwitch.java
@@ -0,0 +1,246 @@
+/**
+ */
+package simplepdl.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import simplepdl.Guidance;
+import simplepdl.ProcessElement;
+import simplepdl.Request;
+import simplepdl.Resource;
+import simplepdl.SimplepdlPackage;
+import simplepdl.WorkDefinition;
+import simplepdl.WorkSequence;
+
+/**
+ *
+ * The Switch for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the caseXXX
method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ *
+ * @see simplepdl.SimplepdlPackage
+ * @generated
+ */
+public class SimplepdlSwitch extends Switch {
+ /**
+ * The cached model package
+ *
+ *
+ * @generated
+ */
+ protected static SimplepdlPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ *
+ *
+ * @generated
+ */
+ public SimplepdlSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SimplepdlPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ *
+ *
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls caseXXX
for each class of the model until one returns a non null result; it yields that result.
+ *
+ *
+ * @return the first non-null result returned by a caseXXX
call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case SimplepdlPackage.PROCESS_ELEMENT: {
+ ProcessElement processElement = (ProcessElement)theEObject;
+ T result = caseProcessElement(processElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SimplepdlPackage.WORK_DEFINITION: {
+ WorkDefinition workDefinition = (WorkDefinition)theEObject;
+ T result = caseWorkDefinition(workDefinition);
+ if (result == null) result = caseProcessElement(workDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SimplepdlPackage.WORK_SEQUENCE: {
+ WorkSequence workSequence = (WorkSequence)theEObject;
+ T result = caseWorkSequence(workSequence);
+ if (result == null) result = caseProcessElement(workSequence);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SimplepdlPackage.GUIDANCE: {
+ Guidance guidance = (Guidance)theEObject;
+ T result = caseGuidance(guidance);
+ if (result == null) result = caseProcessElement(guidance);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SimplepdlPackage.PROCESS: {
+ simplepdl.Process process = (simplepdl.Process)theEObject;
+ T result = caseProcess(process);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SimplepdlPackage.REQUEST: {
+ Request request = (Request)theEObject;
+ T result = caseRequest(request);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SimplepdlPackage.RESOURCE: {
+ Resource resource = (Resource)theEObject;
+ T result = caseResource(resource);
+ if (result == null) result = caseProcessElement(resource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Process Element'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Process Element'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcessElement(ProcessElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Work Definition'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Work Definition'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWorkDefinition(WorkDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Work Sequence'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Work Sequence'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseWorkSequence(WorkSequence object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Guidance'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Guidance'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGuidance(Guidance object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Process'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Process'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcess(simplepdl.Process object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Request'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Request'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRequest(Request object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'Resource'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Resource'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of 'EObject'.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'EObject'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //SimplepdlSwitch