/**
*
*
*
* $Id$
*/
package org.apache.tuscany.das.rdb.test.company.impl;
import java.util.Collection;
import java.util.List;
import org.apache.tuscany.das.rdb.test.company.CompanyType;
import org.apache.tuscany.das.rdb.test.company.DatagraphRoot;
import org.apache.tuscany.das.rdb.test.company.DepartmentType;
import org.apache.tuscany.das.rdb.test.company.EmployeeType;
import org.apache.tuscany.sdo.impl.DataObjectImpl;
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.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
/**
*
* An implementation of the model object 'Datagraph Root'.
*
*
* The following features are implemented:
*
* - {@link org.apache.tuscany.das.rdb.test.company.impl.DatagraphRootImpl#getCompanies Companies}
* - {@link org.apache.tuscany.das.rdb.test.company.impl.DatagraphRootImpl#getDepartments Departments}
* - {@link org.apache.tuscany.das.rdb.test.company.impl.DatagraphRootImpl#getEmployees Employees}
*
*
*
* @generated
*/
public class DatagraphRootImpl extends DataObjectImpl implements DatagraphRoot
{
/**
* The cached value of the '{@link #getCompanies() Companies}' containment reference list.
*
*
* @see #getCompanies()
* @generated
* @ordered
*/
protected EList companies = null;
/**
* The cached value of the '{@link #getDepartments() Departments}' containment reference list.
*
*
* @see #getDepartments()
* @generated
* @ordered
*/
protected EList departments = null;
/**
* The cached value of the '{@link #getEmployees() Employees}' containment reference list.
*
*
* @see #getEmployees()
* @generated
* @ordered
*/
protected EList employees = null;
/**
*
*
* @generated
*/
protected DatagraphRootImpl()
{
super();
}
/**
*
*
* @generated
*/
protected EClass eStaticClass()
{
return CompanyPackageImpl.Literals.DATAGRAPH_ROOT;
}
/**
*
*
* @generated
*/
public List getCompanies()
{
if (companies == null)
{
companies = new EObjectContainmentEList(CompanyType.class, this, CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES);
}
return companies;
}
/**
*
*
* @generated
*/
public List getDepartments()
{
if (departments == null)
{
departments = new EObjectContainmentEList(DepartmentType.class, this, CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS);
}
return departments;
}
/**
*
*
* @generated
*/
public List getEmployees()
{
if (employees == null)
{
employees = new EObjectContainmentEList(EmployeeType.class, this, CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES);
}
return employees;
}
/**
*
*
* @generated
*/
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES:
return ((InternalEList)getCompanies()).basicRemove(otherEnd, msgs);
case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS:
return ((InternalEList)getDepartments()).basicRemove(otherEnd, msgs);
case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES:
return ((InternalEList)getEmployees()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
*
*
* @generated
*/
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES:
return getCompanies();
case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS:
return getDepartments();
case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES:
return getEmployees();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
*
* @generated
*/
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES:
getCompanies().clear();
getCompanies().addAll((Collection)newValue);
return;
case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS:
getDepartments().clear();
getDepartments().addAll((Collection)newValue);
return;
case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES:
getEmployees().clear();
getEmployees().addAll((Collection)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
*
*
* @generated
*/
public void eUnset(int featureID)
{
switch (featureID)
{
case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES:
getCompanies().clear();
return;
case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS:
getDepartments().clear();
return;
case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES:
getEmployees().clear();
return;
}
super.eUnset(featureID);
}
/**
*
*
* @generated
*/
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case CompanyPackageImpl.DATAGRAPH_ROOT__COMPANIES:
return companies != null && !companies.isEmpty();
case CompanyPackageImpl.DATAGRAPH_ROOT__DEPARTMENTS:
return departments != null && !departments.isEmpty();
case CompanyPackageImpl.DATAGRAPH_ROOT__EMPLOYEES:
return employees != null && !employees.isEmpty();
}
return super.eIsSet(featureID);
}
} //DatagraphRootImpl