/**
* <copyright>
* </copyright>
*
* $Id$
*/
package orgomg.cwm.resource.xml.impl;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import orgomg.cwm.resource.xml.*;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
* @generated
*/
public class XmlFactoryImpl extends EFactoryImpl implements XmlFactory {
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static XmlFactory init() {
try {
XmlFactory theXmlFactory = (XmlFactory)EPackage.Registry.INSTANCE.getEFactory("http:///orgomg/cwm/resource/xml.ecore");
if (theXmlFactory != null) {
return theXmlFactory;
}
}
catch (Exception exception) {
EcorePlugin.INSTANCE.log(exception);
}
return new XmlFactoryImpl();
}
/**
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public XmlFactoryImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EObject create(EClass eClass) {
switch (eClass.getClassifierID()) {
case XmlPackage.SCHEMA: return createSchema();
case XmlPackage.ELEMENT_TYPE: return createElementType();
case XmlPackage.ATTRIBUTE: return createAttribute();
case XmlPackage.CONTENT: return createContent();
case XmlPackage.ELEMENT_CONTENT: return createElementContent();
case XmlPackage.MIXED_CONTENT: return createMixedContent();
case XmlPackage.ELEMENT_TYPE_REFERENCE: return createElementTypeReference();
case XmlPackage.TEXT: return createText();
case XmlPackage.ELEMENT: return createElement();
case XmlPackage.DOCUMENT: return createDocument();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object createFromString(EDataType eDataType, String initialValue) {
switch (eDataType.getClassifierID()) {
case XmlPackage.ATTRIBUTE_DEFAULT:
return createAttributeDefaultFromString(eDataType, initialValue);
case XmlPackage.CONTENT_TYPE:
return createContentTypeFromString(eDataType, initialValue);
case XmlPackage.OCCURRENCE_TYPE:
return createOccurrenceTypeFromString(eDataType, initialValue);
case XmlPackage.ELEMENT_ORDER_TYPE:
return createElementOrderTypeFromString(eDataType, initialValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String convertToString(EDataType eDataType, Object instanceValue) {
switch (eDataType.getClassifierID()) {
case XmlPackage.ATTRIBUTE_DEFAULT:
return convertAttributeDefaultToString(eDataType, instanceValue);
case XmlPackage.CONTENT_TYPE:
return convertContentTypeToString(eDataType, instanceValue);
case XmlPackage.OCCURRENCE_TYPE:
return convertOccurrenceTypeToString(eDataType, instanceValue);
case XmlPackage.ELEMENT_ORDER_TYPE:
return convertElementOrderTypeToString(eDataType, instanceValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Schema createSchema() {
SchemaImpl schema = new SchemaImpl();
return schema;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ElementType createElementType() {
ElementTypeImpl elementType = new ElementTypeImpl();
return elementType;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Attribute createAttribute() {
AttributeImpl attribute = new AttributeImpl();
return attribute;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Content createContent() {
ContentImpl content = new ContentImpl();
return content;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ElementContent createElementContent() {
ElementContentImpl elementContent = new ElementContentImpl();
return elementContent;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public MixedContent createMixedContent() {
MixedContentImpl mixedContent = new MixedContentImpl();
return mixedContent;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ElementTypeReference createElementTypeReference() {
ElementTypeReferenceImpl elementTypeReference = new ElementTypeReferenceImpl();
return elementTypeReference;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Text createText() {
TextImpl text = new TextImpl();
return text;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Element createElement() {
ElementImpl element = new ElementImpl();
return element;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Document createDocument() {
DocumentImpl document = new DocumentImpl();
return document;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public AttributeDefault createAttributeDefaultFromString(EDataType eDataType, String initialValue) {
AttributeDefault result = AttributeDefault.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertAttributeDefaultToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ContentType createContentTypeFromString(EDataType eDataType, String initialValue) {
ContentType result = ContentType.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertContentTypeToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public OccurrenceType createOccurrenceTypeFromString(EDataType eDataType, String initialValue) {
OccurrenceType result = OccurrenceType.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertOccurrenceTypeToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ElementOrderType createElementOrderTypeFromString(EDataType eDataType, String initialValue) {
ElementOrderType result = ElementOrderType.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertElementOrderTypeToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public XmlPackage getXmlPackage() {
return (XmlPackage)getEPackage();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @deprecated
* @generated
*/
@Deprecated
public static XmlPackage getPackage() {
return XmlPackage.eINSTANCE;
}
} //XmlFactoryImpl