/** * <copyright> * </copyright> * * $Id$ */ package net.opengis.cat.csw20.impl; import java.lang.String; import java.math.BigInteger; import java.util.Calendar; import javax.xml.datatype.XMLGregorianCalendar; import net.opengis.cat.csw20.AbstractRecordType; import net.opengis.cat.csw20.Csw20Package; import net.opengis.cat.csw20.ElementSetType; import net.opengis.cat.csw20.SearchResultsType; 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.impl.EObjectImpl; import org.eclipse.emf.ecore.util.BasicFeatureMap; import org.eclipse.emf.ecore.util.FeatureMap; import org.eclipse.emf.ecore.util.InternalEList; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Search Results Type</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getAbstractRecordGroup <em>Abstract Record Group</em>}</li> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getAbstractRecord <em>Abstract Record</em>}</li> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getAny <em>Any</em>}</li> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getElementSet <em>Element Set</em>}</li> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getExpires <em>Expires</em>}</li> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getNextRecord <em>Next Record</em>}</li> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getNumberOfRecordsMatched <em>Number Of Records Matched</em>}</li> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getNumberOfRecordsReturned <em>Number Of Records Returned</em>}</li> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getRecordSchema <em>Record Schema</em>}</li> * <li>{@link net.opengis.cat.csw20.impl.SearchResultsTypeImpl#getResultSetId <em>Result Set Id</em>}</li> * </ul> * </p> * * @generated */ public class SearchResultsTypeImpl extends EObjectImpl implements SearchResultsType { /** * The cached value of the '{@link #getAbstractRecordGroup() <em>Abstract Record Group</em>}' attribute list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getAbstractRecordGroup() * @generated * @ordered */ protected FeatureMap abstractRecordGroup; /** * The cached value of the '{@link #getAny() <em>Any</em>}' attribute list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getAny() * @generated * @ordered */ protected FeatureMap any; /** * The default value of the '{@link #getElementSet() <em>Element Set</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getElementSet() * @generated * @ordered */ protected static final ElementSetType ELEMENT_SET_EDEFAULT = ElementSetType.BRIEF; /** * The cached value of the '{@link #getElementSet() <em>Element Set</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getElementSet() * @generated * @ordered */ protected ElementSetType elementSet = ELEMENT_SET_EDEFAULT; /** * This is true if the Element Set attribute has been set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ protected boolean elementSetESet; /** * The default value of the '{@link #getExpires() <em>Expires</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getExpires() * @generated * @ordered */ protected static final Calendar EXPIRES_EDEFAULT = null; /** * The cached value of the '{@link #getExpires() <em>Expires</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getExpires() * @generated * @ordered */ protected Calendar expires = EXPIRES_EDEFAULT; /** * The default value of the '{@link #getNextRecord() <em>Next Record</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getNextRecord() * @generated * @ordered */ protected static final BigInteger NEXT_RECORD_EDEFAULT = null; /** * The cached value of the '{@link #getNextRecord() <em>Next Record</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getNextRecord() * @generated * @ordered */ protected BigInteger nextRecord = NEXT_RECORD_EDEFAULT; /** * The default value of the '{@link #getNumberOfRecordsMatched() <em>Number Of Records Matched</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getNumberOfRecordsMatched() * @generated * @ordered */ protected static final BigInteger NUMBER_OF_RECORDS_MATCHED_EDEFAULT = null; /** * The cached value of the '{@link #getNumberOfRecordsMatched() <em>Number Of Records Matched</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getNumberOfRecordsMatched() * @generated * @ordered */ protected BigInteger numberOfRecordsMatched = NUMBER_OF_RECORDS_MATCHED_EDEFAULT; /** * The default value of the '{@link #getNumberOfRecordsReturned() <em>Number Of Records Returned</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getNumberOfRecordsReturned() * @generated * @ordered */ protected static final BigInteger NUMBER_OF_RECORDS_RETURNED_EDEFAULT = null; /** * The cached value of the '{@link #getNumberOfRecordsReturned() <em>Number Of Records Returned</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getNumberOfRecordsReturned() * @generated * @ordered */ protected BigInteger numberOfRecordsReturned = NUMBER_OF_RECORDS_RETURNED_EDEFAULT; /** * The default value of the '{@link #getRecordSchema() <em>Record Schema</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getRecordSchema() * @generated * @ordered */ protected static final String RECORD_SCHEMA_EDEFAULT = null; /** * The cached value of the '{@link #getRecordSchema() <em>Record Schema</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getRecordSchema() * @generated * @ordered */ protected String recordSchema = RECORD_SCHEMA_EDEFAULT; /** * The default value of the '{@link #getResultSetId() <em>Result Set Id</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getResultSetId() * @generated * @ordered */ protected static final String RESULT_SET_ID_EDEFAULT = null; /** * The cached value of the '{@link #getResultSetId() <em>Result Set Id</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getResultSetId() * @generated * @ordered */ protected String resultSetId = RESULT_SET_ID_EDEFAULT; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected SearchResultsTypeImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return Csw20Package.Literals.SEARCH_RESULTS_TYPE; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FeatureMap getAbstractRecordGroup() { if (abstractRecordGroup == null) { abstractRecordGroup = new BasicFeatureMap(this, Csw20Package.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD_GROUP); } return abstractRecordGroup; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EList<AbstractRecordType> getAbstractRecord() { return getAbstractRecordGroup().list(Csw20Package.Literals.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public FeatureMap getAny() { if (any == null) { any = new BasicFeatureMap(this, Csw20Package.SEARCH_RESULTS_TYPE__ANY); } return any; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ElementSetType getElementSet() { return elementSet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setElementSet(ElementSetType newElementSet) { ElementSetType oldElementSet = elementSet; elementSet = newElementSet == null ? ELEMENT_SET_EDEFAULT : newElementSet; boolean oldElementSetESet = elementSetESet; elementSetESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Csw20Package.SEARCH_RESULTS_TYPE__ELEMENT_SET, oldElementSet, elementSet, !oldElementSetESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void unsetElementSet() { ElementSetType oldElementSet = elementSet; boolean oldElementSetESet = elementSetESet; elementSet = ELEMENT_SET_EDEFAULT; elementSetESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, Csw20Package.SEARCH_RESULTS_TYPE__ELEMENT_SET, oldElementSet, ELEMENT_SET_EDEFAULT, oldElementSetESet)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public boolean isSetElementSet() { return elementSetESet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Calendar getExpires() { return expires; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setExpires(Calendar newExpires) { Calendar oldExpires = expires; expires = newExpires; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Csw20Package.SEARCH_RESULTS_TYPE__EXPIRES, oldExpires, expires)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BigInteger getNextRecord() { return nextRecord; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setNextRecord(BigInteger newNextRecord) { BigInteger oldNextRecord = nextRecord; nextRecord = newNextRecord; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Csw20Package.SEARCH_RESULTS_TYPE__NEXT_RECORD, oldNextRecord, nextRecord)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BigInteger getNumberOfRecordsMatched() { return numberOfRecordsMatched; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setNumberOfRecordsMatched(BigInteger newNumberOfRecordsMatched) { BigInteger oldNumberOfRecordsMatched = numberOfRecordsMatched; numberOfRecordsMatched = newNumberOfRecordsMatched; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_MATCHED, oldNumberOfRecordsMatched, numberOfRecordsMatched)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BigInteger getNumberOfRecordsReturned() { return numberOfRecordsReturned; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setNumberOfRecordsReturned(BigInteger newNumberOfRecordsReturned) { BigInteger oldNumberOfRecordsReturned = numberOfRecordsReturned; numberOfRecordsReturned = newNumberOfRecordsReturned; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_RETURNED, oldNumberOfRecordsReturned, numberOfRecordsReturned)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getRecordSchema() { return recordSchema; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setRecordSchema(String newRecordSchema) { String oldRecordSchema = recordSchema; recordSchema = newRecordSchema; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Csw20Package.SEARCH_RESULTS_TYPE__RECORD_SCHEMA, oldRecordSchema, recordSchema)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getResultSetId() { return resultSetId; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setResultSetId(String newResultSetId) { String oldResultSetId = resultSetId; resultSetId = newResultSetId; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Csw20Package.SEARCH_RESULTS_TYPE__RESULT_SET_ID, oldResultSetId, resultSetId)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case Csw20Package.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD_GROUP: return ((InternalEList<?>)getAbstractRecordGroup()).basicRemove(otherEnd, msgs); case Csw20Package.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD: return ((InternalEList<?>)getAbstractRecord()).basicRemove(otherEnd, msgs); case Csw20Package.SEARCH_RESULTS_TYPE__ANY: return ((InternalEList<?>)getAny()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case Csw20Package.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD_GROUP: if (coreType) return getAbstractRecordGroup(); return ((FeatureMap.Internal)getAbstractRecordGroup()).getWrapper(); case Csw20Package.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD: return getAbstractRecord(); case Csw20Package.SEARCH_RESULTS_TYPE__ANY: if (coreType) return getAny(); return ((FeatureMap.Internal)getAny()).getWrapper(); case Csw20Package.SEARCH_RESULTS_TYPE__ELEMENT_SET: return getElementSet(); case Csw20Package.SEARCH_RESULTS_TYPE__EXPIRES: return getExpires(); case Csw20Package.SEARCH_RESULTS_TYPE__NEXT_RECORD: return getNextRecord(); case Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_MATCHED: return getNumberOfRecordsMatched(); case Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_RETURNED: return getNumberOfRecordsReturned(); case Csw20Package.SEARCH_RESULTS_TYPE__RECORD_SCHEMA: return getRecordSchema(); case Csw20Package.SEARCH_RESULTS_TYPE__RESULT_SET_ID: return getResultSetId(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case Csw20Package.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD_GROUP: ((FeatureMap.Internal)getAbstractRecordGroup()).set(newValue); return; case Csw20Package.SEARCH_RESULTS_TYPE__ANY: ((FeatureMap.Internal)getAny()).set(newValue); return; case Csw20Package.SEARCH_RESULTS_TYPE__ELEMENT_SET: setElementSet((ElementSetType)newValue); return; case Csw20Package.SEARCH_RESULTS_TYPE__EXPIRES: setExpires((Calendar)newValue); return; case Csw20Package.SEARCH_RESULTS_TYPE__NEXT_RECORD: setNextRecord((BigInteger)newValue); return; case Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_MATCHED: setNumberOfRecordsMatched((BigInteger)newValue); return; case Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_RETURNED: setNumberOfRecordsReturned((BigInteger)newValue); return; case Csw20Package.SEARCH_RESULTS_TYPE__RECORD_SCHEMA: setRecordSchema((String)newValue); return; case Csw20Package.SEARCH_RESULTS_TYPE__RESULT_SET_ID: setResultSetId((String)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case Csw20Package.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD_GROUP: getAbstractRecordGroup().clear(); return; case Csw20Package.SEARCH_RESULTS_TYPE__ANY: getAny().clear(); return; case Csw20Package.SEARCH_RESULTS_TYPE__ELEMENT_SET: unsetElementSet(); return; case Csw20Package.SEARCH_RESULTS_TYPE__EXPIRES: setExpires(EXPIRES_EDEFAULT); return; case Csw20Package.SEARCH_RESULTS_TYPE__NEXT_RECORD: setNextRecord(NEXT_RECORD_EDEFAULT); return; case Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_MATCHED: setNumberOfRecordsMatched(NUMBER_OF_RECORDS_MATCHED_EDEFAULT); return; case Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_RETURNED: setNumberOfRecordsReturned(NUMBER_OF_RECORDS_RETURNED_EDEFAULT); return; case Csw20Package.SEARCH_RESULTS_TYPE__RECORD_SCHEMA: setRecordSchema(RECORD_SCHEMA_EDEFAULT); return; case Csw20Package.SEARCH_RESULTS_TYPE__RESULT_SET_ID: setResultSetId(RESULT_SET_ID_EDEFAULT); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case Csw20Package.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD_GROUP: return abstractRecordGroup != null && !abstractRecordGroup.isEmpty(); case Csw20Package.SEARCH_RESULTS_TYPE__ABSTRACT_RECORD: return !getAbstractRecord().isEmpty(); case Csw20Package.SEARCH_RESULTS_TYPE__ANY: return any != null && !any.isEmpty(); case Csw20Package.SEARCH_RESULTS_TYPE__ELEMENT_SET: return isSetElementSet(); case Csw20Package.SEARCH_RESULTS_TYPE__EXPIRES: return EXPIRES_EDEFAULT == null ? expires != null : !EXPIRES_EDEFAULT.equals(expires); case Csw20Package.SEARCH_RESULTS_TYPE__NEXT_RECORD: return NEXT_RECORD_EDEFAULT == null ? nextRecord != null : !NEXT_RECORD_EDEFAULT.equals(nextRecord); case Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_MATCHED: return NUMBER_OF_RECORDS_MATCHED_EDEFAULT == null ? numberOfRecordsMatched != null : !NUMBER_OF_RECORDS_MATCHED_EDEFAULT.equals(numberOfRecordsMatched); case Csw20Package.SEARCH_RESULTS_TYPE__NUMBER_OF_RECORDS_RETURNED: return NUMBER_OF_RECORDS_RETURNED_EDEFAULT == null ? numberOfRecordsReturned != null : !NUMBER_OF_RECORDS_RETURNED_EDEFAULT.equals(numberOfRecordsReturned); case Csw20Package.SEARCH_RESULTS_TYPE__RECORD_SCHEMA: return RECORD_SCHEMA_EDEFAULT == null ? recordSchema != null : !RECORD_SCHEMA_EDEFAULT.equals(recordSchema); case Csw20Package.SEARCH_RESULTS_TYPE__RESULT_SET_ID: return RESULT_SET_ID_EDEFAULT == null ? resultSetId != null : !RESULT_SET_ID_EDEFAULT.equals(resultSetId); } return super.eIsSet(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (abstractRecordGroup: "); result.append(abstractRecordGroup); result.append(", any: "); result.append(any); result.append(", elementSet: "); if (elementSetESet) result.append(elementSet); else result.append("<unset>"); result.append(", expires: "); result.append(expires); result.append(", nextRecord: "); result.append(nextRecord); result.append(", numberOfRecordsMatched: "); result.append(numberOfRecordsMatched); result.append(", numberOfRecordsReturned: "); result.append(numberOfRecordsReturned); result.append(", recordSchema: "); result.append(recordSchema); result.append(", resultSetId: "); result.append(resultSetId); result.append(')'); return result.toString(); } } //SearchResultsTypeImpl