/** * <copyright> * </copyright> * * $Id$ */ package org.yakindu.base.types.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 org.yakindu.base.types.Annotation; import org.yakindu.base.types.AnnotationType; import org.yakindu.base.types.ArrayTypeSpecifier; import org.yakindu.base.types.ComplexType; import org.yakindu.base.types.Direction; import org.yakindu.base.types.Domain; import org.yakindu.base.types.EnumerationType; import org.yakindu.base.types.Enumerator; import org.yakindu.base.types.Event; import org.yakindu.base.types.GenericElement; import org.yakindu.base.types.Operation; import org.yakindu.base.types.PackageMember; import org.yakindu.base.types.Parameter; import org.yakindu.base.types.PrimitiveType; import org.yakindu.base.types.Property; import org.yakindu.base.types.RangeConstraint; import org.yakindu.base.types.Type; import org.yakindu.base.types.TypeAlias; import org.yakindu.base.types.TypeConstraint; import org.yakindu.base.types.TypeParameter; import org.yakindu.base.types.TypeSpecifier; import org.yakindu.base.types.TypesFactory; import org.yakindu.base.types.TypesPackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Factory</b>. * <!-- end-user-doc --> * @generated */ public class TypesFactoryImpl extends EFactoryImpl implements TypesFactory { /** * Creates the default factory implementation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static TypesFactory init() { try { TypesFactory theTypesFactory = (TypesFactory)EPackage.Registry.INSTANCE.getEFactory(TypesPackage.eNS_URI); if (theTypesFactory != null) { return theTypesFactory; } } catch (Exception exception) { EcorePlugin.INSTANCE.log(exception); } return new TypesFactoryImpl(); } /** * Creates an instance of the factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TypesFactoryImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case TypesPackage.PACKAGE: return createPackage(); case TypesPackage.TYPE: return createType(); case TypesPackage.OPERATION: return createOperation(); case TypesPackage.PROPERTY: return createProperty(); case TypesPackage.PARAMETER: return createParameter(); case TypesPackage.TYPE_SPECIFIER: return createTypeSpecifier(); case TypesPackage.EVENT: return createEvent(); case TypesPackage.ENUMERATION_TYPE: return createEnumerationType(); case TypesPackage.PRIMITIVE_TYPE: return createPrimitiveType(); case TypesPackage.COMPLEX_TYPE: return createComplexType(); case TypesPackage.ENUMERATOR: return createEnumerator(); case TypesPackage.TYPE_CONSTRAINT: return createTypeConstraint(); case TypesPackage.TYPE_PARAMETER: return createTypeParameter(); case TypesPackage.GENERIC_ELEMENT: return createGenericElement(); case TypesPackage.PACKAGE_MEMBER: return createPackageMember(); case TypesPackage.RANGE_CONSTRAINT: return createRangeConstraint(); case TypesPackage.DOMAIN: return createDomain(); case TypesPackage.TYPE_ALIAS: return createTypeAlias(); case TypesPackage.ANNOTATION: return createAnnotation(); case TypesPackage.ARRAY_TYPE_SPECIFIER: return createArrayTypeSpecifier(); case TypesPackage.ANNOTATION_TYPE: return createAnnotationType(); 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 TypesPackage.DIRECTION: return createDirectionFromString(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 TypesPackage.DIRECTION: return convertDirectionToString(eDataType, instanceValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public org.yakindu.base.types.Package createPackage() { PackageImpl package_ = new PackageImpl(); return package_; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Type createType() { TypeImpl type = new TypeImpl(); return type; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Operation createOperation() { OperationImpl operation = new OperationImpl(); return operation; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Property createProperty() { PropertyImpl property = new PropertyImpl(); return property; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Parameter createParameter() { ParameterImpl parameter = new ParameterImpl(); return parameter; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TypeSpecifier createTypeSpecifier() { TypeSpecifierImpl typeSpecifier = new TypeSpecifierImpl(); return typeSpecifier; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Event createEvent() { EventImpl event = new EventImpl(); return event; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EnumerationType createEnumerationType() { EnumerationTypeImpl enumerationType = new EnumerationTypeImpl(); return enumerationType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PrimitiveType createPrimitiveType() { PrimitiveTypeImpl primitiveType = new PrimitiveTypeImpl(); return primitiveType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ComplexType createComplexType() { ComplexTypeImpl complexType = new ComplexTypeImpl(); return complexType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Enumerator createEnumerator() { EnumeratorImpl enumerator = new EnumeratorImpl(); return enumerator; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TypeConstraint createTypeConstraint() { TypeConstraintImpl typeConstraint = new TypeConstraintImpl(); return typeConstraint; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TypeParameter createTypeParameter() { TypeParameterImpl typeParameter = new TypeParameterImpl(); return typeParameter; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public GenericElement createGenericElement() { GenericElementImpl genericElement = new GenericElementImpl(); return genericElement; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PackageMember createPackageMember() { PackageMemberImpl packageMember = new PackageMemberImpl(); return packageMember; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public RangeConstraint createRangeConstraint() { RangeConstraintImpl rangeConstraint = new RangeConstraintImpl(); return rangeConstraint; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Domain createDomain() { DomainImpl domain = new DomainImpl(); return domain; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TypeAlias createTypeAlias() { TypeAliasImpl typeAlias = new TypeAliasImpl(); return typeAlias; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Annotation createAnnotation() { AnnotationImpl annotation = new AnnotationImpl(); return annotation; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ArrayTypeSpecifier createArrayTypeSpecifier() { ArrayTypeSpecifierImpl arrayTypeSpecifier = new ArrayTypeSpecifierImpl(); return arrayTypeSpecifier; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public AnnotationType createAnnotationType() { AnnotationTypeImpl annotationType = new AnnotationTypeImpl(); return annotationType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Direction createDirectionFromString(EDataType eDataType, String initialValue) { Direction result = Direction.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 convertDirectionToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TypesPackage getTypesPackage() { return (TypesPackage)getEPackage(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @deprecated * @generated */ @Deprecated public static TypesPackage getPackage() { return TypesPackage.eINSTANCE; } } //TypesFactoryImpl