/**
*
*
*
* $Id$
*/
package net.opengis.fes20.impl;
import net.opengis.fes20.AvailableFunctionsType;
import net.opengis.fes20.ConformanceType;
import net.opengis.fes20.ExtendedCapabilitiesType;
import net.opengis.fes20.Fes20Package;
import net.opengis.fes20.FilterCapabilitiesType;
import net.opengis.fes20.IdCapabilitiesType;
import net.opengis.fes20.ScalarCapabilitiesType;
import net.opengis.fes20.SpatialCapabilitiesType;
import net.opengis.fes20.TemporalCapabilitiesType;
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 org.eclipse.emf.ecore.impl.EObjectImpl;
/**
*
* An implementation of the model object 'Filter Capabilities Type'.
*
*
* The following features are implemented:
*
* - {@link net.opengis.fes20.impl.FilterCapabilitiesTypeImpl#getConformance Conformance}
* - {@link net.opengis.fes20.impl.FilterCapabilitiesTypeImpl#getIdCapabilities Id Capabilities}
* - {@link net.opengis.fes20.impl.FilterCapabilitiesTypeImpl#getScalarCapabilities Scalar Capabilities}
* - {@link net.opengis.fes20.impl.FilterCapabilitiesTypeImpl#getSpatialCapabilities Spatial Capabilities}
* - {@link net.opengis.fes20.impl.FilterCapabilitiesTypeImpl#getTemporalCapabilities Temporal Capabilities}
* - {@link net.opengis.fes20.impl.FilterCapabilitiesTypeImpl#getFunctions Functions}
* - {@link net.opengis.fes20.impl.FilterCapabilitiesTypeImpl#getExtendedCapabilities Extended Capabilities}
*
*
*
* @generated
*/
public class FilterCapabilitiesTypeImpl extends EObjectImpl implements FilterCapabilitiesType {
/**
* The cached value of the '{@link #getConformance() Conformance}' containment reference.
*
*
* @see #getConformance()
* @generated
* @ordered
*/
protected ConformanceType conformance;
/**
* The cached value of the '{@link #getIdCapabilities() Id Capabilities}' containment reference.
*
*
* @see #getIdCapabilities()
* @generated
* @ordered
*/
protected IdCapabilitiesType idCapabilities;
/**
* The cached value of the '{@link #getScalarCapabilities() Scalar Capabilities}' containment reference.
*
*
* @see #getScalarCapabilities()
* @generated
* @ordered
*/
protected ScalarCapabilitiesType scalarCapabilities;
/**
* The cached value of the '{@link #getSpatialCapabilities() Spatial Capabilities}' containment reference.
*
*
* @see #getSpatialCapabilities()
* @generated
* @ordered
*/
protected SpatialCapabilitiesType spatialCapabilities;
/**
* The cached value of the '{@link #getTemporalCapabilities() Temporal Capabilities}' containment reference.
*
*
* @see #getTemporalCapabilities()
* @generated
* @ordered
*/
protected TemporalCapabilitiesType temporalCapabilities;
/**
* The cached value of the '{@link #getFunctions() Functions}' containment reference.
*
*
* @see #getFunctions()
* @generated
* @ordered
*/
protected AvailableFunctionsType functions;
/**
* The cached value of the '{@link #getExtendedCapabilities() Extended Capabilities}' containment reference.
*
*
* @see #getExtendedCapabilities()
* @generated
* @ordered
*/
protected ExtendedCapabilitiesType extendedCapabilities;
/**
*
*
* @generated
*/
protected FilterCapabilitiesTypeImpl() {
super();
}
/**
*
*
* @generated
*/
@Override
protected EClass eStaticClass() {
return Fes20Package.Literals.FILTER_CAPABILITIES_TYPE;
}
/**
*
*
* @generated
*/
public ConformanceType getConformance() {
return conformance;
}
/**
*
*
* @generated
*/
public NotificationChain basicSetConformance(ConformanceType newConformance, NotificationChain msgs) {
ConformanceType oldConformance = conformance;
conformance = newConformance;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__CONFORMANCE, oldConformance, newConformance);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
*
*
* @generated
*/
public void setConformance(ConformanceType newConformance) {
if (newConformance != conformance) {
NotificationChain msgs = null;
if (conformance != null)
msgs = ((InternalEObject)conformance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__CONFORMANCE, null, msgs);
if (newConformance != null)
msgs = ((InternalEObject)newConformance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__CONFORMANCE, null, msgs);
msgs = basicSetConformance(newConformance, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__CONFORMANCE, newConformance, newConformance));
}
/**
*
*
* @generated
*/
public IdCapabilitiesType getIdCapabilities() {
return idCapabilities;
}
/**
*
*
* @generated
*/
public NotificationChain basicSetIdCapabilities(IdCapabilitiesType newIdCapabilities, NotificationChain msgs) {
IdCapabilitiesType oldIdCapabilities = idCapabilities;
idCapabilities = newIdCapabilities;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__ID_CAPABILITIES, oldIdCapabilities, newIdCapabilities);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
*
*
* @generated
*/
public void setIdCapabilities(IdCapabilitiesType newIdCapabilities) {
if (newIdCapabilities != idCapabilities) {
NotificationChain msgs = null;
if (idCapabilities != null)
msgs = ((InternalEObject)idCapabilities).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__ID_CAPABILITIES, null, msgs);
if (newIdCapabilities != null)
msgs = ((InternalEObject)newIdCapabilities).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__ID_CAPABILITIES, null, msgs);
msgs = basicSetIdCapabilities(newIdCapabilities, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__ID_CAPABILITIES, newIdCapabilities, newIdCapabilities));
}
/**
*
*
* @generated
*/
public ScalarCapabilitiesType getScalarCapabilities() {
return scalarCapabilities;
}
/**
*
*
* @generated
*/
public NotificationChain basicSetScalarCapabilities(ScalarCapabilitiesType newScalarCapabilities, NotificationChain msgs) {
ScalarCapabilitiesType oldScalarCapabilities = scalarCapabilities;
scalarCapabilities = newScalarCapabilities;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__SCALAR_CAPABILITIES, oldScalarCapabilities, newScalarCapabilities);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
*
*
* @generated
*/
public void setScalarCapabilities(ScalarCapabilitiesType newScalarCapabilities) {
if (newScalarCapabilities != scalarCapabilities) {
NotificationChain msgs = null;
if (scalarCapabilities != null)
msgs = ((InternalEObject)scalarCapabilities).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__SCALAR_CAPABILITIES, null, msgs);
if (newScalarCapabilities != null)
msgs = ((InternalEObject)newScalarCapabilities).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__SCALAR_CAPABILITIES, null, msgs);
msgs = basicSetScalarCapabilities(newScalarCapabilities, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__SCALAR_CAPABILITIES, newScalarCapabilities, newScalarCapabilities));
}
/**
*
*
* @generated
*/
public SpatialCapabilitiesType getSpatialCapabilities() {
return spatialCapabilities;
}
/**
*
*
* @generated
*/
public NotificationChain basicSetSpatialCapabilities(SpatialCapabilitiesType newSpatialCapabilities, NotificationChain msgs) {
SpatialCapabilitiesType oldSpatialCapabilities = spatialCapabilities;
spatialCapabilities = newSpatialCapabilities;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__SPATIAL_CAPABILITIES, oldSpatialCapabilities, newSpatialCapabilities);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
*
*
* @generated
*/
public void setSpatialCapabilities(SpatialCapabilitiesType newSpatialCapabilities) {
if (newSpatialCapabilities != spatialCapabilities) {
NotificationChain msgs = null;
if (spatialCapabilities != null)
msgs = ((InternalEObject)spatialCapabilities).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__SPATIAL_CAPABILITIES, null, msgs);
if (newSpatialCapabilities != null)
msgs = ((InternalEObject)newSpatialCapabilities).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__SPATIAL_CAPABILITIES, null, msgs);
msgs = basicSetSpatialCapabilities(newSpatialCapabilities, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__SPATIAL_CAPABILITIES, newSpatialCapabilities, newSpatialCapabilities));
}
/**
*
*
* @generated
*/
public TemporalCapabilitiesType getTemporalCapabilities() {
return temporalCapabilities;
}
/**
*
*
* @generated
*/
public NotificationChain basicSetTemporalCapabilities(TemporalCapabilitiesType newTemporalCapabilities, NotificationChain msgs) {
TemporalCapabilitiesType oldTemporalCapabilities = temporalCapabilities;
temporalCapabilities = newTemporalCapabilities;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__TEMPORAL_CAPABILITIES, oldTemporalCapabilities, newTemporalCapabilities);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
*
*
* @generated
*/
public void setTemporalCapabilities(TemporalCapabilitiesType newTemporalCapabilities) {
if (newTemporalCapabilities != temporalCapabilities) {
NotificationChain msgs = null;
if (temporalCapabilities != null)
msgs = ((InternalEObject)temporalCapabilities).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__TEMPORAL_CAPABILITIES, null, msgs);
if (newTemporalCapabilities != null)
msgs = ((InternalEObject)newTemporalCapabilities).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__TEMPORAL_CAPABILITIES, null, msgs);
msgs = basicSetTemporalCapabilities(newTemporalCapabilities, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__TEMPORAL_CAPABILITIES, newTemporalCapabilities, newTemporalCapabilities));
}
/**
*
*
* @generated
*/
public AvailableFunctionsType getFunctions() {
return functions;
}
/**
*
*
* @generated
*/
public NotificationChain basicSetFunctions(AvailableFunctionsType newFunctions, NotificationChain msgs) {
AvailableFunctionsType oldFunctions = functions;
functions = newFunctions;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__FUNCTIONS, oldFunctions, newFunctions);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
*
*
* @generated
*/
public void setFunctions(AvailableFunctionsType newFunctions) {
if (newFunctions != functions) {
NotificationChain msgs = null;
if (functions != null)
msgs = ((InternalEObject)functions).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__FUNCTIONS, null, msgs);
if (newFunctions != null)
msgs = ((InternalEObject)newFunctions).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__FUNCTIONS, null, msgs);
msgs = basicSetFunctions(newFunctions, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__FUNCTIONS, newFunctions, newFunctions));
}
/**
*
*
* @generated
*/
public ExtendedCapabilitiesType getExtendedCapabilities() {
return extendedCapabilities;
}
/**
*
*
* @generated
*/
public NotificationChain basicSetExtendedCapabilities(ExtendedCapabilitiesType newExtendedCapabilities, NotificationChain msgs) {
ExtendedCapabilitiesType oldExtendedCapabilities = extendedCapabilities;
extendedCapabilities = newExtendedCapabilities;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__EXTENDED_CAPABILITIES, oldExtendedCapabilities, newExtendedCapabilities);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
*
*
* @generated
*/
public void setExtendedCapabilities(ExtendedCapabilitiesType newExtendedCapabilities) {
if (newExtendedCapabilities != extendedCapabilities) {
NotificationChain msgs = null;
if (extendedCapabilities != null)
msgs = ((InternalEObject)extendedCapabilities).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__EXTENDED_CAPABILITIES, null, msgs);
if (newExtendedCapabilities != null)
msgs = ((InternalEObject)newExtendedCapabilities).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - Fes20Package.FILTER_CAPABILITIES_TYPE__EXTENDED_CAPABILITIES, null, msgs);
msgs = basicSetExtendedCapabilities(newExtendedCapabilities, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Fes20Package.FILTER_CAPABILITIES_TYPE__EXTENDED_CAPABILITIES, newExtendedCapabilities, newExtendedCapabilities));
}
/**
*
*
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case Fes20Package.FILTER_CAPABILITIES_TYPE__CONFORMANCE:
return basicSetConformance(null, msgs);
case Fes20Package.FILTER_CAPABILITIES_TYPE__ID_CAPABILITIES:
return basicSetIdCapabilities(null, msgs);
case Fes20Package.FILTER_CAPABILITIES_TYPE__SCALAR_CAPABILITIES:
return basicSetScalarCapabilities(null, msgs);
case Fes20Package.FILTER_CAPABILITIES_TYPE__SPATIAL_CAPABILITIES:
return basicSetSpatialCapabilities(null, msgs);
case Fes20Package.FILTER_CAPABILITIES_TYPE__TEMPORAL_CAPABILITIES:
return basicSetTemporalCapabilities(null, msgs);
case Fes20Package.FILTER_CAPABILITIES_TYPE__FUNCTIONS:
return basicSetFunctions(null, msgs);
case Fes20Package.FILTER_CAPABILITIES_TYPE__EXTENDED_CAPABILITIES:
return basicSetExtendedCapabilities(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
*
*
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case Fes20Package.FILTER_CAPABILITIES_TYPE__CONFORMANCE:
return getConformance();
case Fes20Package.FILTER_CAPABILITIES_TYPE__ID_CAPABILITIES:
return getIdCapabilities();
case Fes20Package.FILTER_CAPABILITIES_TYPE__SCALAR_CAPABILITIES:
return getScalarCapabilities();
case Fes20Package.FILTER_CAPABILITIES_TYPE__SPATIAL_CAPABILITIES:
return getSpatialCapabilities();
case Fes20Package.FILTER_CAPABILITIES_TYPE__TEMPORAL_CAPABILITIES:
return getTemporalCapabilities();
case Fes20Package.FILTER_CAPABILITIES_TYPE__FUNCTIONS:
return getFunctions();
case Fes20Package.FILTER_CAPABILITIES_TYPE__EXTENDED_CAPABILITIES:
return getExtendedCapabilities();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
*
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case Fes20Package.FILTER_CAPABILITIES_TYPE__CONFORMANCE:
setConformance((ConformanceType)newValue);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__ID_CAPABILITIES:
setIdCapabilities((IdCapabilitiesType)newValue);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__SCALAR_CAPABILITIES:
setScalarCapabilities((ScalarCapabilitiesType)newValue);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__SPATIAL_CAPABILITIES:
setSpatialCapabilities((SpatialCapabilitiesType)newValue);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__TEMPORAL_CAPABILITIES:
setTemporalCapabilities((TemporalCapabilitiesType)newValue);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__FUNCTIONS:
setFunctions((AvailableFunctionsType)newValue);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__EXTENDED_CAPABILITIES:
setExtendedCapabilities((ExtendedCapabilitiesType)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
*
*
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case Fes20Package.FILTER_CAPABILITIES_TYPE__CONFORMANCE:
setConformance((ConformanceType)null);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__ID_CAPABILITIES:
setIdCapabilities((IdCapabilitiesType)null);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__SCALAR_CAPABILITIES:
setScalarCapabilities((ScalarCapabilitiesType)null);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__SPATIAL_CAPABILITIES:
setSpatialCapabilities((SpatialCapabilitiesType)null);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__TEMPORAL_CAPABILITIES:
setTemporalCapabilities((TemporalCapabilitiesType)null);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__FUNCTIONS:
setFunctions((AvailableFunctionsType)null);
return;
case Fes20Package.FILTER_CAPABILITIES_TYPE__EXTENDED_CAPABILITIES:
setExtendedCapabilities((ExtendedCapabilitiesType)null);
return;
}
super.eUnset(featureID);
}
/**
*
*
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case Fes20Package.FILTER_CAPABILITIES_TYPE__CONFORMANCE:
return conformance != null;
case Fes20Package.FILTER_CAPABILITIES_TYPE__ID_CAPABILITIES:
return idCapabilities != null;
case Fes20Package.FILTER_CAPABILITIES_TYPE__SCALAR_CAPABILITIES:
return scalarCapabilities != null;
case Fes20Package.FILTER_CAPABILITIES_TYPE__SPATIAL_CAPABILITIES:
return spatialCapabilities != null;
case Fes20Package.FILTER_CAPABILITIES_TYPE__TEMPORAL_CAPABILITIES:
return temporalCapabilities != null;
case Fes20Package.FILTER_CAPABILITIES_TYPE__FUNCTIONS:
return functions != null;
case Fes20Package.FILTER_CAPABILITIES_TYPE__EXTENDED_CAPABILITIES:
return extendedCapabilities != null;
}
return super.eIsSet(featureID);
}
} //FilterCapabilitiesTypeImpl