/** * <copyright> * </copyright> * * $Id$ */ package org.talend.dataquality.domain.pattern.impl; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; import org.talend.core.model.properties.PropertiesPackage; import org.talend.cwm.relational.RelationalPackage; import org.talend.dataquality.analysis.AnalysisPackage; import org.talend.dataquality.analysis.category.CategoryPackage; import org.talend.dataquality.analysis.category.impl.CategoryPackageImpl; import org.talend.dataquality.analysis.impl.AnalysisPackageImpl; import org.talend.dataquality.domain.DomainPackage; import org.talend.dataquality.domain.impl.DomainPackageImpl; import org.talend.dataquality.domain.pattern.AttributeReference; import org.talend.dataquality.domain.pattern.ComponentReference; import org.talend.dataquality.domain.pattern.ExpressionType; import org.talend.dataquality.domain.pattern.Pattern; import org.talend.dataquality.domain.pattern.PatternComponent; import org.talend.dataquality.domain.pattern.PatternFactory; import org.talend.dataquality.domain.pattern.PatternPackage; import org.talend.dataquality.domain.pattern.RegularExpression; import org.talend.dataquality.domain.sql.SQLPackage; import org.talend.dataquality.domain.sql.impl.SQLPackageImpl; import org.talend.dataquality.expressions.ExpressionsPackage; import org.talend.dataquality.expressions.impl.ExpressionsPackageImpl; import org.talend.dataquality.indicators.IndicatorsPackage; import org.talend.dataquality.indicators.columnset.ColumnsetPackage; import org.talend.dataquality.indicators.columnset.impl.ColumnsetPackageImpl; import org.talend.dataquality.indicators.definition.DefinitionPackage; import org.talend.dataquality.indicators.definition.impl.DefinitionPackageImpl; import org.talend.dataquality.indicators.impl.IndicatorsPackageImpl; import org.talend.dataquality.indicators.schema.SchemaPackage; import org.talend.dataquality.indicators.schema.impl.SchemaPackageImpl; import org.talend.dataquality.indicators.sql.IndicatorSqlPackage; import org.talend.dataquality.indicators.sql.impl.IndicatorSqlPackageImpl; import org.talend.dataquality.properties.impl.PropertiesPackageImpl; import org.talend.dataquality.reports.ReportsPackage; import org.talend.dataquality.reports.impl.ReportsPackageImpl; import org.talend.dataquality.rules.RulesPackage; import org.talend.dataquality.rules.impl.RulesPackageImpl; import orgomg.cwm.objectmodel.core.CorePackage; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class PatternPackageImpl extends EPackageImpl implements PatternPackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass patternEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass patternComponentEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass regularExpressionEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass attributeReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass componentReferenceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EEnum expressionTypeEEnum = null; /** * Creates an instance of the model <b>Package</b>, registered with * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package * package URI value. * <p>Note: the correct way to create the package is via the static * factory method {@link #init init()}, which also performs * initialization of the package, or returns the registered package, * if one already exists. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see org.eclipse.emf.ecore.EPackage.Registry * @see org.talend.dataquality.domain.pattern.PatternPackage#eNS_URI * @see #init() * @generated */ private PatternPackageImpl() { super(eNS_URI, PatternFactory.eINSTANCE); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private static boolean isInited = false; /** * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. * * <p>This method is used to initialize {@link PatternPackage#eINSTANCE} when that field is accessed. * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #eNS_URI * @see #createPackageContents() * @see #initializePackageContents() * @generated */ public static PatternPackage init() { if (isInited) return (PatternPackage)EPackage.Registry.INSTANCE.getEPackage(PatternPackage.eNS_URI); // Obtain or create and register package PatternPackageImpl thePatternPackage = (PatternPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PatternPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PatternPackageImpl()); isInited = true; // Initialize simple dependencies PropertiesPackage.eINSTANCE.eClass(); // Obtain or create and register interdependencies AnalysisPackageImpl theAnalysisPackage = (AnalysisPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AnalysisPackage.eNS_URI) instanceof AnalysisPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AnalysisPackage.eNS_URI) : AnalysisPackage.eINSTANCE); CategoryPackageImpl theCategoryPackage = (CategoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CategoryPackage.eNS_URI) instanceof CategoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CategoryPackage.eNS_URI) : CategoryPackage.eINSTANCE); ReportsPackageImpl theReportsPackage = (ReportsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ReportsPackage.eNS_URI) instanceof ReportsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ReportsPackage.eNS_URI) : ReportsPackage.eINSTANCE); IndicatorsPackageImpl theIndicatorsPackage = (IndicatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(IndicatorsPackage.eNS_URI) instanceof IndicatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(IndicatorsPackage.eNS_URI) : IndicatorsPackage.eINSTANCE); SchemaPackageImpl theSchemaPackage = (SchemaPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SchemaPackage.eNS_URI) instanceof SchemaPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SchemaPackage.eNS_URI) : SchemaPackage.eINSTANCE); DefinitionPackageImpl theDefinitionPackage = (DefinitionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DefinitionPackage.eNS_URI) instanceof DefinitionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DefinitionPackage.eNS_URI) : DefinitionPackage.eINSTANCE); IndicatorSqlPackageImpl theIndicatorSqlPackage = (IndicatorSqlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(IndicatorSqlPackage.eNS_URI) instanceof IndicatorSqlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(IndicatorSqlPackage.eNS_URI) : IndicatorSqlPackage.eINSTANCE); ColumnsetPackageImpl theColumnsetPackage = (ColumnsetPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ColumnsetPackage.eNS_URI) instanceof ColumnsetPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ColumnsetPackage.eNS_URI) : ColumnsetPackage.eINSTANCE); ExpressionsPackageImpl theExpressionsPackage = (ExpressionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ExpressionsPackage.eNS_URI) instanceof ExpressionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ExpressionsPackage.eNS_URI) : ExpressionsPackage.eINSTANCE); DomainPackageImpl theDomainPackage = (DomainPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DomainPackage.eNS_URI) instanceof DomainPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DomainPackage.eNS_URI) : DomainPackage.eINSTANCE); SQLPackageImpl theSQLPackage = (SQLPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SQLPackage.eNS_URI) instanceof SQLPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SQLPackage.eNS_URI) : SQLPackage.eINSTANCE); RulesPackageImpl theRulesPackage = (RulesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RulesPackage.eNS_URI) instanceof RulesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RulesPackage.eNS_URI) : RulesPackage.eINSTANCE); PropertiesPackageImpl thePropertiesPackage_1 = (PropertiesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(org.talend.dataquality.properties.PropertiesPackage.eNS_URI) instanceof PropertiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(org.talend.dataquality.properties.PropertiesPackage.eNS_URI) : org.talend.dataquality.properties.PropertiesPackage.eINSTANCE); // Create package meta-data objects thePatternPackage.createPackageContents(); theAnalysisPackage.createPackageContents(); theCategoryPackage.createPackageContents(); theReportsPackage.createPackageContents(); theIndicatorsPackage.createPackageContents(); theSchemaPackage.createPackageContents(); theDefinitionPackage.createPackageContents(); theIndicatorSqlPackage.createPackageContents(); theColumnsetPackage.createPackageContents(); theExpressionsPackage.createPackageContents(); theDomainPackage.createPackageContents(); theSQLPackage.createPackageContents(); theRulesPackage.createPackageContents(); thePropertiesPackage_1.createPackageContents(); // Initialize created meta-data thePatternPackage.initializePackageContents(); theAnalysisPackage.initializePackageContents(); theCategoryPackage.initializePackageContents(); theReportsPackage.initializePackageContents(); theIndicatorsPackage.initializePackageContents(); theSchemaPackage.initializePackageContents(); theDefinitionPackage.initializePackageContents(); theIndicatorSqlPackage.initializePackageContents(); theColumnsetPackage.initializePackageContents(); theExpressionsPackage.initializePackageContents(); theDomainPackage.initializePackageContents(); theSQLPackage.initializePackageContents(); theRulesPackage.initializePackageContents(); thePropertiesPackage_1.initializePackageContents(); // Mark meta-data to indicate it can't be changed thePatternPackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(PatternPackage.eNS_URI, thePatternPackage); return thePatternPackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getPattern() { return patternEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getPattern_Components() { return (EReference)patternEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getPatternComponent() { return patternComponentEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getRegularExpression() { return regularExpressionEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getRegularExpression_Expression() { return (EReference)regularExpressionEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getRegularExpression_ExpressionType() { return (EAttribute)regularExpressionEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getAttributeReference() { return attributeReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getAttributeReference_ReferencedAttribute() { return (EReference)attributeReferenceEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getComponentReference() { return componentReferenceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getComponentReference_ReferencedComponent() { return (EReference)componentReferenceEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EEnum getExpressionType() { return expressionTypeEEnum; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PatternFactory getPatternFactory() { return (PatternFactory)getEFactoryInstance(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private boolean isCreated = false; /** * Creates the meta-model objects for the package. This method is * guarded to have no affect on any invocation but its first. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void createPackageContents() { if (isCreated) return; isCreated = true; // Create classes and their features patternEClass = createEClass(PATTERN); createEReference(patternEClass, PATTERN__COMPONENTS); patternComponentEClass = createEClass(PATTERN_COMPONENT); regularExpressionEClass = createEClass(REGULAR_EXPRESSION); createEReference(regularExpressionEClass, REGULAR_EXPRESSION__EXPRESSION); createEAttribute(regularExpressionEClass, REGULAR_EXPRESSION__EXPRESSION_TYPE); attributeReferenceEClass = createEClass(ATTRIBUTE_REFERENCE); createEReference(attributeReferenceEClass, ATTRIBUTE_REFERENCE__REFERENCED_ATTRIBUTE); componentReferenceEClass = createEClass(COMPONENT_REFERENCE); createEReference(componentReferenceEClass, COMPONENT_REFERENCE__REFERENCED_COMPONENT); // Create enums expressionTypeEEnum = createEEnum(EXPRESSION_TYPE); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private boolean isInitialized = false; /** * Complete the initialization of the package and its meta-model. This * method is guarded to have no affect on any invocation but its first. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void initializePackageContents() { if (isInitialized) return; isInitialized = true; // Initialize package setName(eNAME); setNsPrefix(eNS_PREFIX); setNsURI(eNS_URI); // Obtain other dependent packages CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI); RelationalPackage theRelationalPackage = (RelationalPackage)EPackage.Registry.INSTANCE.getEPackage(RelationalPackage.eNS_URI); // Create type parameters // Set bounds for type parameters // Add supertypes to classes patternEClass.getESuperTypes().add(theCorePackage.getModelElement()); regularExpressionEClass.getESuperTypes().add(this.getPatternComponent()); attributeReferenceEClass.getESuperTypes().add(this.getPatternComponent()); componentReferenceEClass.getESuperTypes().add(this.getPatternComponent()); // Initialize classes and features; add operations and parameters initEClass(patternEClass, Pattern.class, "Pattern", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getPattern_Components(), this.getPatternComponent(), null, "components", null, 0, -1, Pattern.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(patternComponentEClass, PatternComponent.class, "PatternComponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEClass(regularExpressionEClass, RegularExpression.class, "RegularExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getRegularExpression_Expression(), theRelationalPackage.getTdExpression(), null, "expression", null, 0, 1, RegularExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getRegularExpression_ExpressionType(), ecorePackage.getEString(), "expressionType", null, 0, 1, RegularExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(attributeReferenceEClass, AttributeReference.class, "AttributeReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getAttributeReference_ReferencedAttribute(), theCorePackage.getAttribute(), null, "referencedAttribute", null, 0, 1, AttributeReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(componentReferenceEClass, ComponentReference.class, "ComponentReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getComponentReference_ReferencedComponent(), this.getPatternComponent(), null, "referencedComponent", null, 0, 1, ComponentReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); // Initialize enums and add enum literals initEEnum(expressionTypeEEnum, ExpressionType.class, "ExpressionType"); addEEnumLiteral(expressionTypeEEnum, ExpressionType.REGEXP); addEEnumLiteral(expressionTypeEEnum, ExpressionType.SQL_LIKE); } } //PatternPackageImpl