/**
* <copyright>
* </copyright>
*
* $Id$
*/
package com.hundsun.ares.studio.biz.impl;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EGenericType;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EValidator;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import com.hundsun.ares.studio.biz.ARESObject;
import com.hundsun.ares.studio.biz.BizFactory;
import com.hundsun.ares.studio.biz.BizInterface;
import com.hundsun.ares.studio.biz.BizPackage;
import com.hundsun.ares.studio.biz.ErrorInfo;
import com.hundsun.ares.studio.biz.Multiplicity;
import com.hundsun.ares.studio.biz.ParamType;
import com.hundsun.ares.studio.biz.Parameter;
import com.hundsun.ares.studio.biz.StandardObjField;
import com.hundsun.ares.studio.biz.StandardObjFieldList;
import com.hundsun.ares.studio.biz.util.BizValidator;
import com.hundsun.ares.studio.core.model.CorePackage;
import com.hundsun.ares.studio.jres.model.metadata.MetadataPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class BizPackageImpl extends EPackageImpl implements BizPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass parameterEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass bizInterfaceEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass aresObjectEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass standardObjFieldListEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass standardObjFieldEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass errorInfoEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum paramTypeEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum multiplicityEEnum = 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 com.hundsun.ares.studio.biz.BizPackage#eNS_URI
* @see #init()
* @generated
*/
private BizPackageImpl() {
super(eNS_URI, BizFactory.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 BizPackage#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 BizPackage init() {
if (isInited) return (BizPackage)EPackage.Registry.INSTANCE.getEPackage(BizPackage.eNS_URI);
// Obtain or create and register package
BizPackageImpl theBizPackage = (BizPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof BizPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new BizPackageImpl());
isInited = true;
// Initialize simple dependencies
MetadataPackage.eINSTANCE.eClass();
// Create package meta-data objects
theBizPackage.createPackageContents();
// Initialize created meta-data
theBizPackage.initializePackageContents();
// Register package validator
EValidator.Registry.INSTANCE.put
(theBizPackage,
new EValidator.Descriptor() {
public EValidator getEValidator() {
return BizValidator.INSTANCE;
}
});
// Mark meta-data to indicate it can't be changed
theBizPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(BizPackage.eNS_URI, theBizPackage);
return theBizPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getParameter() {
return parameterEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_Id() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_Name() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_ParamType() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_Type() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_RealType() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_Description() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_Multiplicity() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_DefaultValue() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_Flags() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getParameter_Comments() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getBizInterface() {
return bizInterfaceEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBizInterface_InputCollection() {
return (EAttribute)bizInterfaceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBizInterface_OutputCollection() {
return (EAttribute)bizInterfaceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBizInterface_InputParameters() {
return (EReference)bizInterfaceEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBizInterface_OutputParameters() {
return (EReference)bizInterfaceEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getBizInterface_InterfaceFlag() {
return (EAttribute)bizInterfaceEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getBizInterface_ErrorInfos() {
return (EReference)bizInterfaceEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getARESObject() {
return aresObjectEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getARESObject_Properties() {
return (EReference)aresObjectEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getStandardObjFieldList() {
return standardObjFieldListEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getStandardObjField() {
return standardObjFieldEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getStandardObjField_Type() {
return (EAttribute)standardObjFieldEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getErrorInfo() {
return errorInfoEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getParamType() {
return paramTypeEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getMultiplicity() {
return multiplicityEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public BizFactory getBizFactory() {
return (BizFactory)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
parameterEClass = createEClass(PARAMETER);
createEAttribute(parameterEClass, PARAMETER__ID);
createEAttribute(parameterEClass, PARAMETER__NAME);
createEAttribute(parameterEClass, PARAMETER__PARAM_TYPE);
createEAttribute(parameterEClass, PARAMETER__TYPE);
createEAttribute(parameterEClass, PARAMETER__REAL_TYPE);
createEAttribute(parameterEClass, PARAMETER__DESCRIPTION);
createEAttribute(parameterEClass, PARAMETER__MULTIPLICITY);
createEAttribute(parameterEClass, PARAMETER__DEFAULT_VALUE);
createEAttribute(parameterEClass, PARAMETER__FLAGS);
createEAttribute(parameterEClass, PARAMETER__COMMENTS);
bizInterfaceEClass = createEClass(BIZ_INTERFACE);
createEAttribute(bizInterfaceEClass, BIZ_INTERFACE__INPUT_COLLECTION);
createEAttribute(bizInterfaceEClass, BIZ_INTERFACE__OUTPUT_COLLECTION);
createEReference(bizInterfaceEClass, BIZ_INTERFACE__INPUT_PARAMETERS);
createEReference(bizInterfaceEClass, BIZ_INTERFACE__OUTPUT_PARAMETERS);
createEAttribute(bizInterfaceEClass, BIZ_INTERFACE__INTERFACE_FLAG);
createEReference(bizInterfaceEClass, BIZ_INTERFACE__ERROR_INFOS);
aresObjectEClass = createEClass(ARES_OBJECT);
createEReference(aresObjectEClass, ARES_OBJECT__PROPERTIES);
standardObjFieldListEClass = createEClass(STANDARD_OBJ_FIELD_LIST);
standardObjFieldEClass = createEClass(STANDARD_OBJ_FIELD);
createEAttribute(standardObjFieldEClass, STANDARD_OBJ_FIELD__TYPE);
errorInfoEClass = createEClass(ERROR_INFO);
// Create enums
paramTypeEEnum = createEEnum(PARAM_TYPE);
multiplicityEEnum = createEEnum(MULTIPLICITY);
}
/**
* <!-- 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);
MetadataPackage theMetadataPackage = (MetadataPackage)EPackage.Registry.INSTANCE.getEPackage(MetadataPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
parameterEClass.getESuperTypes().add(theCorePackage.getExtensibleModel());
aresObjectEClass.getESuperTypes().add(theCorePackage.getJRESResourceInfo());
EGenericType g1 = createEGenericType(theMetadataPackage.getMetadataResourceData());
EGenericType g2 = createEGenericType(this.getStandardObjField());
g1.getETypeArguments().add(g2);
standardObjFieldListEClass.getEGenericSuperTypes().add(g1);
standardObjFieldEClass.getESuperTypes().add(theMetadataPackage.getMetadataItem());
errorInfoEClass.getESuperTypes().add(theMetadataPackage.getErrorNoItem());
// Initialize classes and features; add operations and parameters
initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getParameter_Id(), ecorePackage.getEString(), "id", "", 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getParameter_Name(), ecorePackage.getEString(), "name", "", 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getParameter_ParamType(), this.getParamType(), "paramType", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getParameter_Type(), ecorePackage.getEString(), "type", "", 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getParameter_RealType(), ecorePackage.getEString(), "realType", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getParameter_Description(), ecorePackage.getEString(), "description", "", 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getParameter_Multiplicity(), this.getMultiplicity(), "multiplicity", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getParameter_DefaultValue(), ecorePackage.getEString(), "defaultValue", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getParameter_Flags(), ecorePackage.getEString(), "flags", "", 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getParameter_Comments(), ecorePackage.getEString(), "comments", "", 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(bizInterfaceEClass, BizInterface.class, "BizInterface", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getBizInterface_InputCollection(), ecorePackage.getEBoolean(), "inputCollection", null, 0, 1, BizInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getBizInterface_OutputCollection(), ecorePackage.getEBoolean(), "outputCollection", null, 0, 1, BizInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBizInterface_InputParameters(), this.getParameter(), null, "inputParameters", null, 0, -1, BizInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBizInterface_OutputParameters(), this.getParameter(), null, "outputParameters", null, 0, -1, BizInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getBizInterface_InterfaceFlag(), ecorePackage.getEString(), "interfaceFlag", null, 0, 1, BizInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBizInterface_ErrorInfos(), this.getErrorInfo(), null, "errorInfos", null, 0, -1, BizInterface.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(aresObjectEClass, ARESObject.class, "ARESObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getARESObject_Properties(), this.getParameter(), null, "properties", null, 0, -1, ARESObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(standardObjFieldListEClass, StandardObjFieldList.class, "StandardObjFieldList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(standardObjFieldEClass, StandardObjField.class, "StandardObjField", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getStandardObjField_Type(), ecorePackage.getEString(), "type", null, 0, 1, StandardObjField.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(errorInfoEClass, ErrorInfo.class, "ErrorInfo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
// Initialize enums and add enum literals
initEEnum(paramTypeEEnum, ParamType.class, "ParamType");
addEEnumLiteral(paramTypeEEnum, ParamType.STD_FIELD);
addEEnumLiteral(paramTypeEEnum, ParamType.NON_STD_FIELD);
addEEnumLiteral(paramTypeEEnum, ParamType.PARAM_GROUP);
addEEnumLiteral(paramTypeEEnum, ParamType.OBJECT);
addEEnumLiteral(paramTypeEEnum, ParamType.COMPONENT);
initEEnum(multiplicityEEnum, Multiplicity.class, "Multiplicity");
addEEnumLiteral(multiplicityEEnum, Multiplicity.ONE_ONE);
addEEnumLiteral(multiplicityEEnum, Multiplicity.ZERO_ONE);
addEEnumLiteral(multiplicityEEnum, Multiplicity.ZERO_MORE);
addEEnumLiteral(multiplicityEEnum, Multiplicity.ONE_MORE);
// Create resource
createResource(eNS_URI);
// Create annotations
// http://www.eclipse.org/emf/2002/Ecore
createEcoreAnnotations();
}
/**
* Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void createEcoreAnnotations() {
String source = "http://www.eclipse.org/emf/2002/Ecore";
addAnnotation
(parameterEClass,
source,
new String[] {
"constraints", "id type"
});
addAnnotation
(aresObjectEClass,
source,
new String[] {
"constraints", "objectId"
});
}
} //BizPackageImpl