/**
*
*
*
*/
package org.eclipse.osee.framework.core.dsl.oseeDsl.impl;
import java.util.Collection;
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.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.osee.framework.core.dsl.oseeDsl.AccessContext;
import org.eclipse.osee.framework.core.dsl.oseeDsl.Import;
import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDsl;
import org.eclipse.osee.framework.core.dsl.oseeDsl.OseeDslPackage;
import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactRef;
import org.eclipse.osee.framework.core.dsl.oseeDsl.XArtifactType;
import org.eclipse.osee.framework.core.dsl.oseeDsl.XAttributeType;
import org.eclipse.osee.framework.core.dsl.oseeDsl.XBranchRef;
import org.eclipse.osee.framework.core.dsl.oseeDsl.XOseeEnumOverride;
import org.eclipse.osee.framework.core.dsl.oseeDsl.XOseeEnumType;
import org.eclipse.osee.framework.core.dsl.oseeDsl.XRelationType;
/**
*
* An implementation of the model object 'Osee Dsl'.
*
*
* The following features are implemented:
*
* - {@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.OseeDslImpl#getImports Imports}
* - {@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.OseeDslImpl#getArtifactTypes Artifact Types}
* - {@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.OseeDslImpl#getRelationTypes Relation Types}
* - {@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.OseeDslImpl#getAttributeTypes Attribute Types}
* - {@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.OseeDslImpl#getEnumTypes Enum Types}
* - {@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.OseeDslImpl#getEnumOverrides Enum Overrides}
* - {@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.OseeDslImpl#getBranchRefs Branch Refs}
* - {@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.OseeDslImpl#getArtifactRefs Artifact Refs}
* - {@link org.eclipse.osee.framework.core.dsl.oseeDsl.impl.OseeDslImpl#getAccessDeclarations Access Declarations}
*
*
*
* @generated
*/
public class OseeDslImpl extends MinimalEObjectImpl.Container implements OseeDsl
{
/**
* The cached value of the '{@link #getImports() Imports}' containment reference list.
*
*
* @see #getImports()
* @generated
* @ordered
*/
protected EList imports;
/**
* The cached value of the '{@link #getArtifactTypes() Artifact Types}' containment reference list.
*
*
* @see #getArtifactTypes()
* @generated
* @ordered
*/
protected EList artifactTypes;
/**
* The cached value of the '{@link #getRelationTypes() Relation Types}' containment reference list.
*
*
* @see #getRelationTypes()
* @generated
* @ordered
*/
protected EList relationTypes;
/**
* The cached value of the '{@link #getAttributeTypes() Attribute Types}' containment reference list.
*
*
* @see #getAttributeTypes()
* @generated
* @ordered
*/
protected EList attributeTypes;
/**
* The cached value of the '{@link #getEnumTypes() Enum Types}' containment reference list.
*
*
* @see #getEnumTypes()
* @generated
* @ordered
*/
protected EList enumTypes;
/**
* The cached value of the '{@link #getEnumOverrides() Enum Overrides}' containment reference list.
*
*
* @see #getEnumOverrides()
* @generated
* @ordered
*/
protected EList enumOverrides;
/**
* The cached value of the '{@link #getBranchRefs() Branch Refs}' containment reference list.
*
*
* @see #getBranchRefs()
* @generated
* @ordered
*/
protected EList branchRefs;
/**
* The cached value of the '{@link #getArtifactRefs() Artifact Refs}' containment reference list.
*
*
* @see #getArtifactRefs()
* @generated
* @ordered
*/
protected EList artifactRefs;
/**
* The cached value of the '{@link #getAccessDeclarations() Access Declarations}' containment reference list.
*
*
* @see #getAccessDeclarations()
* @generated
* @ordered
*/
protected EList accessDeclarations;
/**
*
*
* @generated
*/
protected OseeDslImpl()
{
super();
}
/**
*
*
* @generated
*/
@Override
protected EClass eStaticClass()
{
return OseeDslPackage.Literals.OSEE_DSL;
}
/**
*
*
* @generated
*/
public EList getImports()
{
if (imports == null)
{
imports = new EObjectContainmentEList(Import.class, this, OseeDslPackage.OSEE_DSL__IMPORTS);
}
return imports;
}
/**
*
*
* @generated
*/
public EList getArtifactTypes()
{
if (artifactTypes == null)
{
artifactTypes = new EObjectContainmentEList(XArtifactType.class, this, OseeDslPackage.OSEE_DSL__ARTIFACT_TYPES);
}
return artifactTypes;
}
/**
*
*
* @generated
*/
public EList getRelationTypes()
{
if (relationTypes == null)
{
relationTypes = new EObjectContainmentEList(XRelationType.class, this, OseeDslPackage.OSEE_DSL__RELATION_TYPES);
}
return relationTypes;
}
/**
*
*
* @generated
*/
public EList getAttributeTypes()
{
if (attributeTypes == null)
{
attributeTypes = new EObjectContainmentEList(XAttributeType.class, this, OseeDslPackage.OSEE_DSL__ATTRIBUTE_TYPES);
}
return attributeTypes;
}
/**
*
*
* @generated
*/
public EList getEnumTypes()
{
if (enumTypes == null)
{
enumTypes = new EObjectContainmentEList(XOseeEnumType.class, this, OseeDslPackage.OSEE_DSL__ENUM_TYPES);
}
return enumTypes;
}
/**
*
*
* @generated
*/
public EList getEnumOverrides()
{
if (enumOverrides == null)
{
enumOverrides = new EObjectContainmentEList(XOseeEnumOverride.class, this, OseeDslPackage.OSEE_DSL__ENUM_OVERRIDES);
}
return enumOverrides;
}
/**
*
*
* @generated
*/
public EList getBranchRefs()
{
if (branchRefs == null)
{
branchRefs = new EObjectContainmentEList(XBranchRef.class, this, OseeDslPackage.OSEE_DSL__BRANCH_REFS);
}
return branchRefs;
}
/**
*
*
* @generated
*/
public EList getArtifactRefs()
{
if (artifactRefs == null)
{
artifactRefs = new EObjectContainmentEList(XArtifactRef.class, this, OseeDslPackage.OSEE_DSL__ARTIFACT_REFS);
}
return artifactRefs;
}
/**
*
*
* @generated
*/
public EList getAccessDeclarations()
{
if (accessDeclarations == null)
{
accessDeclarations = new EObjectContainmentEList(AccessContext.class, this, OseeDslPackage.OSEE_DSL__ACCESS_DECLARATIONS);
}
return accessDeclarations;
}
/**
*
*
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case OseeDslPackage.OSEE_DSL__IMPORTS:
return ((InternalEList>)getImports()).basicRemove(otherEnd, msgs);
case OseeDslPackage.OSEE_DSL__ARTIFACT_TYPES:
return ((InternalEList>)getArtifactTypes()).basicRemove(otherEnd, msgs);
case OseeDslPackage.OSEE_DSL__RELATION_TYPES:
return ((InternalEList>)getRelationTypes()).basicRemove(otherEnd, msgs);
case OseeDslPackage.OSEE_DSL__ATTRIBUTE_TYPES:
return ((InternalEList>)getAttributeTypes()).basicRemove(otherEnd, msgs);
case OseeDslPackage.OSEE_DSL__ENUM_TYPES:
return ((InternalEList>)getEnumTypes()).basicRemove(otherEnd, msgs);
case OseeDslPackage.OSEE_DSL__ENUM_OVERRIDES:
return ((InternalEList>)getEnumOverrides()).basicRemove(otherEnd, msgs);
case OseeDslPackage.OSEE_DSL__BRANCH_REFS:
return ((InternalEList>)getBranchRefs()).basicRemove(otherEnd, msgs);
case OseeDslPackage.OSEE_DSL__ARTIFACT_REFS:
return ((InternalEList>)getArtifactRefs()).basicRemove(otherEnd, msgs);
case OseeDslPackage.OSEE_DSL__ACCESS_DECLARATIONS:
return ((InternalEList>)getAccessDeclarations()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
*
*
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case OseeDslPackage.OSEE_DSL__IMPORTS:
return getImports();
case OseeDslPackage.OSEE_DSL__ARTIFACT_TYPES:
return getArtifactTypes();
case OseeDslPackage.OSEE_DSL__RELATION_TYPES:
return getRelationTypes();
case OseeDslPackage.OSEE_DSL__ATTRIBUTE_TYPES:
return getAttributeTypes();
case OseeDslPackage.OSEE_DSL__ENUM_TYPES:
return getEnumTypes();
case OseeDslPackage.OSEE_DSL__ENUM_OVERRIDES:
return getEnumOverrides();
case OseeDslPackage.OSEE_DSL__BRANCH_REFS:
return getBranchRefs();
case OseeDslPackage.OSEE_DSL__ARTIFACT_REFS:
return getArtifactRefs();
case OseeDslPackage.OSEE_DSL__ACCESS_DECLARATIONS:
return getAccessDeclarations();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
*
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
case OseeDslPackage.OSEE_DSL__IMPORTS:
getImports().clear();
getImports().addAll((Collection extends Import>)newValue);
return;
case OseeDslPackage.OSEE_DSL__ARTIFACT_TYPES:
getArtifactTypes().clear();
getArtifactTypes().addAll((Collection extends XArtifactType>)newValue);
return;
case OseeDslPackage.OSEE_DSL__RELATION_TYPES:
getRelationTypes().clear();
getRelationTypes().addAll((Collection extends XRelationType>)newValue);
return;
case OseeDslPackage.OSEE_DSL__ATTRIBUTE_TYPES:
getAttributeTypes().clear();
getAttributeTypes().addAll((Collection extends XAttributeType>)newValue);
return;
case OseeDslPackage.OSEE_DSL__ENUM_TYPES:
getEnumTypes().clear();
getEnumTypes().addAll((Collection extends XOseeEnumType>)newValue);
return;
case OseeDslPackage.OSEE_DSL__ENUM_OVERRIDES:
getEnumOverrides().clear();
getEnumOverrides().addAll((Collection extends XOseeEnumOverride>)newValue);
return;
case OseeDslPackage.OSEE_DSL__BRANCH_REFS:
getBranchRefs().clear();
getBranchRefs().addAll((Collection extends XBranchRef>)newValue);
return;
case OseeDslPackage.OSEE_DSL__ARTIFACT_REFS:
getArtifactRefs().clear();
getArtifactRefs().addAll((Collection extends XArtifactRef>)newValue);
return;
case OseeDslPackage.OSEE_DSL__ACCESS_DECLARATIONS:
getAccessDeclarations().clear();
getAccessDeclarations().addAll((Collection extends AccessContext>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
*
*
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case OseeDslPackage.OSEE_DSL__IMPORTS:
getImports().clear();
return;
case OseeDslPackage.OSEE_DSL__ARTIFACT_TYPES:
getArtifactTypes().clear();
return;
case OseeDslPackage.OSEE_DSL__RELATION_TYPES:
getRelationTypes().clear();
return;
case OseeDslPackage.OSEE_DSL__ATTRIBUTE_TYPES:
getAttributeTypes().clear();
return;
case OseeDslPackage.OSEE_DSL__ENUM_TYPES:
getEnumTypes().clear();
return;
case OseeDslPackage.OSEE_DSL__ENUM_OVERRIDES:
getEnumOverrides().clear();
return;
case OseeDslPackage.OSEE_DSL__BRANCH_REFS:
getBranchRefs().clear();
return;
case OseeDslPackage.OSEE_DSL__ARTIFACT_REFS:
getArtifactRefs().clear();
return;
case OseeDslPackage.OSEE_DSL__ACCESS_DECLARATIONS:
getAccessDeclarations().clear();
return;
}
super.eUnset(featureID);
}
/**
*
*
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case OseeDslPackage.OSEE_DSL__IMPORTS:
return imports != null && !imports.isEmpty();
case OseeDslPackage.OSEE_DSL__ARTIFACT_TYPES:
return artifactTypes != null && !artifactTypes.isEmpty();
case OseeDslPackage.OSEE_DSL__RELATION_TYPES:
return relationTypes != null && !relationTypes.isEmpty();
case OseeDslPackage.OSEE_DSL__ATTRIBUTE_TYPES:
return attributeTypes != null && !attributeTypes.isEmpty();
case OseeDslPackage.OSEE_DSL__ENUM_TYPES:
return enumTypes != null && !enumTypes.isEmpty();
case OseeDslPackage.OSEE_DSL__ENUM_OVERRIDES:
return enumOverrides != null && !enumOverrides.isEmpty();
case OseeDslPackage.OSEE_DSL__BRANCH_REFS:
return branchRefs != null && !branchRefs.isEmpty();
case OseeDslPackage.OSEE_DSL__ARTIFACT_REFS:
return artifactRefs != null && !artifactRefs.isEmpty();
case OseeDslPackage.OSEE_DSL__ACCESS_DECLARATIONS:
return accessDeclarations != null && !accessDeclarations.isEmpty();
}
return super.eIsSet(featureID);
}
} //OseeDslImpl