package org.eclipse.emf.texo.server.model.response; import java.util.List; import java.util.Map; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.xml.type.XMLTypePackage; import org.eclipse.emf.texo.model.AbstractModelFeatureMapEntry; import org.eclipse.emf.texo.model.AbstractModelObject; import org.eclipse.emf.texo.model.ModelFactory; import org.eclipse.emf.texo.model.ModelFeatureMapEntry; import org.eclipse.emf.texo.model.ModelObject; import org.eclipse.emf.texo.model.ModelPackage; /** * The <b>{@link ModelFactory}</b> for the types of this model: org.eclipse.emf.texo.server.model.response. It contains * code to create instances {@link ModelObject} wrappers and instances for EClasses and convert objects back and forth * from their String (XML) representation. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public class ResponseModelFactory implements ModelFactory { /** * Creates an instance for an {@link EClass} <!-- begin-user-doc --> <!-- end-user-doc --> * * @param eClass * creates a Object instance for this EClass * @return an object representing the eClass * @generated */ public Object create(EClass eClass) { switch (eClass.getClassifierID()) { case ResponseModelPackage.DOCUMENTROOT_CLASSIFIER_ID: return createDocumentRoot(); case ResponseModelPackage.ERRORTYPE_CLASSIFIER_ID: return createErrorType(); case ResponseModelPackage.RESPONSETYPE_CLASSIFIER_ID: return createResponseType(); case ResponseModelPackage.RESULTTYPE_CLASSIFIER_ID: return createResultType(); } throw new IllegalArgumentException("The EClass '" + eClass.getName() + "' is not a valid EClass for this EPackage"); } /** * Wraps an object in a {@link ModelObject}. <!-- begin-user-doc --> <!-- end-user-doc --> * * @param eClass * the EClass of the object * @param adaptee * the object being wrapped/adapted * @return the wrapper {@link ModelObject} * @generated */ @SuppressWarnings({ "unchecked", "rawtypes" }) public ModelObject createModelObject(EClass eClass, Object adaptee) { ModelObject<Object> modelObject = null; switch (eClass.getClassifierID()) { case ResponseModelPackage.DOCUMENTROOT_CLASSIFIER_ID: modelObject = new DocumentRootModelObject(); break; case ResponseModelPackage.ERRORTYPE_CLASSIFIER_ID: modelObject = new ErrorTypeModelObject(); break; case ResponseModelPackage.RESPONSETYPE_CLASSIFIER_ID: modelObject = new ResponseTypeModelObject(); break; case ResponseModelPackage.RESULTTYPE_CLASSIFIER_ID: modelObject = new ResultTypeModelObject(); break; default: throw new IllegalArgumentException("The EClass '" + eClass + "' is not defined in this EPackage"); } modelObject.setTarget(adaptee); return modelObject; } /** * Creates a feature map entry instance for a certain EStructuralFeature. * * @param eStructuralFeature * the feature map feature * @return the pojo feature map entry * @generated */ public Object createFeatureMapEntry(EStructuralFeature eFeature) { if (eFeature == ResponseModelPackage.INSTANCE.getDocumentRoot_Mixed()) { return new DocumentRootMixedFeatureGroup(); } throw new IllegalArgumentException("The EStructuralFeature '" + eFeature + "' is not a valid feature map in this EPackage"); } /** * Wraps a feature map entry pojo in a {@link AbstractModelFeatureMapEntry}. If the feature map entry is null then a * new one is created and <!-- begin-user-doc --> <!-- end-user-doc --> * * @param eStructuralFeature * the feature map feature of the object * @param adaptee * the pojo feature map entry being wrapped/adapted * @return the wrapper {@link ModelFeatureMapEntry} * @generated */ public ModelFeatureMapEntry<?> createModelFeatureMapEntry(EStructuralFeature eFeature, Object adaptee) { if (eFeature == ResponseModelPackage.INSTANCE.getDocumentRoot_Mixed()) { final DocumentRootMixedFeatureGroupModelFeatureMapEntry<DocumentRootMixedFeatureGroup> entry = new DocumentRootMixedFeatureGroupModelFeatureMapEntry<DocumentRootMixedFeatureGroup>(); entry.setTarget((DocumentRootMixedFeatureGroup) adaptee); return entry; } throw new IllegalArgumentException("The EStructuralFeature '" + eFeature + "' is not a valid feature map in this EPackage"); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the model object representing the EClass DocumentRoot * @generated */ public DocumentRoot createDocumentRoot() { return new DocumentRoot(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the model object representing the EClass ErrorType * @generated */ public ErrorType createErrorType() { return new ErrorType(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the model object representing the EClass ResponseType * @generated */ public ResponseType createResponseType() { return new ResponseType(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @return an instance of the model object representing the EClass ResultType * @generated */ public ResultType createResultType() { return new ResultType(); } /** * Converts an instance of an {@link EDataType} to a String. <!-- begin-user-doc --> <!-- end-user-doc --> * * @param eDataType * the {@link EDataType} defining the type * @param value * the object to convert, if the value is null then null is returned. * @generated */ public Object createFromString(EDataType eDataType, String value) { switch (eDataType.getClassifierID()) { } throw new IllegalArgumentException("The EDatatype '" + eDataType + "' is not defined in this EPackage"); } /** * Converts an instance of an {@link EDataType} to a String. <!-- begin-user-doc --> <!-- end-user-doc --> * * @param eDataType * the {@link EDataType} defining the type * @param value * the object to convert, if value == null then null is returned * @generated */ public String convertToString(EDataType eDataType, Object value) { switch (eDataType.getClassifierID()) { } throw new IllegalArgumentException("The EDatatype '" + eDataType + "' is not defined in this EPackage."); } /** * The adapter/wrapper for the EClass '<em><b>DocumentRoot</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static class DocumentRootModelObject<E extends DocumentRoot> extends AbstractModelObject<E> { /** * @generated */ public EClass eClass() { return ResponseModelPackage.INSTANCE.getDocumentRootEClass(); } /** * @generated */ public ModelPackage getModelPackage() { return ResponseModelPackage.INSTANCE; } /** * @generated */ @Override public Object eGet(EStructuralFeature eStructuralFeature) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.DOCUMENTROOT_MIXED_FEATURE_ID: return getTarget().getMixed(); case ResponseModelPackage.DOCUMENTROOT_XMLNSPREFIXMAP_FEATURE_ID: return getTarget().getXMLNSPrefixMap(); case ResponseModelPackage.DOCUMENTROOT_XSISCHEMALOCATION_FEATURE_ID: return getTarget().getXSISchemaLocation(); case ResponseModelPackage.DOCUMENTROOT_ERROR_FEATURE_ID: return getTarget().getError(); case ResponseModelPackage.DOCUMENTROOT_RESPONSE_FEATURE_ID: return getTarget().getResponse(); case ResponseModelPackage.DOCUMENTROOT_RESULT_FEATURE_ID: return getTarget().getResult(); } return super.eGet(eStructuralFeature); } /** * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.DOCUMENTROOT_MIXED_FEATURE_ID: getTarget().setMixed((List<DocumentRootMixedFeatureGroup>) value); return; case ResponseModelPackage.DOCUMENTROOT_XMLNSPREFIXMAP_FEATURE_ID: getTarget().setXMLNSPrefixMap((Map<String, String>) value); return; case ResponseModelPackage.DOCUMENTROOT_XSISCHEMALOCATION_FEATURE_ID: getTarget().setXSISchemaLocation((Map<String, String>) value); return; case ResponseModelPackage.DOCUMENTROOT_ERROR_FEATURE_ID: getTarget().setError((ErrorType) value); return; case ResponseModelPackage.DOCUMENTROOT_RESPONSE_FEATURE_ID: getTarget().setResponse((ResponseType) value); return; case ResponseModelPackage.DOCUMENTROOT_RESULT_FEATURE_ID: getTarget().setResult((ResultType) value); return; } super.eSet(eStructuralFeature, value); } /** * @generated */ @Override public boolean eAddTo(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.DOCUMENTROOT_MIXED_FEATURE_ID: return getTarget().getMixed().add((DocumentRootMixedFeatureGroup) value); } return super.eAddTo(eStructuralFeature, value); } /** * @generated */ @Override public boolean eRemoveFrom(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.DOCUMENTROOT_MIXED_FEATURE_ID: return getTarget().getMixed().remove(value); } return super.eRemoveFrom(eStructuralFeature, value); } } /** * The adapter/wrapper for the EClass '<em><b>ErrorType</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static class ErrorTypeModelObject<E extends ErrorType> extends AbstractModelObject<E> { /** * @generated */ public EClass eClass() { return ResponseModelPackage.INSTANCE.getErrorTypeEClass(); } /** * @generated */ public ModelPackage getModelPackage() { return ResponseModelPackage.INSTANCE; } /** * @generated */ @Override public Object eGet(EStructuralFeature eStructuralFeature) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.ERRORTYPE_ERRORCLASS_FEATURE_ID: return getTarget().getErrorClass(); case ResponseModelPackage.ERRORTYPE_MESSAGE_FEATURE_ID: return getTarget().getMessage(); case ResponseModelPackage.ERRORTYPE_STACKTRACE_FEATURE_ID: return getTarget().getStackTrace(); case ResponseModelPackage.ERRORTYPE_CAUSE_FEATURE_ID: return getTarget().getCause(); } return super.eGet(eStructuralFeature); } /** * @generated */ @Override public void eSet(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.ERRORTYPE_ERRORCLASS_FEATURE_ID: getTarget().setErrorClass((String) value); return; case ResponseModelPackage.ERRORTYPE_MESSAGE_FEATURE_ID: getTarget().setMessage((String) value); return; case ResponseModelPackage.ERRORTYPE_STACKTRACE_FEATURE_ID: getTarget().setStackTrace((String) value); return; case ResponseModelPackage.ERRORTYPE_CAUSE_FEATURE_ID: getTarget().setCause((ErrorType) value); return; } super.eSet(eStructuralFeature, value); } /** * @generated */ @Override public boolean eAddTo(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { } return super.eAddTo(eStructuralFeature, value); } /** * @generated */ @Override public boolean eRemoveFrom(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { } return super.eRemoveFrom(eStructuralFeature, value); } } /** * The adapter/wrapper for the EClass '<em><b>ResponseType</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static class ResponseTypeModelObject<E extends ResponseType> extends AbstractModelObject<E> { /** * @generated */ public EClass eClass() { return ResponseModelPackage.INSTANCE.getResponseTypeEClass(); } /** * @generated */ public ModelPackage getModelPackage() { return ResponseModelPackage.INSTANCE; } /** * @generated */ @Override public Object eGet(EStructuralFeature eStructuralFeature) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.RESPONSETYPE_STATUS_FEATURE_ID: return getTarget().getStatus(); case ResponseModelPackage.RESPONSETYPE_STARTROW_FEATURE_ID: return getTarget().getStartRow(); case ResponseModelPackage.RESPONSETYPE_ENDROW_FEATURE_ID: return getTarget().getEndRow(); case ResponseModelPackage.RESPONSETYPE_TOTALROWS_FEATURE_ID: return getTarget().getTotalRows(); case ResponseModelPackage.RESPONSETYPE_DATA_FEATURE_ID: return getTarget().getData(); } return super.eGet(eStructuralFeature); } /** * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.RESPONSETYPE_STATUS_FEATURE_ID: getTarget().setStatus((String) value); return; case ResponseModelPackage.RESPONSETYPE_STARTROW_FEATURE_ID: getTarget().setStartRow((Long) value); return; case ResponseModelPackage.RESPONSETYPE_ENDROW_FEATURE_ID: getTarget().setEndRow((Long) value); return; case ResponseModelPackage.RESPONSETYPE_TOTALROWS_FEATURE_ID: getTarget().setTotalRows((Long) value); return; case ResponseModelPackage.RESPONSETYPE_DATA_FEATURE_ID: getTarget().setData((List<Object>) value); return; } super.eSet(eStructuralFeature, value); } /** * @generated */ @Override public boolean eAddTo(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.RESPONSETYPE_DATA_FEATURE_ID: return getTarget().getData().add(value); } return super.eAddTo(eStructuralFeature, value); } /** * @generated */ @Override public boolean eRemoveFrom(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.RESPONSETYPE_DATA_FEATURE_ID: return getTarget().getData().remove(value); } return super.eRemoveFrom(eStructuralFeature, value); } } /** * The adapter/wrapper for the EClass '<em><b>ResultType</b></em>'. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public static class ResultTypeModelObject<E extends ResultType> extends AbstractModelObject<E> { /** * @generated */ public EClass eClass() { return ResponseModelPackage.INSTANCE.getResultTypeEClass(); } /** * @generated */ public ModelPackage getModelPackage() { return ResponseModelPackage.INSTANCE; } /** * @generated */ @Override public Object eGet(EStructuralFeature eStructuralFeature) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.RESULTTYPE_UPDATED_FEATURE_ID: return getTarget().getUpdated(); case ResponseModelPackage.RESULTTYPE_INSERTED_FEATURE_ID: return getTarget().getInserted(); case ResponseModelPackage.RESULTTYPE_DELETED_FEATURE_ID: return getTarget().getDeleted(); } return super.eGet(eStructuralFeature); } /** * @generated */ @SuppressWarnings("unchecked") @Override public void eSet(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.RESULTTYPE_UPDATED_FEATURE_ID: getTarget().setUpdated((List<Object>) value); return; case ResponseModelPackage.RESULTTYPE_INSERTED_FEATURE_ID: getTarget().setInserted((List<Object>) value); return; case ResponseModelPackage.RESULTTYPE_DELETED_FEATURE_ID: getTarget().setDeleted((List<Object>) value); return; } super.eSet(eStructuralFeature, value); } /** * @generated */ @Override public boolean eAddTo(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.RESULTTYPE_UPDATED_FEATURE_ID: return getTarget().getUpdated().add(value); case ResponseModelPackage.RESULTTYPE_INSERTED_FEATURE_ID: return getTarget().getInserted().add(value); case ResponseModelPackage.RESULTTYPE_DELETED_FEATURE_ID: return getTarget().getDeleted().add(value); } return super.eAddTo(eStructuralFeature, value); } /** * @generated */ @Override public boolean eRemoveFrom(EStructuralFeature eStructuralFeature, Object value) { final int featureID = eClass().getFeatureID(eStructuralFeature); switch (featureID) { case ResponseModelPackage.RESULTTYPE_UPDATED_FEATURE_ID: return getTarget().getUpdated().remove(value); case ResponseModelPackage.RESULTTYPE_INSERTED_FEATURE_ID: return getTarget().getInserted().remove(value); case ResponseModelPackage.RESULTTYPE_DELETED_FEATURE_ID: return getTarget().getDeleted().remove(value); } return super.eRemoveFrom(eStructuralFeature, value); } } /** * The wrapper/adapter for the Feature Group '<em><b>DocumentRoot.mixed</b></em>'. * * @generated */ public static class DocumentRootMixedFeatureGroupModelFeatureMapEntry<E extends DocumentRootMixedFeatureGroup> extends AbstractModelFeatureMapEntry<DocumentRootMixedFeatureGroup> { /** * @generated */ public EStructuralFeature getEStructuralFeature() { switch (getTarget().getFeature()) { case TEXT: return XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Text(); case CDATA: return XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_CDATA(); case COMMENT: return XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Comment(); case ERROR: return ResponseModelPackage.INSTANCE.getDocumentRoot_Error(); case RESPONSE: return ResponseModelPackage.INSTANCE.getDocumentRoot_Response(); case RESULT: return ResponseModelPackage.INSTANCE.getDocumentRoot_Result(); } throw new IllegalArgumentException("No eStructuralFeature for feature kind " + getTarget().getFeature()); } /** * @generated */ public void setEStructuralFeature(final EStructuralFeature eStructuralFeature) { if (eStructuralFeature == XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Text()) { getTarget().setFeature(DocumentRootMixedFeatureGroup.Feature.TEXT); return; } else if (eStructuralFeature == XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_CDATA()) { getTarget().setFeature(DocumentRootMixedFeatureGroup.Feature.CDATA); return; } else if (eStructuralFeature == XMLTypePackage.eINSTANCE.getXMLTypeDocumentRoot_Comment()) { getTarget().setFeature(DocumentRootMixedFeatureGroup.Feature.COMMENT); return; } final EClass eClass = ResponseModelPackage.INSTANCE.getDocumentRootEClass(); switch (eClass.getFeatureID(eStructuralFeature)) { case ResponseModelPackage.DOCUMENTROOT_ERROR_FEATURE_ID: getTarget().setFeature(DocumentRootMixedFeatureGroup.Feature.ERROR); return; case ResponseModelPackage.DOCUMENTROOT_RESPONSE_FEATURE_ID: getTarget().setFeature(DocumentRootMixedFeatureGroup.Feature.RESPONSE); return; case ResponseModelPackage.DOCUMENTROOT_RESULT_FEATURE_ID: getTarget().setFeature(DocumentRootMixedFeatureGroup.Feature.RESULT); return; } throw new IllegalArgumentException("EStructuralFeature " + eStructuralFeature + " not supported here"); } /** * @generated */ public Object getValue() { return getTarget().getValue(); } /** * @generated */ public void setValue(final Object value) { getTarget().setValue(getTarget().getFeature(), value); } } }