/** * <copyright> * </copyright> * * $Id$ */ package orgomg.cwm.objectmodel.instance.impl; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; import orgomg.cwm.analysis.businessnomenclature.BusinessnomenclaturePackage; import orgomg.cwm.analysis.businessnomenclature.impl.BusinessnomenclaturePackageImpl; import orgomg.cwm.analysis.informationvisualization.InformationvisualizationPackage; import orgomg.cwm.analysis.informationvisualization.impl.InformationvisualizationPackageImpl; import orgomg.cwm.analysis.olap.OlapPackage; import orgomg.cwm.analysis.olap.impl.OlapPackageImpl; import orgomg.cwm.analysis.transformation.TransformationPackage; import orgomg.cwm.analysis.transformation.impl.TransformationPackageImpl; import orgomg.cwm.foundation.businessinformation.BusinessinformationPackage; import orgomg.cwm.foundation.businessinformation.impl.BusinessinformationPackageImpl; import orgomg.cwm.foundation.datatypes.DatatypesPackage; import orgomg.cwm.foundation.datatypes.impl.DatatypesPackageImpl; import orgomg.cwm.foundation.expressions.ExpressionsPackage; import orgomg.cwm.foundation.expressions.impl.ExpressionsPackageImpl; import orgomg.cwm.foundation.keysindexes.KeysindexesPackage; import orgomg.cwm.foundation.keysindexes.impl.KeysindexesPackageImpl; import orgomg.cwm.foundation.softwaredeployment.SoftwaredeploymentPackage; import orgomg.cwm.foundation.softwaredeployment.impl.SoftwaredeploymentPackageImpl; import orgomg.cwm.foundation.typemapping.TypemappingPackage; import orgomg.cwm.foundation.typemapping.impl.TypemappingPackageImpl; import orgomg.cwm.management.warehouseoperation.WarehouseoperationPackage; import orgomg.cwm.management.warehouseoperation.impl.WarehouseoperationPackageImpl; import orgomg.cwm.management.warehouseprocess.WarehouseprocessPackage; import orgomg.cwm.management.warehouseprocess.datatype.DatatypePackage; import orgomg.cwm.management.warehouseprocess.datatype.impl.DatatypePackageImpl; import orgomg.cwm.management.warehouseprocess.events.EventsPackage; import orgomg.cwm.management.warehouseprocess.events.impl.EventsPackageImpl; import orgomg.cwm.management.warehouseprocess.impl.WarehouseprocessPackageImpl; import orgomg.cwm.objectmodel.behavioral.BehavioralPackage; import orgomg.cwm.objectmodel.behavioral.impl.BehavioralPackageImpl; import orgomg.cwm.objectmodel.core.CorePackage; import orgomg.cwm.objectmodel.core.impl.CorePackageImpl; import orgomg.cwm.objectmodel.instance.DataValue; import orgomg.cwm.objectmodel.instance.Extent; import orgomg.cwm.objectmodel.instance.Instance; import orgomg.cwm.objectmodel.instance.InstanceFactory; import orgomg.cwm.objectmodel.instance.InstancePackage; import orgomg.cwm.objectmodel.instance.Slot; import orgomg.cwm.objectmodel.relationships.RelationshipsPackage; import orgomg.cwm.objectmodel.relationships.impl.RelationshipsPackageImpl; import orgomg.cwm.resource.multidimensional.MultidimensionalPackage; import orgomg.cwm.resource.multidimensional.impl.MultidimensionalPackageImpl; import orgomg.cwm.resource.record.RecordPackage; import orgomg.cwm.resource.record.impl.RecordPackageImpl; import orgomg.cwm.resource.relational.RelationalPackage; import orgomg.cwm.resource.relational.enumerations.EnumerationsPackage; import orgomg.cwm.resource.relational.enumerations.impl.EnumerationsPackageImpl; import orgomg.cwm.resource.relational.impl.RelationalPackageImpl; import orgomg.cwm.resource.xml.XmlPackage; import orgomg.cwm.resource.xml.impl.XmlPackageImpl; /** * <!-- begin-user-doc --> * An implementation of the model <b>Package</b>. * <!-- end-user-doc --> * @generated */ public class InstancePackageImpl extends EPackageImpl implements InstancePackage { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass instanceEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass slotEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass dataValueEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass objectEClass = null; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ private EClass extentEClass = 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 orgomg.cwm.objectmodel.instance.InstancePackage#eNS_URI * @see #init() * @generated */ private InstancePackageImpl() { super(eNS_URI, InstanceFactory.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 InstancePackage#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 InstancePackage init() { if (isInited) return (InstancePackage)EPackage.Registry.INSTANCE.getEPackage(InstancePackage.eNS_URI); // Obtain or create and register package InstancePackageImpl theInstancePackage = (InstancePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof InstancePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new InstancePackageImpl()); isInited = true; // Obtain or create and register interdependencies CorePackageImpl theCorePackage = (CorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) instanceof CorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI) : CorePackage.eINSTANCE); BehavioralPackageImpl theBehavioralPackage = (BehavioralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BehavioralPackage.eNS_URI) instanceof BehavioralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BehavioralPackage.eNS_URI) : BehavioralPackage.eINSTANCE); RelationshipsPackageImpl theRelationshipsPackage = (RelationshipsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RelationshipsPackage.eNS_URI) instanceof RelationshipsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RelationshipsPackage.eNS_URI) : RelationshipsPackage.eINSTANCE); BusinessinformationPackageImpl theBusinessinformationPackage = (BusinessinformationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BusinessinformationPackage.eNS_URI) instanceof BusinessinformationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BusinessinformationPackage.eNS_URI) : BusinessinformationPackage.eINSTANCE); DatatypesPackageImpl theDatatypesPackage = (DatatypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) instanceof DatatypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI) : DatatypesPackage.eINSTANCE); ExpressionsPackageImpl theExpressionsPackage = (ExpressionsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ExpressionsPackage.eNS_URI) instanceof ExpressionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ExpressionsPackage.eNS_URI) : ExpressionsPackage.eINSTANCE); KeysindexesPackageImpl theKeysindexesPackage = (KeysindexesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(KeysindexesPackage.eNS_URI) instanceof KeysindexesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(KeysindexesPackage.eNS_URI) : KeysindexesPackage.eINSTANCE); SoftwaredeploymentPackageImpl theSoftwaredeploymentPackage = (SoftwaredeploymentPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SoftwaredeploymentPackage.eNS_URI) instanceof SoftwaredeploymentPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SoftwaredeploymentPackage.eNS_URI) : SoftwaredeploymentPackage.eINSTANCE); TypemappingPackageImpl theTypemappingPackage = (TypemappingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TypemappingPackage.eNS_URI) instanceof TypemappingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TypemappingPackage.eNS_URI) : TypemappingPackage.eINSTANCE); RelationalPackageImpl theRelationalPackage = (RelationalPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RelationalPackage.eNS_URI) instanceof RelationalPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RelationalPackage.eNS_URI) : RelationalPackage.eINSTANCE); EnumerationsPackageImpl theEnumerationsPackage = (EnumerationsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EnumerationsPackage.eNS_URI) instanceof EnumerationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EnumerationsPackage.eNS_URI) : EnumerationsPackage.eINSTANCE); RecordPackageImpl theRecordPackage = (RecordPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RecordPackage.eNS_URI) instanceof RecordPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RecordPackage.eNS_URI) : RecordPackage.eINSTANCE); MultidimensionalPackageImpl theMultidimensionalPackage = (MultidimensionalPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MultidimensionalPackage.eNS_URI) instanceof MultidimensionalPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MultidimensionalPackage.eNS_URI) : MultidimensionalPackage.eINSTANCE); XmlPackageImpl theXmlPackage = (XmlPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(XmlPackage.eNS_URI) instanceof XmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(XmlPackage.eNS_URI) : XmlPackage.eINSTANCE); TransformationPackageImpl theTransformationPackage = (TransformationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TransformationPackage.eNS_URI) instanceof TransformationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TransformationPackage.eNS_URI) : TransformationPackage.eINSTANCE); OlapPackageImpl theOlapPackage = (OlapPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OlapPackage.eNS_URI) instanceof OlapPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OlapPackage.eNS_URI) : OlapPackage.eINSTANCE); InformationvisualizationPackageImpl theInformationvisualizationPackage = (InformationvisualizationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(InformationvisualizationPackage.eNS_URI) instanceof InformationvisualizationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InformationvisualizationPackage.eNS_URI) : InformationvisualizationPackage.eINSTANCE); BusinessnomenclaturePackageImpl theBusinessnomenclaturePackage = (BusinessnomenclaturePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BusinessnomenclaturePackage.eNS_URI) instanceof BusinessnomenclaturePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BusinessnomenclaturePackage.eNS_URI) : BusinessnomenclaturePackage.eINSTANCE); WarehouseprocessPackageImpl theWarehouseprocessPackage = (WarehouseprocessPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WarehouseprocessPackage.eNS_URI) instanceof WarehouseprocessPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WarehouseprocessPackage.eNS_URI) : WarehouseprocessPackage.eINSTANCE); DatatypePackageImpl theDatatypePackage = (DatatypePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DatatypePackage.eNS_URI) instanceof DatatypePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DatatypePackage.eNS_URI) : DatatypePackage.eINSTANCE); EventsPackageImpl theEventsPackage = (EventsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) instanceof EventsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EventsPackage.eNS_URI) : EventsPackage.eINSTANCE); WarehouseoperationPackageImpl theWarehouseoperationPackage = (WarehouseoperationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(WarehouseoperationPackage.eNS_URI) instanceof WarehouseoperationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(WarehouseoperationPackage.eNS_URI) : WarehouseoperationPackage.eINSTANCE); // Create package meta-data objects theInstancePackage.createPackageContents(); theCorePackage.createPackageContents(); theBehavioralPackage.createPackageContents(); theRelationshipsPackage.createPackageContents(); theBusinessinformationPackage.createPackageContents(); theDatatypesPackage.createPackageContents(); theExpressionsPackage.createPackageContents(); theKeysindexesPackage.createPackageContents(); theSoftwaredeploymentPackage.createPackageContents(); theTypemappingPackage.createPackageContents(); theRelationalPackage.createPackageContents(); theEnumerationsPackage.createPackageContents(); theRecordPackage.createPackageContents(); theMultidimensionalPackage.createPackageContents(); theXmlPackage.createPackageContents(); theTransformationPackage.createPackageContents(); theOlapPackage.createPackageContents(); theInformationvisualizationPackage.createPackageContents(); theBusinessnomenclaturePackage.createPackageContents(); theWarehouseprocessPackage.createPackageContents(); theDatatypePackage.createPackageContents(); theEventsPackage.createPackageContents(); theWarehouseoperationPackage.createPackageContents(); // Initialize created meta-data theInstancePackage.initializePackageContents(); theCorePackage.initializePackageContents(); theBehavioralPackage.initializePackageContents(); theRelationshipsPackage.initializePackageContents(); theBusinessinformationPackage.initializePackageContents(); theDatatypesPackage.initializePackageContents(); theExpressionsPackage.initializePackageContents(); theKeysindexesPackage.initializePackageContents(); theSoftwaredeploymentPackage.initializePackageContents(); theTypemappingPackage.initializePackageContents(); theRelationalPackage.initializePackageContents(); theEnumerationsPackage.initializePackageContents(); theRecordPackage.initializePackageContents(); theMultidimensionalPackage.initializePackageContents(); theXmlPackage.initializePackageContents(); theTransformationPackage.initializePackageContents(); theOlapPackage.initializePackageContents(); theInformationvisualizationPackage.initializePackageContents(); theBusinessnomenclaturePackage.initializePackageContents(); theWarehouseprocessPackage.initializePackageContents(); theDatatypePackage.initializePackageContents(); theEventsPackage.initializePackageContents(); theWarehouseoperationPackage.initializePackageContents(); // Mark meta-data to indicate it can't be changed theInstancePackage.freeze(); // Update the registry and return the package EPackage.Registry.INSTANCE.put(InstancePackage.eNS_URI, theInstancePackage); return theInstancePackage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getInstance() { return instanceEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getInstance_ValueSlot() { return (EReference)instanceEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getInstance_Classifier() { return (EReference)instanceEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getSlot() { return slotEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSlot_Value() { return (EReference)slotEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSlot_Object() { return (EReference)slotEClass.getEStructuralFeatures().get(1); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getSlot_Feature() { return (EReference)slotEClass.getEStructuralFeatures().get(2); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getDataValue() { return dataValueEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EAttribute getDataValue_Value() { return (EAttribute)dataValueEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getObject() { return objectEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EReference getObject_Slot() { return (EReference)objectEClass.getEStructuralFeatures().get(0); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EClass getExtent() { return extentEClass; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public InstanceFactory getInstanceFactory() { return (InstanceFactory)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 instanceEClass = createEClass(INSTANCE); createEReference(instanceEClass, INSTANCE__VALUE_SLOT); createEReference(instanceEClass, INSTANCE__CLASSIFIER); slotEClass = createEClass(SLOT); createEReference(slotEClass, SLOT__VALUE); createEReference(slotEClass, SLOT__OBJECT); createEReference(slotEClass, SLOT__FEATURE); dataValueEClass = createEClass(DATA_VALUE); createEAttribute(dataValueEClass, DATA_VALUE__VALUE); objectEClass = createEClass(OBJECT); createEReference(objectEClass, OBJECT__SLOT); extentEClass = createEClass(EXTENT); } /** * <!-- 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); // Create type parameters // Set bounds for type parameters // Add supertypes to classes instanceEClass.getESuperTypes().add(theCorePackage.getModelElement()); slotEClass.getESuperTypes().add(theCorePackage.getModelElement()); dataValueEClass.getESuperTypes().add(this.getInstance()); objectEClass.getESuperTypes().add(this.getInstance()); extentEClass.getESuperTypes().add(theCorePackage.getPackage()); // Initialize classes and features; add operations and parameters initEClass(instanceEClass, Instance.class, "Instance", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getInstance_ValueSlot(), this.getSlot(), this.getSlot_Value(), "valueSlot", null, 0, -1, Instance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getInstance_Classifier(), theCorePackage.getClassifier(), theCorePackage.getClassifier_Instance(), "classifier", null, 1, 1, Instance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(slotEClass, Slot.class, "Slot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getSlot_Value(), this.getInstance(), this.getInstance_ValueSlot(), "value", null, 1, 1, Slot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSlot_Object(), this.getObject(), this.getObject_Slot(), "object", null, 0, 1, Slot.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getSlot_Feature(), theCorePackage.getStructuralFeature(), theCorePackage.getStructuralFeature_Slot(), "feature", null, 1, 1, Slot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(dataValueEClass, DataValue.class, "DataValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEAttribute(getDataValue_Value(), theCorePackage.getString(), "value", null, 0, 1, DataValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(objectEClass, orgomg.cwm.objectmodel.instance.Object.class, "Object", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); initEReference(getObject_Slot(), this.getSlot(), this.getSlot_Object(), "slot", null, 0, -1, orgomg.cwm.objectmodel.instance.Object.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(extentEClass, Extent.class, "Extent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); // Create resource createResource(eNS_URI); } } //InstancePackageImpl