001: /**
002: * <copyright>
003: * </copyright>
004: *
005: * $Id: OperationTypeImpl.java 7522 2007-09-12 22:00:10Z saul.farber $
006: */package net.opengis.ows.impl;
007:
008: import java.util.Collection;
009:
010: import net.opengis.ows.DCPType;
011: import net.opengis.ows.DomainType;
012: import net.opengis.ows.MetadataType;
013: import net.opengis.ows.OperationType;
014: import net.opengis.ows.OwsPackage;
015:
016: import org.eclipse.emf.common.notify.Notification;
017: import org.eclipse.emf.common.notify.NotificationChain;
018:
019: import org.eclipse.emf.common.util.EList;
020:
021: import org.eclipse.emf.ecore.EClass;
022: import org.eclipse.emf.ecore.InternalEObject;
023:
024: import org.eclipse.emf.ecore.impl.ENotificationImpl;
025: import org.eclipse.emf.ecore.impl.EObjectImpl;
026:
027: import org.eclipse.emf.ecore.util.EObjectContainmentEList;
028: import org.eclipse.emf.ecore.util.InternalEList;
029:
030: /**
031: * <!-- begin-user-doc -->
032: * An implementation of the model object '<em><b>Operation Type</b></em>'.
033: * <!-- end-user-doc -->
034: * <p>
035: * The following features are implemented:
036: * <ul>
037: * <li>{@link net.opengis.ows.impl.OperationTypeImpl#getDCP <em>DCP</em>}</li>
038: * <li>{@link net.opengis.ows.impl.OperationTypeImpl#getParameter <em>Parameter</em>}</li>
039: * <li>{@link net.opengis.ows.impl.OperationTypeImpl#getConstraint <em>Constraint</em>}</li>
040: * <li>{@link net.opengis.ows.impl.OperationTypeImpl#getMetadata <em>Metadata</em>}</li>
041: * <li>{@link net.opengis.ows.impl.OperationTypeImpl#getName <em>Name</em>}</li>
042: * </ul>
043: * </p>
044: *
045: * @generated
046: */
047: public class OperationTypeImpl extends EObjectImpl implements
048: OperationType {
049: /**
050: * The cached value of the '{@link #getDCP() <em>DCP</em>}' containment reference list.
051: * <!-- begin-user-doc -->
052: * <!-- end-user-doc -->
053: * @see #getDCP()
054: * @generated
055: * @ordered
056: */
057: protected EList dCP;
058:
059: /**
060: * The cached value of the '{@link #getParameter() <em>Parameter</em>}' containment reference list.
061: * <!-- begin-user-doc -->
062: * <!-- end-user-doc -->
063: * @see #getParameter()
064: * @generated
065: * @ordered
066: */
067: protected EList parameter;
068:
069: /**
070: * The cached value of the '{@link #getConstraint() <em>Constraint</em>}' containment reference list.
071: * <!-- begin-user-doc -->
072: * <!-- end-user-doc -->
073: * @see #getConstraint()
074: * @generated
075: * @ordered
076: */
077: protected EList constraint;
078:
079: /**
080: * The cached value of the '{@link #getMetadata() <em>Metadata</em>}' containment reference list.
081: * <!-- begin-user-doc -->
082: * <!-- end-user-doc -->
083: * @see #getMetadata()
084: * @generated
085: * @ordered
086: */
087: protected EList metadata;
088:
089: /**
090: * The default value of the '{@link #getName() <em>Name</em>}' attribute.
091: * <!-- begin-user-doc -->
092: * <!-- end-user-doc -->
093: * @see #getName()
094: * @generated
095: * @ordered
096: */
097: protected static final String NAME_EDEFAULT = null;
098:
099: /**
100: * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
101: * <!-- begin-user-doc -->
102: * <!-- end-user-doc -->
103: * @see #getName()
104: * @generated
105: * @ordered
106: */
107: protected String name = NAME_EDEFAULT;
108:
109: /**
110: * <!-- begin-user-doc -->
111: * <!-- end-user-doc -->
112: * @generated
113: */
114: protected OperationTypeImpl() {
115: super ();
116: }
117:
118: /**
119: * <!-- begin-user-doc -->
120: * <!-- end-user-doc -->
121: * @generated
122: */
123: protected EClass eStaticClass() {
124: return OwsPackage.Literals.OPERATION_TYPE;
125: }
126:
127: /**
128: * <!-- begin-user-doc -->
129: * <!-- end-user-doc -->
130: * @generated
131: */
132: public EList getDCP() {
133: if (dCP == null) {
134: dCP = new EObjectContainmentEList(DCPType.class, this ,
135: OwsPackage.OPERATION_TYPE__DCP);
136: }
137: return dCP;
138: }
139:
140: /**
141: * <!-- begin-user-doc -->
142: * <!-- end-user-doc -->
143: * @generated
144: */
145: public EList getParameter() {
146: if (parameter == null) {
147: parameter = new EObjectContainmentEList(DomainType.class,
148: this , OwsPackage.OPERATION_TYPE__PARAMETER);
149: }
150: return parameter;
151: }
152:
153: /**
154: * <!-- begin-user-doc -->
155: * <!-- end-user-doc -->
156: * @generated
157: */
158: public EList getConstraint() {
159: if (constraint == null) {
160: constraint = new EObjectContainmentEList(DomainType.class,
161: this , OwsPackage.OPERATION_TYPE__CONSTRAINT);
162: }
163: return constraint;
164: }
165:
166: /**
167: * <!-- begin-user-doc -->
168: * <!-- end-user-doc -->
169: * @generated
170: */
171: public EList getMetadata() {
172: if (metadata == null) {
173: metadata = new EObjectContainmentEList(MetadataType.class,
174: this , OwsPackage.OPERATION_TYPE__METADATA);
175: }
176: return metadata;
177: }
178:
179: /**
180: * <!-- begin-user-doc -->
181: * <!-- end-user-doc -->
182: * @generated
183: */
184: public String getName() {
185: return name;
186: }
187:
188: /**
189: * <!-- begin-user-doc -->
190: * <!-- end-user-doc -->
191: * @generated
192: */
193: public void setName(String newName) {
194: String oldName = name;
195: name = newName;
196: if (eNotificationRequired())
197: eNotify(new ENotificationImpl(this , Notification.SET,
198: OwsPackage.OPERATION_TYPE__NAME, oldName, name));
199: }
200:
201: /**
202: * <!-- begin-user-doc -->
203: * <!-- end-user-doc -->
204: * @generated
205: */
206: public NotificationChain eInverseRemove(InternalEObject otherEnd,
207: int featureID, NotificationChain msgs) {
208: switch (featureID) {
209: case OwsPackage.OPERATION_TYPE__DCP:
210: return ((InternalEList) getDCP()).basicRemove(otherEnd,
211: msgs);
212: case OwsPackage.OPERATION_TYPE__PARAMETER:
213: return ((InternalEList) getParameter()).basicRemove(
214: otherEnd, msgs);
215: case OwsPackage.OPERATION_TYPE__CONSTRAINT:
216: return ((InternalEList) getConstraint()).basicRemove(
217: otherEnd, msgs);
218: case OwsPackage.OPERATION_TYPE__METADATA:
219: return ((InternalEList) getMetadata()).basicRemove(
220: otherEnd, msgs);
221: }
222: return super .eInverseRemove(otherEnd, featureID, msgs);
223: }
224:
225: /**
226: * <!-- begin-user-doc -->
227: * <!-- end-user-doc -->
228: * @generated
229: */
230: public Object eGet(int featureID, boolean resolve, boolean coreType) {
231: switch (featureID) {
232: case OwsPackage.OPERATION_TYPE__DCP:
233: return getDCP();
234: case OwsPackage.OPERATION_TYPE__PARAMETER:
235: return getParameter();
236: case OwsPackage.OPERATION_TYPE__CONSTRAINT:
237: return getConstraint();
238: case OwsPackage.OPERATION_TYPE__METADATA:
239: return getMetadata();
240: case OwsPackage.OPERATION_TYPE__NAME:
241: return getName();
242: }
243: return super .eGet(featureID, resolve, coreType);
244: }
245:
246: /**
247: * <!-- begin-user-doc -->
248: * <!-- end-user-doc -->
249: * @generated
250: */
251: public void eSet(int featureID, Object newValue) {
252: switch (featureID) {
253: case OwsPackage.OPERATION_TYPE__DCP:
254: getDCP().clear();
255: getDCP().addAll((Collection) newValue);
256: return;
257: case OwsPackage.OPERATION_TYPE__PARAMETER:
258: getParameter().clear();
259: getParameter().addAll((Collection) newValue);
260: return;
261: case OwsPackage.OPERATION_TYPE__CONSTRAINT:
262: getConstraint().clear();
263: getConstraint().addAll((Collection) newValue);
264: return;
265: case OwsPackage.OPERATION_TYPE__METADATA:
266: getMetadata().clear();
267: getMetadata().addAll((Collection) newValue);
268: return;
269: case OwsPackage.OPERATION_TYPE__NAME:
270: setName((String) newValue);
271: return;
272: }
273: super .eSet(featureID, newValue);
274: }
275:
276: /**
277: * <!-- begin-user-doc -->
278: * <!-- end-user-doc -->
279: * @generated
280: */
281: public void eUnset(int featureID) {
282: switch (featureID) {
283: case OwsPackage.OPERATION_TYPE__DCP:
284: getDCP().clear();
285: return;
286: case OwsPackage.OPERATION_TYPE__PARAMETER:
287: getParameter().clear();
288: return;
289: case OwsPackage.OPERATION_TYPE__CONSTRAINT:
290: getConstraint().clear();
291: return;
292: case OwsPackage.OPERATION_TYPE__METADATA:
293: getMetadata().clear();
294: return;
295: case OwsPackage.OPERATION_TYPE__NAME:
296: setName(NAME_EDEFAULT);
297: return;
298: }
299: super .eUnset(featureID);
300: }
301:
302: /**
303: * <!-- begin-user-doc -->
304: * <!-- end-user-doc -->
305: * @generated
306: */
307: public boolean eIsSet(int featureID) {
308: switch (featureID) {
309: case OwsPackage.OPERATION_TYPE__DCP:
310: return dCP != null && !dCP.isEmpty();
311: case OwsPackage.OPERATION_TYPE__PARAMETER:
312: return parameter != null && !parameter.isEmpty();
313: case OwsPackage.OPERATION_TYPE__CONSTRAINT:
314: return constraint != null && !constraint.isEmpty();
315: case OwsPackage.OPERATION_TYPE__METADATA:
316: return metadata != null && !metadata.isEmpty();
317: case OwsPackage.OPERATION_TYPE__NAME:
318: return NAME_EDEFAULT == null ? name != null
319: : !NAME_EDEFAULT.equals(name);
320: }
321: return super .eIsSet(featureID);
322: }
323:
324: /**
325: * <!-- begin-user-doc -->
326: * <!-- end-user-doc -->
327: * @generated
328: */
329: public String toString() {
330: if (eIsProxy())
331: return super .toString();
332:
333: StringBuffer result = new StringBuffer(super .toString());
334: result.append(" (name: ");
335: result.append(name);
336: result.append(')');
337: return result.toString();
338: }
339:
340: } //OperationTypeImpl
|