blob: f413397607b19e57e5981015913281595f975f15 [file] [log] [blame]
/**
* <copyright>
* Copyright (c) 2009 SAP AG.
* 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:
* Eduard Bartsch (SAP AG) - initial API and implementation
* Mathias Kinzler (SAP AG) - initial API and implementation
* </copyright>
*
*/
package org.eclipse.core.internal.resources.semantic.model.SemanticResourceDB.impl;
import java.util.HashMap;
import org.eclipse.core.internal.resources.semantic.model.SemanticResourceDB.ResourceTreeNode;
import org.eclipse.core.internal.resources.semantic.model.SemanticResourceDB.SemanticDB;
import org.eclipse.core.internal.resources.semantic.model.SemanticResourceDB.SemanticResourceDBFactory;
import org.eclipse.core.internal.resources.semantic.model.SemanticResourceDB.SemanticResourceDBPackage;
import org.eclipse.core.internal.resources.semantic.model.SemanticResourceDB.TreeNodeType;
import org.eclipse.core.internal.resources.semantic.model.SemanticResourceDB.TreeRoot;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
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;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
* end-user-doc -->
*
* @generated
*/
@SuppressWarnings("unqualified-field-access")
public class SemanticResourceDBPackageImpl extends EPackageImpl implements SemanticResourceDBPackage {
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private EClass resourceTreeNodeEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private EClass semanticDBEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private EClass treeRootEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private EEnum treeNodeTypeEEnum = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private EDataType persistentPropertiesEDataType = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
private EDataType sessionPropertiesEDataType = 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.eclipse.core.internal.resources.semantic.model.SemanticResourceDB.SemanticResourceDBPackage#eNS_URI
* @see #init()
* @generated
*/
private SemanticResourceDBPackageImpl() {
super(eNS_URI, SemanticResourceDBFactory.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 SemanticResourceDBPackage#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 SemanticResourceDBPackage init() {
if (isInited)
return (SemanticResourceDBPackage) EPackage.Registry.INSTANCE.getEPackage(SemanticResourceDBPackage.eNS_URI);
// Obtain or create and register package
SemanticResourceDBPackageImpl theSemanticResourceDBPackage = (SemanticResourceDBPackageImpl) (EPackage.Registry.INSTANCE
.get(eNS_URI) instanceof SemanticResourceDBPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
: new SemanticResourceDBPackageImpl());
isInited = true;
// Create package meta-data objects
theSemanticResourceDBPackage.createPackageContents();
// Initialize created meta-data
theSemanticResourceDBPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theSemanticResourceDBPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(SemanticResourceDBPackage.eNS_URI, theSemanticResourceDBPackage);
return theSemanticResourceDBPackage;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EClass getResourceTreeNode() {
return resourceTreeNodeEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_Name() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EReference getResourceTreeNode_Children() {
return (EReference) resourceTreeNodeEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EReference getResourceTreeNode_Parent() {
return (EReference) resourceTreeNodeEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_Exists() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_TemplateID() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_PersistentProperties() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_LocalOnly() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_Type() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_SessionProperties() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_Path() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_QueryPart() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(10);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_RemoteURI() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(11);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getResourceTreeNode_DynamicContentProviderID() {
return (EAttribute) resourceTreeNodeEClass.getEStructuralFeatures().get(12);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EClass getSemanticDB() {
return semanticDBEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EReference getSemanticDB_Roots() {
return (EReference) semanticDBEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EClass getTreeRoot() {
return treeRootEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EReference getTreeRoot_ParentDB() {
return (EReference) treeRootEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EAttribute getTreeRoot_RootURI() {
return (EAttribute) treeRootEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EEnum getTreeNodeType() {
return treeNodeTypeEEnum;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EDataType getPersistentProperties() {
return persistentPropertiesEDataType;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public EDataType getSessionProperties() {
return sessionPropertiesEDataType;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
public SemanticResourceDBFactory getSemanticResourceDBFactory() {
return (SemanticResourceDBFactory) 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
resourceTreeNodeEClass = createEClass(RESOURCE_TREE_NODE);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__NAME);
createEReference(resourceTreeNodeEClass, RESOURCE_TREE_NODE__CHILDREN);
createEReference(resourceTreeNodeEClass, RESOURCE_TREE_NODE__PARENT);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__EXISTS);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__TEMPLATE_ID);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__PERSISTENT_PROPERTIES);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__LOCAL_ONLY);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__TYPE);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__SESSION_PROPERTIES);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__PATH);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__QUERY_PART);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__REMOTE_URI);
createEAttribute(resourceTreeNodeEClass, RESOURCE_TREE_NODE__DYNAMIC_CONTENT_PROVIDER_ID);
semanticDBEClass = createEClass(SEMANTIC_DB);
createEReference(semanticDBEClass, SEMANTIC_DB__ROOTS);
treeRootEClass = createEClass(TREE_ROOT);
createEReference(treeRootEClass, TREE_ROOT__PARENT_DB);
createEAttribute(treeRootEClass, TREE_ROOT__ROOT_URI);
// Create enums
treeNodeTypeEEnum = createEEnum(TREE_NODE_TYPE);
// Create data types
persistentPropertiesEDataType = createEDataType(PERSISTENT_PROPERTIES);
sessionPropertiesEDataType = createEDataType(SESSION_PROPERTIES);
}
/**
* <!-- 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);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
treeRootEClass.getESuperTypes().add(this.getResourceTreeNode());
// Initialize classes and features; add operations and parameters
initEClass(resourceTreeNodeEClass, ResourceTreeNode.class,
"ResourceTreeNode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEAttribute(
getResourceTreeNode_Name(),
ecorePackage.getEString(),
"name", null, 0, 1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(
getResourceTreeNode_Children(),
this.getResourceTreeNode(),
this.getResourceTreeNode_Parent(),
"children", null, 0, -1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEReference(
getResourceTreeNode_Parent(),
this.getResourceTreeNode(),
this.getResourceTreeNode_Children(),
"parent", null, 0, 1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
getResourceTreeNode_Exists(),
ecorePackage.getEBoolean(),
"exists", "true", 0, 1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEAttribute(
getResourceTreeNode_TemplateID(),
ecorePackage.getEString(),
"templateID", null, 0, 1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
getResourceTreeNode_PersistentProperties(),
this.getPersistentProperties(),
"persistentProperties", null, 0, 1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
getResourceTreeNode_LocalOnly(),
ecorePackage.getEBoolean(),
"localOnly", "false", 0, 1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEAttribute(
getResourceTreeNode_Type(),
this.getTreeNodeType(),
"type", "FILE", 0, 1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$
initEAttribute(
getResourceTreeNode_SessionProperties(),
this.getSessionProperties(),
"sessionProperties", null, 0, 1, ResourceTreeNode.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
getResourceTreeNode_Path(),
ecorePackage.getEString(),
"path", null, 0, 1, ResourceTreeNode.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
getResourceTreeNode_QueryPart(),
ecorePackage.getEString(),
"queryPart", null, 0, 1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
getResourceTreeNode_RemoteURI(),
ecorePackage.getEString(),
"remoteURI", null, 0, 1, ResourceTreeNode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
getResourceTreeNode_DynamicContentProviderID(),
ecorePackage.getEString(),
"dynamicContentProviderID", null, 0, 1, ResourceTreeNode.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEClass(semanticDBEClass, SemanticDB.class, "SemanticDB", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(
getSemanticDB_Roots(),
this.getTreeRoot(),
this.getTreeRoot_ParentDB(),
"roots", null, 0, -1, SemanticDB.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEClass(treeRootEClass, TreeRoot.class, "TreeRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(
getTreeRoot_ParentDB(),
this.getSemanticDB(),
this.getSemanticDB_Roots(),
"parentDB", null, 0, 1, TreeRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
initEAttribute(
getTreeRoot_RootURI(),
ecorePackage.getEString(),
"rootURI", null, 0, 1, TreeRoot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
// Initialize enums and add enum literals
initEEnum(treeNodeTypeEEnum, TreeNodeType.class, "TreeNodeType"); //$NON-NLS-1$
addEEnumLiteral(treeNodeTypeEEnum, TreeNodeType.FOLDER);
addEEnumLiteral(treeNodeTypeEEnum, TreeNodeType.FILE);
addEEnumLiteral(treeNodeTypeEEnum, TreeNodeType.PROJECT);
addEEnumLiteral(treeNodeTypeEEnum, TreeNodeType.UNKNOWN);
// Initialize data types
initEDataType(
persistentPropertiesEDataType,
HashMap.class,
"PersistentProperties", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS, "java.util.HashMap<java.lang.String, java.lang.String>"); //$NON-NLS-1$ //$NON-NLS-2$
initEDataType(
sessionPropertiesEDataType,
HashMap.class,
"SessionProperties", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS, "java.util.HashMap<org.eclipse.core.runtime.QualifiedName, java.lang.Object>"); //$NON-NLS-1$ //$NON-NLS-2$
// Create resource
createResource(eNS_URI);
}
} // SemanticResourceDBPackageImpl