/*******************************************************************************
* Copyright (c) 2010, 2015 Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/
package org.eclipse.ocl.xtext.basecs.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.eclipse.jdt.annotation.NonNull;
import org.eclipse.ocl.pivot.internal.scoping.ScopeFilter;
import org.eclipse.ocl.xtext.basecs.AnnotationCS;
import org.eclipse.ocl.xtext.basecs.AttributeCS;
import org.eclipse.ocl.xtext.basecs.BaseCSFactory;
import org.eclipse.ocl.xtext.basecs.BaseCSPackage;
import org.eclipse.ocl.xtext.basecs.ConstraintCS;
import org.eclipse.ocl.xtext.basecs.DataTypeCS;
import org.eclipse.ocl.xtext.basecs.DetailCS;
import org.eclipse.ocl.xtext.basecs.DocumentationCS;
import org.eclipse.ocl.xtext.basecs.EnumerationCS;
import org.eclipse.ocl.xtext.basecs.EnumerationLiteralCS;
import org.eclipse.ocl.xtext.basecs.ImportCS;
import org.eclipse.ocl.xtext.basecs.LambdaTypeCS;
import org.eclipse.ocl.xtext.basecs.ModelElementRefCS;
import org.eclipse.ocl.xtext.basecs.MultiplicityBoundsCS;
import org.eclipse.ocl.xtext.basecs.MultiplicityStringCS;
import org.eclipse.ocl.xtext.basecs.OperationCS;
import org.eclipse.ocl.xtext.basecs.PackageCS;
import org.eclipse.ocl.xtext.basecs.ParameterCS;
import org.eclipse.ocl.xtext.basecs.PathElementCS;
import org.eclipse.ocl.xtext.basecs.PathElementWithURICS;
import org.eclipse.ocl.xtext.basecs.PathNameCS;
import org.eclipse.ocl.xtext.basecs.PrimitiveTypeRefCS;
import org.eclipse.ocl.xtext.basecs.ReferenceCS;
import org.eclipse.ocl.xtext.basecs.RootPackageCS;
import org.eclipse.ocl.xtext.basecs.SpecificationCS;
import org.eclipse.ocl.xtext.basecs.StructuredClassCS;
import org.eclipse.ocl.xtext.basecs.TemplateBindingCS;
import org.eclipse.ocl.xtext.basecs.TemplateParameterSubstitutionCS;
import org.eclipse.ocl.xtext.basecs.TemplateSignatureCS;
import org.eclipse.ocl.xtext.basecs.TuplePartCS;
import org.eclipse.ocl.xtext.basecs.TupleTypeCS;
import org.eclipse.ocl.xtext.basecs.TypeParameterCS;
import org.eclipse.ocl.xtext.basecs.TypedTypeRefCS;
import org.eclipse.ocl.xtext.basecs.WildcardTypeRefCS;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
* @generated
*/
public class BaseCSFactoryImpl extends EFactoryImpl implements BaseCSFactory {
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static BaseCSFactory init() {
try
{
BaseCSFactory theBaseCSFactory = (BaseCSFactory)EPackage.Registry.INSTANCE.getEFactory(BaseCSPackage.eNS_URI);
if (theBaseCSFactory != null)
{
return theBaseCSFactory;
}
}
catch (Exception exception)
{
EcorePlugin.INSTANCE.log(exception);
}
return new BaseCSFactoryImpl();
}
/**
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public BaseCSFactoryImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EObject create(EClass eClass) {
switch (eClass.getClassifierID())
{
case BaseCSPackage.ANNOTATION_CS: return createAnnotationCS();
case BaseCSPackage.ATTRIBUTE_CS: return createAttributeCS();
case BaseCSPackage.CONSTRAINT_CS: return createConstraintCS();
case BaseCSPackage.DATA_TYPE_CS: return createDataTypeCS();
case BaseCSPackage.DETAIL_CS: return createDetailCS();
case BaseCSPackage.DOCUMENTATION_CS: return createDocumentationCS();
case BaseCSPackage.ENUMERATION_CS: return createEnumerationCS();
case BaseCSPackage.ENUMERATION_LITERAL_CS: return createEnumerationLiteralCS();
case BaseCSPackage.IMPORT_CS: return createImportCS();
case BaseCSPackage.LAMBDA_TYPE_CS: return createLambdaTypeCS();
case BaseCSPackage.MODEL_ELEMENT_REF_CS: return createModelElementRefCS();
case BaseCSPackage.MULTIPLICITY_BOUNDS_CS: return createMultiplicityBoundsCS();
case BaseCSPackage.MULTIPLICITY_STRING_CS: return createMultiplicityStringCS();
case BaseCSPackage.OPERATION_CS: return createOperationCS();
case BaseCSPackage.PACKAGE_CS: return createPackageCS();
case BaseCSPackage.PARAMETER_CS: return createParameterCS();
case BaseCSPackage.PATH_ELEMENT_CS: return createPathElementCS();
case BaseCSPackage.PATH_ELEMENT_WITH_URICS: return createPathElementWithURICS();
case BaseCSPackage.PATH_NAME_CS: return createPathNameCS();
case BaseCSPackage.PRIMITIVE_TYPE_REF_CS: return createPrimitiveTypeRefCS();
case BaseCSPackage.REFERENCE_CS: return createReferenceCS();
case BaseCSPackage.ROOT_PACKAGE_CS: return createRootPackageCS();
case BaseCSPackage.SPECIFICATION_CS: return createSpecificationCS();
case BaseCSPackage.STRUCTURED_CLASS_CS: return createStructuredClassCS();
case BaseCSPackage.TEMPLATE_BINDING_CS: return createTemplateBindingCS();
case BaseCSPackage.TEMPLATE_PARAMETER_SUBSTITUTION_CS: return createTemplateParameterSubstitutionCS();
case BaseCSPackage.TEMPLATE_SIGNATURE_CS: return createTemplateSignatureCS();
case BaseCSPackage.TUPLE_PART_CS: return createTuplePartCS();
case BaseCSPackage.TUPLE_TYPE_CS: return createTupleTypeCS();
case BaseCSPackage.TYPE_PARAMETER_CS: return createTypeParameterCS();
case BaseCSPackage.TYPED_TYPE_REF_CS: return createTypedTypeRefCS();
case BaseCSPackage.WILDCARD_TYPE_REF_CS: return createWildcardTypeRefCS();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object createFromString(EDataType eDataType, String initialValue)
{
switch (eDataType.getClassifierID())
{
case BaseCSPackage.BIG_NUMBER:
return createBigNumberFromString(eDataType, initialValue);
case BaseCSPackage.SCOPE_FILTER:
return createScopeFilterFromString(eDataType, initialValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String convertToString(EDataType eDataType, Object instanceValue)
{
switch (eDataType.getClassifierID())
{
case BaseCSPackage.BIG_NUMBER:
return convertBigNumberToString(eDataType, instanceValue);
case BaseCSPackage.SCOPE_FILTER:
return convertScopeFilterToString(eDataType, instanceValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull AnnotationCS createAnnotationCS()
{
AnnotationCSImpl annotationCS = new AnnotationCSImpl();
return annotationCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull AttributeCS createAttributeCS()
{
AttributeCSImpl attributeCS = new AttributeCSImpl();
return attributeCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull ConstraintCS createConstraintCS()
{
ConstraintCSImpl constraintCS = new ConstraintCSImpl();
return constraintCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull DataTypeCS createDataTypeCS()
{
DataTypeCSImpl dataTypeCS = new DataTypeCSImpl();
return dataTypeCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull DetailCS createDetailCS() {
DetailCSImpl detailCS = new DetailCSImpl();
return detailCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull DocumentationCS createDocumentationCS()
{
DocumentationCSImpl documentationCS = new DocumentationCSImpl();
return documentationCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull EnumerationCS createEnumerationCS()
{
EnumerationCSImpl enumerationCS = new EnumerationCSImpl();
return enumerationCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull EnumerationLiteralCS createEnumerationLiteralCS()
{
EnumerationLiteralCSImpl enumerationLiteralCS = new EnumerationLiteralCSImpl();
return enumerationLiteralCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull ImportCS createImportCS() {
ImportCSImpl importCS = new ImportCSImpl();
return importCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull LambdaTypeCS createLambdaTypeCS()
{
LambdaTypeCSImpl lambdaTypeCS = new LambdaTypeCSImpl();
return lambdaTypeCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull ModelElementRefCS createModelElementRefCS()
{
ModelElementRefCSImpl modelElementRefCS = new ModelElementRefCSImpl();
return modelElementRefCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull MultiplicityBoundsCS createMultiplicityBoundsCS()
{
MultiplicityBoundsCSImpl multiplicityBoundsCS = new MultiplicityBoundsCSImpl();
return multiplicityBoundsCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull MultiplicityStringCS createMultiplicityStringCS()
{
MultiplicityStringCSImpl multiplicityStringCS = new MultiplicityStringCSImpl();
return multiplicityStringCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull OperationCS createOperationCS()
{
OperationCSImpl operationCS = new OperationCSImpl();
return operationCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull PackageCS createPackageCS() {
PackageCSImpl packageCS = new PackageCSImpl();
return packageCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull ParameterCS createParameterCS() {
ParameterCSImpl parameterCS = new ParameterCSImpl();
return parameterCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull PathElementCS createPathElementCS()
{
PathElementCSImpl pathElementCS = new PathElementCSImpl();
return pathElementCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull PathElementWithURICS createPathElementWithURICS()
{
PathElementWithURICSImpl pathElementWithURICS = new PathElementWithURICSImpl();
return pathElementWithURICS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull PathNameCS createPathNameCS()
{
PathNameCSImpl pathNameCS = new PathNameCSImpl();
return pathNameCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull PrimitiveTypeRefCS createPrimitiveTypeRefCS() {
PrimitiveTypeRefCSImpl primitiveTypeRefCS = new PrimitiveTypeRefCSImpl();
return primitiveTypeRefCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull ReferenceCS createReferenceCS()
{
ReferenceCSImpl referenceCS = new ReferenceCSImpl();
return referenceCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull RootPackageCS createRootPackageCS()
{
RootPackageCSImpl rootPackageCS = new RootPackageCSImpl();
return rootPackageCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull SpecificationCS createSpecificationCS()
{
SpecificationCSImpl specificationCS = new SpecificationCSImpl();
return specificationCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull StructuredClassCS createStructuredClassCS()
{
StructuredClassCSImpl structuredClassCS = new StructuredClassCSImpl();
return structuredClassCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull TemplateBindingCS createTemplateBindingCS() {
TemplateBindingCSImpl templateBindingCS = new TemplateBindingCSImpl();
return templateBindingCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull TemplateParameterSubstitutionCS createTemplateParameterSubstitutionCS() {
TemplateParameterSubstitutionCSImpl templateParameterSubstitutionCS = new TemplateParameterSubstitutionCSImpl();
return templateParameterSubstitutionCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull TemplateSignatureCS createTemplateSignatureCS() {
TemplateSignatureCSImpl templateSignatureCS = new TemplateSignatureCSImpl();
return templateSignatureCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull TuplePartCS createTuplePartCS()
{
TuplePartCSImpl tuplePartCS = new TuplePartCSImpl();
return tuplePartCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull TupleTypeCS createTupleTypeCS()
{
TupleTypeCSImpl tupleTypeCS = new TupleTypeCSImpl();
return tupleTypeCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull TypeParameterCS createTypeParameterCS() {
TypeParameterCSImpl typeParameterCS = new TypeParameterCSImpl();
return typeParameterCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull TypedTypeRefCS createTypedTypeRefCS() {
TypedTypeRefCSImpl typedTypeRefCS = new TypedTypeRefCSImpl();
return typedTypeRefCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public @NonNull WildcardTypeRefCS createWildcardTypeRefCS() {
WildcardTypeRefCSImpl wildcardTypeRefCS = new WildcardTypeRefCSImpl();
return wildcardTypeRefCS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Number createBigNumberFromString(EDataType eDataType, String initialValue)
{
return (Number)super.createFromString(eDataType, initialValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertBigNumberToString(EDataType eDataType, Object instanceValue)
{
return super.convertToString(eDataType, instanceValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ScopeFilter createScopeFilterFromString(EDataType eDataType, String initialValue)
{
return (ScopeFilter)super.createFromString(eDataType, initialValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertScopeFilterToString(EDataType eDataType, Object instanceValue)
{
return super.convertToString(eDataType, instanceValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public BaseCSPackage getBaseCSPackage()
{
return (BaseCSPackage)getEPackage();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @deprecated
* @generated
*/
@Deprecated
public static BaseCSPackage getPackage() {
return BaseCSPackage.eINSTANCE;
}
} //BaseCSFactoryImpl