| /** |
| * <copyright> |
| * </copyright> |
| * |
| * $Id: TreePackageImpl.java,v 1.1 2007/07/09 12:55:19 mtaal Exp $ |
| */ |
| package tc.tree.impl; |
| |
| import org.eclipse.emf.ecore.EAttribute; |
| import org.eclipse.emf.ecore.EClass; |
| import org.eclipse.emf.ecore.EPackage; |
| |
| import org.eclipse.emf.ecore.impl.EPackageImpl; |
| |
| import org.eclipse.emf.ecore.xml.type.XMLTypePackage; |
| |
| import tc.apple.ApplePackage; |
| |
| import tc.apple.impl.ApplePackageImpl; |
| |
| import tc.tree.BigTree; |
| import tc.tree.TreeFactory; |
| import tc.tree.TreePackage; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * An implementation of the model <b>Package</b>. |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public class TreePackageImpl extends EPackageImpl implements TreePackage { |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| private EClass bigTreeEClass = 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 tc.tree.TreePackage#eNS_URI |
| * @see #init() |
| * @generated |
| */ |
| private TreePackageImpl() { |
| super(eNS_URI, TreeFactory.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. Simple |
| * dependencies are satisfied by calling this method on all |
| * dependent packages before doing anything else. This method drives |
| * initialization for interdependent packages directly, in parallel |
| * with this package, itself. |
| * <p>Of this package and its interdependencies, all packages which |
| * have not yet been registered by their URI values are first created |
| * and registered. The packages are then initialized in two steps: |
| * meta-model objects for all of the packages are created before any |
| * are initialized, since one package's meta-model objects may refer to |
| * those of another. |
| * <p>Invocation of this method will not affect any packages that have |
| * already been initialized. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @see #eNS_URI |
| * @see #createPackageContents() |
| * @see #initializePackageContents() |
| * @generated |
| */ |
| public static TreePackage init() { |
| if (isInited) return (TreePackage)EPackage.Registry.INSTANCE.getEPackage(TreePackage.eNS_URI); |
| |
| // Obtain or create and register package |
| TreePackageImpl theTreePackage = (TreePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof TreePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new TreePackageImpl()); |
| |
| isInited = true; |
| |
| // Initialize simple dependencies |
| XMLTypePackage.eINSTANCE.eClass(); |
| |
| // Obtain or create and register interdependencies |
| ApplePackageImpl theApplePackage = (ApplePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(ApplePackage.eNS_URI) instanceof ApplePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ApplePackage.eNS_URI) : ApplePackage.eINSTANCE); |
| |
| // Create package meta-data objects |
| theTreePackage.createPackageContents(); |
| theApplePackage.createPackageContents(); |
| |
| // Initialize created meta-data |
| theTreePackage.initializePackageContents(); |
| theApplePackage.initializePackageContents(); |
| |
| // Mark meta-data to indicate it can't be changed |
| theTreePackage.freeze(); |
| |
| return theTreePackage; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EClass getBigTree() { |
| return bigTreeEClass; |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public EAttribute getBigTree_Name() { |
| return (EAttribute)bigTreeEClass.getEStructuralFeatures().get(0); |
| } |
| |
| /** |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| public TreeFactory getTreeFactory() { |
| return (TreeFactory)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 |
| bigTreeEClass = createEClass(BIG_TREE); |
| createEAttribute(bigTreeEClass, BIG_TREE__NAME); |
| } |
| |
| /** |
| * <!-- 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 |
| XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); |
| |
| // Create type parameters |
| |
| // Set bounds for type parameters |
| |
| // Add supertypes to classes |
| |
| // Initialize classes and features; add operations and parameters |
| initEClass(bigTreeEClass, BigTree.class, "BigTree", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
| initEAttribute(getBigTree_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, BigTree.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
| |
| // Create resource |
| createResource(eNS_URI); |
| |
| // Create annotations |
| // http://www.w3.org/XML/1998/namespace |
| createNamespaceAnnotations(); |
| // http:///org/eclipse/emf/ecore/util/ExtendedMetaData |
| createExtendedMetaDataAnnotations(); |
| } |
| |
| /** |
| * Initializes the annotations for <b>http://www.w3.org/XML/1998/namespace</b>. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected void createNamespaceAnnotations() { |
| String source = "http://www.w3.org/XML/1998/namespace"; |
| addAnnotation |
| (this, |
| source, |
| new String[] { |
| "lang", "en" |
| }); |
| } |
| |
| /** |
| * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @generated |
| */ |
| protected void createExtendedMetaDataAnnotations() { |
| String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; |
| addAnnotation |
| (bigTreeEClass, |
| source, |
| new String[] { |
| "name", "BigTree", |
| "kind", "empty" |
| }); |
| addAnnotation |
| (getBigTree_Name(), |
| source, |
| new String[] { |
| "kind", "attribute", |
| "name", "name" |
| }); |
| } |
| |
| } //TreePackageImpl |