Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.m2e.model.edit/src/main/java')
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Activation.java326
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationFile.java100
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationOS.java158
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationProperty.java98
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Build.java257
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/BuildBase.java371
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/CiManagement.java144
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Configuration.java57
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Contributor.java305
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Dependency.java429
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DependencyManagement.java91
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DeploymentRepository.java265
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Developer.java330
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DistributionManagement.java382
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DocumentRoot.java134
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Exclusion.java91
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Extension.java121
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/IssueManagement.java96
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/License.java161
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/MailingList.java246
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Model.java1448
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Notifier.java429
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Organization.java88
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Parent.java160
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Plugin.java370
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PluginExecution.java205
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PluginManagement.java60
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PomFactory.java393
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PomPackage.java6917
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Prerequisites.java94
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Profile.java620
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PropertyElement.java93
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Relocation.java152
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ReportPlugin.java266
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ReportSet.java176
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Reporting.java179
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Repository.java320
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/RepositoryPolicy.java165
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Resource.java217
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Scm.java191
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Site.java127
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationFileImpl.java232
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationImpl.java738
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationOSImpl.java346
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationPropertyImpl.java233
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/BuildBaseImpl.java691
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/BuildImpl.java506
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/CiManagementImpl.java315
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ConfigurationImpl.java242
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ContributorImpl.java609
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DependencyImpl.java737
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DependencyManagementImpl.java189
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DeploymentRepositoryImpl.java487
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DeveloperImpl.java665
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DistributionManagementImpl.java894
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DocumentRootImpl.java317
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ExclusionImpl.java233
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ExtensionImpl.java290
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/IssueManagementImpl.java232
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/LicenseImpl.java348
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/MailingListImpl.java472
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ModelImpl.java2791
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/NotifierImpl.java747
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/OrganizationImpl.java232
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ParentImpl.java349
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginExecutionImpl.java444
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginImpl.java695
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginManagementImpl.java165
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PomFactoryImpl.java562
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PomPackageImpl.java4597
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PrerequisitesImpl.java214
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ProfileImpl.java1233
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PropertyElementImpl.java232
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RelocationImpl.java347
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportPluginImpl.java540
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportSetImpl.java383
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportingImpl.java361
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RepositoryImpl.java698
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RepositoryPolicyImpl.java337
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ResourceImpl.java411
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ScmImpl.java385
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/SiteImpl.java285
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationFileItemProvider.java180
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationItemProvider.java236
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationOSItemProvider.java220
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationPropertyItemProvider.java180
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/BuildBaseItemProvider.java297
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/BuildItemProvider.java293
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/CiManagementItemProvider.java227
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ConfigurationItemProvider.java124
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ContributorItemProvider.java313
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DependencyItemProvider.java347
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DependencyManagementItemProvider.java179
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DeploymentRepositoryItemProvider.java241
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DeveloperItemProvider.java327
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DistributionManagementItemProvider.java274
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DocumentRootItemProvider.java178
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ExclusionItemProvider.java178
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ExtensionItemProvider.java197
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/IssueManagementItemProvider.java180
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/LicenseItemProvider.java218
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/MailingListItemProvider.java288
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ModelItemProvider.java495
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/NotifierItemProvider.java304
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/OrganizationItemProvider.java182
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ParentItemProvider.java215
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginExecutionItemProvider.java262
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginItemProvider.java303
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginManagementItemProvider.java179
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PomEditPlugin.java94
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PomItemProviderAdapterFactory.java1243
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PrerequisitesItemProvider.java160
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ProfileItemProvider.java305
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PropertyElementItemProvider.java180
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RelocationItemProvider.java226
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportPluginItemProvider.java285
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportSetItemProvider.java242
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportingItemProvider.java224
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RepositoryItemProvider.java294
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RepositoryPolicyItemProvider.java202
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ResourceItemProvider.java247
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ScmItemProvider.java215
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/SiteItemProvider.java196
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ConfigurationAdapter.java61
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ListAdapter.java230
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ModelObjectAdapter.java326
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/PropertiesAdapter.java235
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/SSESyncResource.java284
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/TranslatorAdapter.java371
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ValueUpdateAdapter.java158
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomAdapterFactory.java904
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomResourceFactoryImpl.java45
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomResourceImpl.java47
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomSwitch.java1060
-rw-r--r--org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomXMLProcessor.java64
135 files changed, 56131 insertions, 0 deletions
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Activation.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Activation.java
new file mode 100644
index 00000000..22647170
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Activation.java
@@ -0,0 +1,326 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Activation</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * The conditions within the build runtime environment which will trigger the
+ * automatic inclusion of the build profile.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Activation#getActiveByDefault <em>
+ * Active By Default</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Activation#getJdk <em>Jdk</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Activation#getOs <em>Os</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Activation#getProperty <em>Property
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Activation#getFile <em>File</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivation()
+ * @model extendedMetaData="name='Activation' kind='elementOnly'"
+ * @generated
+ */
+public interface Activation extends EObject {
+ /**
+ * Returns the value of the '<em><b>Active By Default</b></em>' attribute.
+ * The default value is <code>"false"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0 Flag specifying whether
+ * this profile is active by default. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Active By Default</em>' attribute.
+ * @see #isSetActiveByDefault()
+ * @see #unsetActiveByDefault()
+ * @see #setActiveByDefault(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivation_ActiveByDefault()
+ * @model default="false" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='activeByDefault' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getActiveByDefault();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getActiveByDefault
+ * <em>Active By Default</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Active By Default</em>' attribute.
+ * @see #isSetActiveByDefault()
+ * @see #unsetActiveByDefault()
+ * @see #getActiveByDefault()
+ * @generated
+ */
+ void setActiveByDefault(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getActiveByDefault
+ * <em>Active By Default</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetActiveByDefault()
+ * @see #getActiveByDefault()
+ * @see #setActiveByDefault(String)
+ * @generated
+ */
+ void unsetActiveByDefault();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getActiveByDefault
+ * <em>Active By Default</em>}' attribute is set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Active By Default</em>' attribute
+ * is set.
+ * @see #unsetActiveByDefault()
+ * @see #getActiveByDefault()
+ * @see #setActiveByDefault(String)
+ * @generated
+ */
+ boolean isSetActiveByDefault();
+
+ /**
+ * Returns the value of the '<em><b>Jdk</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Specifies that this profile will be activated when a matching JDK is
+ * detected. For example, &lt;code&gt;1.4&lt;/code&gt; only activates on
+ * JDKs versioned 1.4, while &lt;code&gt;!1.4&lt;/code&gt; matches any JDK
+ * that is not version 1.4.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Jdk</em>' attribute.
+ * @see #setJdk(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivation_Jdk()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='jdk' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getJdk();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getJdk <em>Jdk</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Jdk</em>' attribute.
+ * @see #getJdk()
+ * @generated
+ */
+ void setJdk(String value);
+
+ /**
+ * Returns the value of the '<em><b>Os</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Specifies that this profile will be activated when matching operating
+ * system attributes are detected.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Os</em>' containment reference.
+ * @see #isSetOs()
+ * @see #unsetOs()
+ * @see #setOs(ActivationOS)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivation_Os()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='os' namespace='##targetNamespace'"
+ * @generated
+ */
+ ActivationOS getOs();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getOs <em>Os</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Os</em>' containment reference.
+ * @see #isSetOs()
+ * @see #unsetOs()
+ * @see #getOs()
+ * @generated
+ */
+ void setOs(ActivationOS value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getOs <em>Os</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetOs()
+ * @see #getOs()
+ * @see #setOs(ActivationOS)
+ * @generated
+ */
+ void unsetOs();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getOs <em>Os</em>}'
+ * containment reference is set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return whether the value of the '<em>Os</em>' containment reference is
+ * set.
+ * @see #unsetOs()
+ * @see #getOs()
+ * @see #setOs(ActivationOS)
+ * @generated
+ */
+ boolean isSetOs();
+
+ /**
+ * Returns the value of the '<em><b>Property</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * Specifies that this profile will be activated when this system property
+ * is specified.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Property</em>' containment reference.
+ * @see #isSetProperty()
+ * @see #unsetProperty()
+ * @see #setProperty(ActivationProperty)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivation_Property()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='property' namespace='##targetNamespace'"
+ * @generated
+ */
+ ActivationProperty getProperty();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getProperty
+ * <em>Property</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Property</em>' containment
+ * reference.
+ * @see #isSetProperty()
+ * @see #unsetProperty()
+ * @see #getProperty()
+ * @generated
+ */
+ void setProperty(ActivationProperty value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getProperty
+ * <em>Property</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetProperty()
+ * @see #getProperty()
+ * @see #setProperty(ActivationProperty)
+ * @generated
+ */
+ void unsetProperty();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getProperty
+ * <em>Property</em>}' containment reference is set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Property</em>' containment
+ * reference is set.
+ * @see #unsetProperty()
+ * @see #getProperty()
+ * @see #setProperty(ActivationProperty)
+ * @generated
+ */
+ boolean isSetProperty();
+
+ /**
+ * Returns the value of the '<em><b>File</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 4.0.0
+ *
+ * Specifies that this profile will be activated based on existence of a
+ * file.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>File</em>' containment reference.
+ * @see #isSetFile()
+ * @see #unsetFile()
+ * @see #setFile(ActivationFile)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivation_File()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='file' namespace='##targetNamespace'"
+ * @generated
+ */
+ ActivationFile getFile();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getFile <em>File</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>File</em>' containment reference.
+ * @see #isSetFile()
+ * @see #unsetFile()
+ * @see #getFile()
+ * @generated
+ */
+ void setFile(ActivationFile value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getFile <em>File</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetFile()
+ * @see #getFile()
+ * @see #setFile(ActivationFile)
+ * @generated
+ */
+ void unsetFile();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getFile <em>File</em>}'
+ * containment reference is set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return whether the value of the '<em>File</em>' containment reference is
+ * set.
+ * @see #unsetFile()
+ * @see #getFile()
+ * @see #setFile(ActivationFile)
+ * @generated
+ */
+ boolean isSetFile();
+
+} // Activation
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationFile.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationFile.java
new file mode 100644
index 00000000..6eb8426f
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationFile.java
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Activation File</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * This is the file specification used to activate the profile. The missing
+ * value will be the location of a file that needs to exist, and if it doesn't
+ * the profile will be activated. On the other hand exists will test for the
+ * existence of the file and if it is there the profile will be activated.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ActivationFile#getMissing <em>Missing
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ActivationFile#getExists <em>Exists
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationFile()
+ * @model extendedMetaData="name='ActivationFile' kind='elementOnly'"
+ * @generated
+ */
+public interface ActivationFile extends EObject {
+ /**
+ * Returns the value of the '<em><b>Missing</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The name of the file that must be missing to activate the profile. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Missing</em>' attribute.
+ * @see #setMissing(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationFile_Missing()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='missing' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getMissing();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationFile#getMissing
+ * <em>Missing</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Missing</em>' attribute.
+ * @see #getMissing()
+ * @generated
+ */
+ void setMissing(String value);
+
+ /**
+ * Returns the value of the '<em><b>Exists</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The name of the file that must exist to activate the profile. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Exists</em>' attribute.
+ * @see #setExists(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationFile_Exists()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='exists' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getExists();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationFile#getExists
+ * <em>Exists</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Exists</em>' attribute.
+ * @see #getExists()
+ * @generated
+ */
+ void setExists(String value);
+
+} // ActivationFile
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationOS.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationOS.java
new file mode 100644
index 00000000..44cb43bb
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationOS.java
@@ -0,0 +1,158 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Activation OS</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * This is an activator which will detect an operating system's attributes in
+ * order to activate its profile.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ActivationOS#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ActivationOS#getFamily <em>Family
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ActivationOS#getArch <em>Arch</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ActivationOS#getVersion <em>Version
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationOS()
+ * @model extendedMetaData="name='ActivationOS' kind='elementOnly'"
+ * @generated
+ */
+public interface ActivationOS extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The name of the operating system to be used to activate the profile. This
+ * must be an exact match of the &lt;code&gt;${os.name}&lt;/code&gt; Java
+ * property, such as &lt;code&gt;Windows XP&lt;/code&gt;. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationOS_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationOS#getName <em>Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Family</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The general family of the OS to be used to activate the profile, such as
+ * &lt;code&gt;windows&lt;/code&gt; or &lt;code&gt;unix&lt;/code&gt;. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Family</em>' attribute.
+ * @see #setFamily(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationOS_Family()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='family' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getFamily();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationOS#getFamily
+ * <em>Family</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Family</em>' attribute.
+ * @see #getFamily()
+ * @generated
+ */
+ void setFamily(String value);
+
+ /**
+ * Returns the value of the '<em><b>Arch</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The architecture of the operating system to be used to activate the
+ * profile. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Arch</em>' attribute.
+ * @see #setArch(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationOS_Arch()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='arch' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArch();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationOS#getArch <em>Arch</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Arch</em>' attribute.
+ * @see #getArch()
+ * @generated
+ */
+ void setArch(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The version of the operating system to be used to activate the profile.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationOS_Version()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='version' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationOS#getVersion
+ * <em>Version</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+} // ActivationOS
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationProperty.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationProperty.java
new file mode 100644
index 00000000..c90e5db9
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ActivationProperty.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Activation Property</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * This is the property specification used to activate a profile. If the value
+ * field is empty, then the existence of the named property will activate the
+ * profile, otherwise it does a case-sensitive match against the property value
+ * as well.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ActivationProperty#getName <em>Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ActivationProperty#getValue <em>Value
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationProperty()
+ * @model extendedMetaData="name='ActivationProperty' kind='elementOnly'"
+ * @generated
+ */
+public interface ActivationProperty extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The name of the property to be used to activate a profile. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationProperty_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationProperty#getName
+ * <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The value of the property required to activate a profile. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getActivationProperty_Value()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='value' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationProperty#getValue
+ * <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // ActivationProperty
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Build.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Build.java
new file mode 100644
index 00000000..7abb1fb8
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Build.java
@@ -0,0 +1,257 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Build</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+ <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Build#getSourceDirectory <em>Source
+ * Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Build#getScriptSourceDirectory <em>
+ * Script Source Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Build#getTestSourceDirectory <em>Test
+ * Source Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Build#getOutputDirectory <em>Output
+ * Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Build#getTestOutputDirectory <em>Test
+ * Output Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Build#getExtensions <em>Extensions
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuild()
+ * @model extendedMetaData="name='Build' kind='elementOnly'"
+ * @generated
+ */
+public interface Build extends BuildBase {
+ /**
+ * Returns the value of the '<em><b>Source Directory</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 3.0.0+
+ *
+ * This element specifies a directory containing the source of the project.
+ * The generated build system will compile the source in this directory when
+ * the project is built. The path given is relative to the project
+ * descriptor.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Source Directory</em>' attribute.
+ * @see #setSourceDirectory(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuild_SourceDirectory()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='sourceDirectory' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getSourceDirectory();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Build#getSourceDirectory
+ * <em>Source Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Source Directory</em>' attribute.
+ * @see #getSourceDirectory()
+ * @generated
+ */
+ void setSourceDirectory(String value);
+
+ /**
+ * Returns the value of the '<em><b>Script Source Directory</b></em>'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * This element specifies a directory containing the script sources of the
+ * project. This directory is meant to be different from the
+ * sourceDirectory, in that its contents will be copied to the output
+ * directory in most cases (since scripts are interpreted rather than
+ * compiled).
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Script Source Directory</em>' attribute.
+ * @see #setScriptSourceDirectory(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuild_ScriptSourceDirectory()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='scriptSourceDirectory' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getScriptSourceDirectory();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Build#getScriptSourceDirectory
+ * <em>Script Source Directory</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Script Source Directory</em>'
+ * attribute.
+ * @see #getScriptSourceDirectory()
+ * @generated
+ */
+ void setScriptSourceDirectory(String value);
+
+ /**
+ * Returns the value of the '<em><b>Test Source Directory</b></em>'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * This element specifies a directory containing the unit test source of the
+ * project. The generated build system will compile these directories when
+ * the project is being tested. The path given is relative to the project
+ * descriptor.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Test Source Directory</em>' attribute.
+ * @see #setTestSourceDirectory(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuild_TestSourceDirectory()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='testSourceDirectory' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getTestSourceDirectory();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Build#getTestSourceDirectory
+ * <em>Test Source Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Test Source Directory</em>'
+ * attribute.
+ * @see #getTestSourceDirectory()
+ * @generated
+ */
+ void setTestSourceDirectory(String value);
+
+ /**
+ * Returns the value of the '<em><b>Output Directory</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 4.0.0
+ *
+ * The directory where compiled application classes are placed.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Output Directory</em>' attribute.
+ * @see #setOutputDirectory(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuild_OutputDirectory()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='outputDirectory' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getOutputDirectory();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Build#getOutputDirectory
+ * <em>Output Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Output Directory</em>' attribute.
+ * @see #getOutputDirectory()
+ * @generated
+ */
+ void setOutputDirectory(String value);
+
+ /**
+ * Returns the value of the '<em><b>Test Output Directory</b></em>'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * The directory where compiled test classes are placed.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Test Output Directory</em>' attribute.
+ * @see #setTestOutputDirectory(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuild_TestOutputDirectory()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='testOutputDirectory' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getTestOutputDirectory();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Build#getTestOutputDirectory
+ * <em>Test Output Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Test Output Directory</em>'
+ * attribute.
+ * @see #getTestOutputDirectory()
+ * @generated
+ */
+ void setTestOutputDirectory(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extensions</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Extension}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0 A set of build
+ * extensions to use from this project. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Extensions</em>' containment reference
+ * list.
+ * @see #isSetExtensions()
+ * @see #unsetExtensions()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuild_Extensions()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='extensions' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Extension> getExtensions();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Build#getExtensions
+ * <em>Extensions</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetExtensions()
+ * @see #getExtensions()
+ * @generated
+ */
+ void unsetExtensions();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Build#getExtensions
+ * <em>Extensions</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Extensions</em>' containment
+ * reference list is set.
+ * @see #unsetExtensions()
+ * @see #getExtensions()
+ * @generated
+ */
+ boolean isSetExtensions();
+
+} // Build
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/BuildBase.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/BuildBase.java
new file mode 100644
index 00000000..3c3580f3
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/BuildBase.java
@@ -0,0 +1,371 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Build Base</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+ <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.BuildBase#getDefaultGoal <em>Default
+ * Goal</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.BuildBase#getResources <em>Resources
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.BuildBase#getTestResources <em>Test
+ * Resources</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.BuildBase#getDirectory <em>Directory
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.BuildBase#getFinalName <em>Final Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.BuildBase#getPluginManagement <em>
+ * Plugin Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.BuildBase#getPlugins <em>Plugins
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.BuildBase#getFilters <em>Filters
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuildBase()
+ * @model extendedMetaData="name='BuildBase' kind='elementOnly'"
+ * @generated
+ */
+public interface BuildBase extends EObject {
+ /**
+ * Returns the value of the '<em><b>Default Goal</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The default goal (or phase in Maven 2) to execute when none is specified
+ * for the project.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Default Goal</em>' attribute.
+ * @see #setDefaultGoal(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuildBase_DefaultGoal()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='defaultGoal' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getDefaultGoal();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getDefaultGoal
+ * <em>Default Goal</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Default Goal</em>' attribute.
+ * @see #getDefaultGoal()
+ * @generated
+ */
+ void setDefaultGoal(String value);
+
+ /**
+ * Returns the value of the '<em><b>Resources</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Resource}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * This element describes all of the classpath resources such as properties
+ * files associated with a project. These resources are often included in
+ * the final package.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Resources</em>' containment reference list.
+ * @see #isSetResources()
+ * @see #unsetResources()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuildBase_Resources()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='resources' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Resource> getResources();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getResources
+ * <em>Resources</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetResources()
+ * @see #getResources()
+ * @generated
+ */
+ void unsetResources();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getResources
+ * <em>Resources</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Resources</em>' containment
+ * reference list is set.
+ * @see #unsetResources()
+ * @see #getResources()
+ * @generated
+ */
+ boolean isSetResources();
+
+ /**
+ * Returns the value of the '<em><b>Test Resources</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Resource}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * This element describes all of the classpath resources such as properties
+ * files associated with a project's unit tests.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Test Resources</em>' containment reference
+ * list.
+ * @see #isSetTestResources()
+ * @see #unsetTestResources()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuildBase_TestResources()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='testResources' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Resource> getTestResources();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getTestResources
+ * <em>Test Resources</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetTestResources()
+ * @see #getTestResources()
+ * @generated
+ */
+ void unsetTestResources();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getTestResources
+ * <em>Test Resources</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Test Resources</em>' containment
+ * reference list is set.
+ * @see #unsetTestResources()
+ * @see #getTestResources()
+ * @generated
+ */
+ boolean isSetTestResources();
+
+ /**
+ * Returns the value of the '<em><b>Directory</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The directory where all files generated by the build are placed.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Directory</em>' attribute.
+ * @see #setDirectory(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuildBase_Directory()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='directory' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getDirectory();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getDirectory
+ * <em>Directory</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Directory</em>' attribute.
+ * @see #getDirectory()
+ * @generated
+ */
+ void setDirectory(String value);
+
+ /**
+ * Returns the value of the '<em><b>Final Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The filename (excluding the extension, and with no path information) that
+ * the produced artifact will be called. The default value is
+ * &lt;code&gt;${artifactId}-${version}&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Final Name</em>' attribute.
+ * @see #setFinalName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuildBase_FinalName()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='finalName' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getFinalName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getFinalName
+ * <em>Final Name</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Final Name</em>' attribute.
+ * @see #getFinalName()
+ * @generated
+ */
+ void setFinalName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Plugin Management</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * Default plugin information to be made available for reference by projects
+ * derived from this one. This plugin configuration will not be resolved or
+ * bound to the lifecycle unless referenced. Any local configuration for a
+ * given plugin will override the plugin's entire definition here.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Plugin Management</em>' containment
+ * reference.
+ * @see #isSetPluginManagement()
+ * @see #unsetPluginManagement()
+ * @see #setPluginManagement(PluginManagement)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuildBase_PluginManagement()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='pluginManagement' namespace='##targetNamespace'"
+ * @generated
+ */
+ PluginManagement getPluginManagement();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getPluginManagement
+ * <em>Plugin Management</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Plugin Management</em>' containment
+ * reference.
+ * @see #isSetPluginManagement()
+ * @see #unsetPluginManagement()
+ * @see #getPluginManagement()
+ * @generated
+ */
+ void setPluginManagement(PluginManagement value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getPluginManagement
+ * <em>Plugin Management</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetPluginManagement()
+ * @see #getPluginManagement()
+ * @see #setPluginManagement(PluginManagement)
+ * @generated
+ */
+ void unsetPluginManagement();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getPluginManagement
+ * <em>Plugin Management</em>}' containment reference is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Plugin Management</em>' containment
+ * reference is set.
+ * @see #unsetPluginManagement()
+ * @see #getPluginManagement()
+ * @see #setPluginManagement(PluginManagement)
+ * @generated
+ */
+ boolean isSetPluginManagement();
+
+ /**
+ * Returns the value of the '<em><b>Plugins</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The list of plugins to use.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Plugins</em>' containment reference list.
+ * @see #isSetPlugins()
+ * @see #unsetPlugins()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuildBase_Plugins()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='plugins' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Plugin> getPlugins();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getPlugins
+ * <em>Plugins</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetPlugins()
+ * @see #getPlugins()
+ * @generated
+ */
+ void unsetPlugins();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getPlugins
+ * <em>Plugins</em>}' containment reference list is set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Plugins</em>' containment reference
+ * list is set.
+ * @see #unsetPlugins()
+ * @see #getPlugins()
+ * @generated
+ */
+ boolean isSetPlugins();
+
+ /**
+ * Returns the value of the '<em><b>Filters</b></em>' attribute list. The
+ * list contents are of type {@link java.lang.String}. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Filters</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Filters</em>' attribute list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getBuildBase_Filters()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getFilters();
+
+} // BuildBase
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/CiManagement.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/CiManagement.java
new file mode 100644
index 00000000..2557f80e
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/CiManagement.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Ci Management</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.CiManagement#getSystem <em>System
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.CiManagement#getUrl <em>Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.CiManagement#getNotifiers <em>
+ * Notifiers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getCiManagement()
+ * @model extendedMetaData="name='CiManagement' kind='elementOnly'"
+ * @generated
+ */
+public interface CiManagement extends EObject {
+ /**
+ * Returns the value of the '<em><b>System</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The name of the continuous integration system, e.g.
+ * &lt;code&gt;continuum&lt;/code&gt;. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>System</em>' attribute.
+ * @see #setSystem(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getCiManagement_System()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='system' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getSystem();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.CiManagement#getSystem
+ * <em>System</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>System</em>' attribute.
+ * @see #getSystem()
+ * @generated
+ */
+ void setSystem(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * URL for the continuous integration system used by the project if it has a
+ * web interface. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getCiManagement_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.CiManagement#getUrl <em>Url</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Notifiers</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Configuration for notifying developers/users when a build is
+ * unsuccessful, including user information and notification mode.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Notifiers</em>' containment reference list.
+ * @see #isSetNotifiers()
+ * @see #unsetNotifiers()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getCiManagement_Notifiers()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='notifiers' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Notifier> getNotifiers();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.CiManagement#getNotifiers
+ * <em>Notifiers</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetNotifiers()
+ * @see #getNotifiers()
+ * @generated
+ */
+ void unsetNotifiers();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.CiManagement#getNotifiers
+ * <em>Notifiers</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Notifiers</em>' containment
+ * reference list is set.
+ * @see #unsetNotifiers()
+ * @see #getNotifiers()
+ * @generated
+ */
+ boolean isSetNotifiers();
+
+} // CiManagement
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Configuration.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Configuration.java
new file mode 100644
index 00000000..56441884
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Configuration.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.w3c.dom.Node;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Configuration</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Configuration#getNode <em>Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getConfiguration()
+ * @model
+ * @generated NOT
+ */
+public interface Configuration extends EObject {
+ public Node getConfigurationNode();
+
+ public String getStringValue(String xpath);
+
+ public void setStringValue(String xpath, String value);
+
+ List<String> getListValue(String xpath);
+
+ List<Node> getListNodes(String xpath);
+
+ Node getNode(String xpath);
+
+ void setNodeValues(String xpath, String name, String[] values);
+
+ void setNodeValues(String xpath, String[] names, String[] values);
+
+ void setNodeValues(Node node, String xpath, String[] names, String[] values);
+
+ Node createNode(String xpath);
+
+ void removeNode(String xpath);
+
+} // Configuration
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Contributor.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Contributor.java
new file mode 100644
index 00000000..3f1b6aa0
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Contributor.java
@@ -0,0 +1,305 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Contributor</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+
+ *
+ * Description of a person who has contributed to the project, but who does not
+ * have commit privileges. Usually, these contributions come in the form of
+ * patches submitted.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Contributor#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Contributor#getEmail <em>Email</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Contributor#getUrl <em>Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Contributor#getOrganization <em>
+ * Organization</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Contributor#getOrganizationUrl <em>
+ * Organization Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Contributor#getTimezone <em>Timezone
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Contributor#getProperties <em>
+ * Properties</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Contributor#getRoles <em>Roles</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getContributor()
+ * @model extendedMetaData="name='Contributor' kind='elementOnly'"
+ * @generated
+ */
+public interface Contributor extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The full name of the contributor. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getContributor_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getName <em>Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Email</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The email address of the contributor. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Email</em>' attribute.
+ * @see #setEmail(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getContributor_Email()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='email' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getEmail();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getEmail <em>Email</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Email</em>' attribute.
+ * @see #getEmail()
+ * @generated
+ */
+ void setEmail(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The URL for the homepage of the contributor. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getContributor_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getUrl <em>Url</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Organization</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The organization to which the contributor belongs. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Organization</em>' attribute.
+ * @see #setOrganization(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getContributor_Organization()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='organization' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getOrganization();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getOrganization
+ * <em>Organization</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Organization</em>' attribute.
+ * @see #getOrganization()
+ * @generated
+ */
+ void setOrganization(String value);
+
+ /**
+ * Returns the value of the '<em><b>Organization Url</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 3.0.0+ The URL of the organization. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Organization Url</em>' attribute.
+ * @see #setOrganizationUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getContributor_OrganizationUrl()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='organizationUrl' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getOrganizationUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getOrganizationUrl
+ * <em>Organization Url</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Organization Url</em>' attribute.
+ * @see #getOrganizationUrl()
+ * @generated
+ */
+ void setOrganizationUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Timezone</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The timezone the contributor is in. This is a number in the range -11 to
+ * 12.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Timezone</em>' attribute.
+ * @see #setTimezone(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getContributor_Timezone()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='timezone' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getTimezone();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getTimezone
+ * <em>Timezone</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Timezone</em>' attribute.
+ * @see #getTimezone()
+ * @generated
+ */
+ void setTimezone(String value);
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement}. <!-- begin-user-doc
+ * --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * Properties about the contributor, such as an instant messenger handle.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Properties</em>' containment reference
+ * list.
+ * @see #isSetProperties()
+ * @see #unsetProperties()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getContributor_Properties()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='properties' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<PropertyElement> getProperties();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getProperties
+ * <em>Properties</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetProperties()
+ * @see #getProperties()
+ * @generated
+ */
+ void unsetProperties();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getProperties
+ * <em>Properties</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Properties</em>' containment
+ * reference list is set.
+ * @see #unsetProperties()
+ * @see #getProperties()
+ * @generated
+ */
+ boolean isSetProperties();
+
+ /**
+ * Returns the value of the '<em><b>Roles</b></em>' attribute list. The list
+ * contents are of type {@link java.lang.String}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Roles</em>' attribute list isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Roles</em>' attribute list.
+ * @see #isSetRoles()
+ * @see #unsetRoles()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getContributor_Roles()
+ * @model unique="false" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getRoles();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getRoles <em>Roles</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetRoles()
+ * @see #getRoles()
+ * @generated
+ */
+ void unsetRoles();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getRoles <em>Roles</em>}'
+ * attribute list is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Roles</em>' attribute list is set.
+ * @see #unsetRoles()
+ * @see #getRoles()
+ * @generated
+ */
+ boolean isSetRoles();
+
+} // Contributor
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Dependency.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Dependency.java
new file mode 100644
index 00000000..348c07cd
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Dependency.java
@@ -0,0 +1,429 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Dependency</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+ <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Dependency#getGroupId <em>Group Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Dependency#getArtifactId <em>Artifact
+ * Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Dependency#getVersion <em>Version
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Dependency#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Dependency#getClassifier <em>
+ * Classifier</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Dependency#getScope <em>Scope</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Dependency#getSystemPath <em>System
+ * Path</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Dependency#getExclusions <em>
+ * Exclusions</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Dependency#getOptional <em>Optional
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency()
+ * @model extendedMetaData="name='Dependency' kind='elementOnly'"
+ * @generated
+ */
+public interface Dependency extends EObject {
+ /**
+ * Returns the value of the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The project group that produced the dependency, e.g.
+ * &lt;code&gt;org.apache.maven&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Group Id</em>' attribute.
+ * @see #setGroupId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency_GroupId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='groupId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getGroupId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getGroupId
+ * <em>Group Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Group Id</em>' attribute.
+ * @see #getGroupId()
+ * @generated
+ */
+ void setGroupId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The unique id for an artifact produced by the project group, e.g.
+ * &lt;code&gt;maven-artifact&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Artifact Id</em>' attribute.
+ * @see #setArtifactId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency_ArtifactId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='artifactId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArtifactId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getArtifactId
+ * <em>Artifact Id</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Artifact Id</em>' attribute.
+ * @see #getArtifactId()
+ * @generated
+ */
+ void setArtifactId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The version of the dependency, e.g. &lt;code&gt;3.2.1&lt;/code&gt;. In
+ * Maven 2, this can also be specified as a range of versions.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency_Version()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='version' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getVersion
+ * <em>Version</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The type of dependency. This defaults to &lt;code&gt;jar&lt;/code&gt;.
+ * While it usually represents the extension on the filename of the
+ * dependency, that is not always the case. A type can be mapped to a
+ * different extension and a classifier. The type often correspongs to the
+ * packaging used, though this is also not always the case. Some examples
+ * are &lt;code&gt;jar&lt;/code&gt;, &lt;code&gt;war&lt;/code&gt;,
+ * &lt;code&gt;ejb-client&lt;/code&gt; and
+ * &lt;code&gt;test-jar&lt;/code&gt;. New types can be defined by plugins
+ * that set &lt;code&gt;extensions&lt;/code&gt; to
+ * &lt;code&gt;true&lt;/code&gt;, so this is not a complete list.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #isSetType()
+ * @see #unsetType()
+ * @see #setType(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency_Type()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='type' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getType <em>Type</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type</em>' attribute.
+ * @see #isSetType()
+ * @see #unsetType()
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getType <em>Type</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetType()
+ * @see #getType()
+ * @see #setType(String)
+ * @generated
+ */
+ void unsetType();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getType <em>Type</em>}'
+ * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Type</em>' attribute is set.
+ * @see #unsetType()
+ * @see #getType()
+ * @see #setType(String)
+ * @generated
+ */
+ boolean isSetType();
+
+ /**
+ * Returns the value of the '<em><b>Classifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The classifier of the dependency. This allows distinguishing two
+ * artifacts that belong to the same POM but were built differently, and is
+ * appended to the filename after the version. For example,
+ * &lt;code&gt;jdk14&lt;/code&gt; and &lt;code&gt;jdk15&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Classifier</em>' attribute.
+ * @see #setClassifier(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency_Classifier()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='classifier' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getClassifier();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getClassifier
+ * <em>Classifier</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Classifier</em>' attribute.
+ * @see #getClassifier()
+ * @generated
+ */
+ void setClassifier(String value);
+
+ /**
+ * Returns the value of the '<em><b>Scope</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The scope of the dependency - &lt;code&gt;compile&lt;/code&gt;,
+ * &lt;code&gt;runtime&lt;/code&gt;, &lt;code&gt;test&lt;/code&gt;,
+ * &lt;code&gt;system&lt;/code&gt;, and &lt;code&gt;provided&lt;/code&gt;.
+ * Used to calculate the various classpaths used for compilation, testing,
+ * and so on. It also assists in determining which artifacts to include in a
+ * distribution of this project. For more information, see &lt;a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"
+ * &gt;the dependency mechanism&lt;/a&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Scope</em>' attribute.
+ * @see #setScope(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency_Scope()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='scope' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getScope();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getScope <em>Scope</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Scope</em>' attribute.
+ * @see #getScope()
+ * @generated
+ */
+ void setScope(String value);
+
+ /**
+ * Returns the value of the '<em><b>System Path</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * FOR SYSTEM SCOPE ONLY. Note that use of this property is
+ * &lt;b&gt;discouraged&lt;/b&gt; and may be replaced in later versions.
+ * This specifies the path on the filesystem for this dependency. Requires
+ * an absolute path for the value, not relative. Use a property that gives
+ * the machine specific absolute path, e.g.
+ * &lt;code&gt;${java.home}&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>System Path</em>' attribute.
+ * @see #setSystemPath(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency_SystemPath()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='systemPath' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getSystemPath();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getSystemPath
+ * <em>System Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>System Path</em>' attribute.
+ * @see #getSystemPath()
+ * @generated
+ */
+ void setSystemPath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Exclusions</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Exclusion}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Lists a set of artifacts that should be excluded from this dependency's
+ * artifact list when it comes to calculating transitive dependencies.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Exclusions</em>' containment reference
+ * list.
+ * @see #isSetExclusions()
+ * @see #unsetExclusions()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency_Exclusions()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='exclusions' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Exclusion> getExclusions();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getExclusions
+ * <em>Exclusions</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetExclusions()
+ * @see #getExclusions()
+ * @generated
+ */
+ void unsetExclusions();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getExclusions
+ * <em>Exclusions</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Exclusions</em>' containment
+ * reference list is set.
+ * @see #unsetExclusions()
+ * @see #getExclusions()
+ * @generated
+ */
+ boolean isSetExclusions();
+
+ /**
+ * Returns the value of the '<em><b>Optional</b></em>' attribute. The
+ * default value is <code>"false"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Indicates the dependency is optional for use of this library. While the
+ * version of the dependency will be taken into account for dependency
+ * calculation if the library is used elsewhere, it will not be passed on
+ * transitively.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Optional</em>' attribute.
+ * @see #isSetOptional()
+ * @see #unsetOptional()
+ * @see #setOptional(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependency_Optional()
+ * @model default="false" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='optional' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getOptional();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getOptional
+ * <em>Optional</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Optional</em>' attribute.
+ * @see #isSetOptional()
+ * @see #unsetOptional()
+ * @see #getOptional()
+ * @generated
+ */
+ void setOptional(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getOptional
+ * <em>Optional</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #isSetOptional()
+ * @see #getOptional()
+ * @see #setOptional(String)
+ * @generated
+ */
+ void unsetOptional();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency#getOptional
+ * <em>Optional</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Optional</em>' attribute is set.
+ * @see #unsetOptional()
+ * @see #getOptional()
+ * @see #setOptional(String)
+ * @generated
+ */
+ boolean isSetOptional();
+
+} // Dependency
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DependencyManagement.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DependencyManagement.java
new file mode 100644
index 00000000..20c84d8a
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DependencyManagement.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Dependency Management</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * Section for management of default dependency information for use in a group
+ * of POMs.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DependencyManagement#getDependencies
+ * <em>Dependencies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependencyManagement()
+ * @model extendedMetaData="name='DependencyManagement' kind='elementOnly'"
+ * @generated
+ */
+public interface DependencyManagement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Dependencies</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The dependencies specified here are not used until they are referenced in
+ * a POM within the group. This allows the specification of a "standard"
+ * version for a particular dependency.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Dependencies</em>' containment reference
+ * list.
+ * @see #isSetDependencies()
+ * @see #unsetDependencies()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDependencyManagement_Dependencies()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='dependencies' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Dependency> getDependencies();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DependencyManagement#getDependencies
+ * <em>Dependencies</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetDependencies()
+ * @see #getDependencies()
+ * @generated
+ */
+ void unsetDependencies();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DependencyManagement#getDependencies
+ * <em>Dependencies</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Dependencies</em>' containment
+ * reference list is set.
+ * @see #unsetDependencies()
+ * @see #getDependencies()
+ * @generated
+ */
+ boolean isSetDependencies();
+
+} // DependencyManagement
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DeploymentRepository.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DeploymentRepository.java
new file mode 100644
index 00000000..14569bc0
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DeploymentRepository.java
@@ -0,0 +1,265 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Deployment Repository</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * Repository contains the information needed for deploying to the remote
+ * repoistory.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUniqueVersion
+ * <em>Unique Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getId <em>Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getName <em>Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUrl <em>Url
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getLayout <em>
+ * Layout</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeploymentRepository()
+ * @model extendedMetaData="name='DeploymentRepository' kind='elementOnly'"
+ * @generated
+ */
+public interface DeploymentRepository extends EObject {
+ /**
+ * Returns the value of the '<em><b>Unique Version</b></em>' attribute. The
+ * default value is <code>"true"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0 Whether to assign
+ * snapshots a unique version comprised of the timestamp and build number,
+ * or to use the same version each time <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Unique Version</em>' attribute.
+ * @see #isSetUniqueVersion()
+ * @see #unsetUniqueVersion()
+ * @see #setUniqueVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeploymentRepository_UniqueVersion()
+ * @model default="true" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='uniqueVersion' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUniqueVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUniqueVersion
+ * <em>Unique Version</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Unique Version</em>' attribute.
+ * @see #isSetUniqueVersion()
+ * @see #unsetUniqueVersion()
+ * @see #getUniqueVersion()
+ * @generated
+ */
+ void setUniqueVersion(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUniqueVersion
+ * <em>Unique Version</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetUniqueVersion()
+ * @see #getUniqueVersion()
+ * @see #setUniqueVersion(String)
+ * @generated
+ */
+ void unsetUniqueVersion();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUniqueVersion
+ * <em>Unique Version</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Unique Version</em>' attribute is
+ * set.
+ * @see #unsetUniqueVersion()
+ * @see #getUniqueVersion()
+ * @see #setUniqueVersion(String)
+ * @generated
+ */
+ boolean isSetUniqueVersion();
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * A unique identifier for a repository. This is used to match the
+ * repository to configuration in the &lt;code&gt;settings.xml&lt;/code&gt;
+ * file, for example.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeploymentRepository_Id()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='id' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getId
+ * <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Human readable name of the repository.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeploymentRepository_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getName
+ * <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The url of the repository, in the form
+ * &lt;code&gt;protocol://hostname/path&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeploymentRepository_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUrl
+ * <em>Url</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Layout</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The type of layout this repository uses for locating and storing
+ * artifacts - can be &lt;code&gt;legacy&lt;/code&gt; or
+ * &lt;code&gt;default&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Layout</em>' attribute.
+ * @see #isSetLayout()
+ * @see #unsetLayout()
+ * @see #setLayout(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeploymentRepository_Layout()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='layout' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getLayout();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getLayout
+ * <em>Layout</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Layout</em>' attribute.
+ * @see #isSetLayout()
+ * @see #unsetLayout()
+ * @see #getLayout()
+ * @generated
+ */
+ void setLayout(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getLayout
+ * <em>Layout</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #isSetLayout()
+ * @see #getLayout()
+ * @see #setLayout(String)
+ * @generated
+ */
+ void unsetLayout();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getLayout
+ * <em>Layout</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Layout</em>' attribute is set.
+ * @see #unsetLayout()
+ * @see #getLayout()
+ * @see #setLayout(String)
+ * @generated
+ */
+ boolean isSetLayout();
+
+} // DeploymentRepository
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Developer.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Developer.java
new file mode 100644
index 00000000..6c22b137
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Developer.java
@@ -0,0 +1,330 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Developer</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+
+ *
+ * Information about one of the committers on this project.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Developer#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Developer#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Developer#getEmail <em>Email</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Developer#getUrl <em>Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Developer#getOrganization <em>
+ * Organization</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Developer#getOrganizationUrl <em>
+ * Organization Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Developer#getTimezone <em>Timezone
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Developer#getProperties <em>
+ * Properties</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Developer#getRoles <em>Roles</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper()
+ * @model extendedMetaData="name='Developer' kind='elementOnly'"
+ * @generated
+ */
+public interface Developer extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The unique ID of the developer in the SCM. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper_Id()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='id' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getId <em>Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The full name of the contributor. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getName <em>Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Email</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The email address of the contributor. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Email</em>' attribute.
+ * @see #setEmail(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper_Email()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='email' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getEmail();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getEmail <em>Email</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Email</em>' attribute.
+ * @see #getEmail()
+ * @generated
+ */
+ void setEmail(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The URL for the homepage of the contributor. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getUrl <em>Url</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Organization</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The organization to which the contributor belongs. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Organization</em>' attribute.
+ * @see #setOrganization(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper_Organization()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='organization' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getOrganization();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getOrganization
+ * <em>Organization</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Organization</em>' attribute.
+ * @see #getOrganization()
+ * @generated
+ */
+ void setOrganization(String value);
+
+ /**
+ * Returns the value of the '<em><b>Organization Url</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 3.0.0+ The URL of the organization. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Organization Url</em>' attribute.
+ * @see #setOrganizationUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper_OrganizationUrl()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='organizationUrl' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getOrganizationUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getOrganizationUrl
+ * <em>Organization Url</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Organization Url</em>' attribute.
+ * @see #getOrganizationUrl()
+ * @generated
+ */
+ void setOrganizationUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Timezone</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The timezone the contributor is in. This is a number in the range -11 to
+ * 12.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Timezone</em>' attribute.
+ * @see #setTimezone(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper_Timezone()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='timezone' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getTimezone();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getTimezone
+ * <em>Timezone</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Timezone</em>' attribute.
+ * @see #getTimezone()
+ * @generated
+ */
+ void setTimezone(String value);
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement}. <!-- begin-user-doc
+ * --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * Properties about the contributor, such as an instant messenger handle.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Properties</em>' containment reference
+ * list.
+ * @see #isSetProperties()
+ * @see #unsetProperties()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper_Properties()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='properties' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<PropertyElement> getProperties();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getProperties
+ * <em>Properties</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetProperties()
+ * @see #getProperties()
+ * @generated
+ */
+ void unsetProperties();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getProperties
+ * <em>Properties</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Properties</em>' containment
+ * reference list is set.
+ * @see #unsetProperties()
+ * @see #getProperties()
+ * @generated
+ */
+ boolean isSetProperties();
+
+ /**
+ * Returns the value of the '<em><b>Roles</b></em>' attribute list. The list
+ * contents are of type {@link java.lang.String}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Roles</em>' attribute list isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Roles</em>' attribute list.
+ * @see #isSetRoles()
+ * @see #unsetRoles()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDeveloper_Roles()
+ * @model unique="false" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getRoles();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getRoles <em>Roles</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetRoles()
+ * @see #getRoles()
+ * @generated
+ */
+ void unsetRoles();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getRoles <em>Roles</em>}'
+ * attribute list is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Roles</em>' attribute list is set.
+ * @see #unsetRoles()
+ * @see #getRoles()
+ * @generated
+ */
+ boolean isSetRoles();
+
+} // Developer
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DistributionManagement.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DistributionManagement.java
new file mode 100644
index 00000000..0c0cfa52
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DistributionManagement.java
@@ -0,0 +1,382 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Distribution Management</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * This elements describes all that pertains to distribution for a project. It
+ * is primarily used for deployment of artifacts and the site produced by the
+ * build.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRepository
+ * <em>Repository</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSnapshotRepository
+ * <em>Snapshot Repository</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSite <em>
+ * Site</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getDownloadUrl
+ * <em>Download Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRelocation
+ * <em>Relocation</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getStatus <em>
+ * Status</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDistributionManagement()
+ * @model extendedMetaData="name='DistributionManagement' kind='elementOnly'"
+ * @generated
+ */
+public interface DistributionManagement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Repository</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * Information needed to deploy the artifacts generated by the project to a
+ * remote repository.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Repository</em>' containment reference.
+ * @see #isSetRepository()
+ * @see #unsetRepository()
+ * @see #setRepository(DeploymentRepository)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDistributionManagement_Repository()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='repository' namespace='##targetNamespace'"
+ * @generated
+ */
+ DeploymentRepository getRepository();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRepository
+ * <em>Repository</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Repository</em>' containment
+ * reference.
+ * @see #isSetRepository()
+ * @see #unsetRepository()
+ * @see #getRepository()
+ * @generated
+ */
+ void setRepository(DeploymentRepository value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRepository
+ * <em>Repository</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetRepository()
+ * @see #getRepository()
+ * @see #setRepository(DeploymentRepository)
+ * @generated
+ */
+ void unsetRepository();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRepository
+ * <em>Repository</em>}' containment reference is set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Repository</em>' containment
+ * reference is set.
+ * @see #unsetRepository()
+ * @see #getRepository()
+ * @see #setRepository(DeploymentRepository)
+ * @generated
+ */
+ boolean isSetRepository();
+
+ /**
+ * Returns the value of the '<em><b>Snapshot Repository</b></em>'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * Where to deploy snapshots of artifacts to. If not given, it defaults to
+ * the &lt;code&gt;repository&lt;/code&gt; element.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Snapshot Repository</em>' containment
+ * reference.
+ * @see #isSetSnapshotRepository()
+ * @see #unsetSnapshotRepository()
+ * @see #setSnapshotRepository(DeploymentRepository)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDistributionManagement_SnapshotRepository()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='snapshotRepository' namespace='##targetNamespace'"
+ * @generated
+ */
+ DeploymentRepository getSnapshotRepository();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSnapshotRepository
+ * <em>Snapshot Repository</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Snapshot Repository</em>'
+ * containment reference.
+ * @see #isSetSnapshotRepository()
+ * @see #unsetSnapshotRepository()
+ * @see #getSnapshotRepository()
+ * @generated
+ */
+ void setSnapshotRepository(DeploymentRepository value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSnapshotRepository
+ * <em>Snapshot Repository</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetSnapshotRepository()
+ * @see #getSnapshotRepository()
+ * @see #setSnapshotRepository(DeploymentRepository)
+ * @generated
+ */
+ void unsetSnapshotRepository();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSnapshotRepository
+ * <em>Snapshot Repository</em>}' containment reference is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Snapshot Repository</em>'
+ * containment reference is set.
+ * @see #unsetSnapshotRepository()
+ * @see #getSnapshotRepository()
+ * @see #setSnapshotRepository(DeploymentRepository)
+ * @generated
+ */
+ boolean isSetSnapshotRepository();
+
+ /**
+ * Returns the value of the '<em><b>Site</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 4.0.0
+ *
+ * Information needed for deploying the web site of the project.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Site</em>' containment reference.
+ * @see #isSetSite()
+ * @see #unsetSite()
+ * @see #setSite(Site)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDistributionManagement_Site()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='site' namespace='##targetNamespace'"
+ * @generated
+ */
+ Site getSite();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSite
+ * <em>Site</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Site</em>' containment reference.
+ * @see #isSetSite()
+ * @see #unsetSite()
+ * @see #getSite()
+ * @generated
+ */
+ void setSite(Site value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSite
+ * <em>Site</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetSite()
+ * @see #getSite()
+ * @see #setSite(Site)
+ * @generated
+ */
+ void unsetSite();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSite
+ * <em>Site</em>}' containment reference is set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Site</em>' containment reference is
+ * set.
+ * @see #unsetSite()
+ * @see #getSite()
+ * @see #setSite(Site)
+ * @generated
+ */
+ boolean isSetSite();
+
+ /**
+ * Returns the value of the '<em><b>Download Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0+
+ *
+ * The URL of the project's download page. If not given users will be
+ * referred to the homepage given by &lt;code&gt;url&lt;/code&gt;. This is
+ * given to assist in locating artifacts that are not in the repository due
+ * to licensing restrictions.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Download Url</em>' attribute.
+ * @see #setDownloadUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDistributionManagement_DownloadUrl()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='downloadUrl' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getDownloadUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getDownloadUrl
+ * <em>Download Url</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Download Url</em>' attribute.
+ * @see #getDownloadUrl()
+ * @generated
+ */
+ void setDownloadUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Relocation</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * Relocation information of the artifact if it has been moved to a new
+ * group ID and/or artifact ID.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Relocation</em>' containment reference.
+ * @see #isSetRelocation()
+ * @see #unsetRelocation()
+ * @see #setRelocation(Relocation)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDistributionManagement_Relocation()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='relocation' namespace='##targetNamespace'"
+ * @generated
+ */
+ Relocation getRelocation();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRelocation
+ * <em>Relocation</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Relocation</em>' containment
+ * reference.
+ * @see #isSetRelocation()
+ * @see #unsetRelocation()
+ * @see #getRelocation()
+ * @generated
+ */
+ void setRelocation(Relocation value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRelocation
+ * <em>Relocation</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetRelocation()
+ * @see #getRelocation()
+ * @see #setRelocation(Relocation)
+ * @generated
+ */
+ void unsetRelocation();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRelocation
+ * <em>Relocation</em>}' containment reference is set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Relocation</em>' containment
+ * reference is set.
+ * @see #unsetRelocation()
+ * @see #getRelocation()
+ * @see #setRelocation(Relocation)
+ * @generated
+ */
+ boolean isSetRelocation();
+
+ /**
+ * Returns the value of the '<em><b>Status</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Gives the status of this artifact in the remote repository. This must not
+ * be set in your local project, as it is updated by tools placing it in the
+ * reposiory. Valid values are: &lt;code&gt;none&lt;/code&gt; (default),
+ * &lt;code&gt;converted&lt;/code&gt; (repository manager converted this
+ * from an Maven 1 POM), &lt;code&gt;partner&lt;/code&gt; (directly synced
+ * from a partner Maven 2 repository), &lt;code&gt;deployed&lt;/code&gt;
+ * (was deployed from a Maven 2 instance), &lt;code&gt;verified&lt;/code&gt;
+ * (has been hand verified as correct and final).
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Status</em>' attribute.
+ * @see #setStatus(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDistributionManagement_Status()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='status' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getStatus();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getStatus
+ * <em>Status</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Status</em>' attribute.
+ * @see #getStatus()
+ * @generated
+ */
+ void setStatus(String value);
+
+} // DistributionManagement
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DocumentRoot.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DocumentRoot.java
new file mode 100644
index 00000000..f7cb524d
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/DocumentRoot.java
@@ -0,0 +1,134 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Document Root</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DocumentRoot#getMixed <em>Mixed</em>}
+ * </li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DocumentRoot#getXMLNSPrefixMap <em>
+ * XMLNS Prefix Map</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DocumentRoot#getXSISchemaLocation
+ * <em>XSI Schema Location</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.DocumentRoot#getProject <em>Project
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDocumentRoot()
+ * @model extendedMetaData="name='' kind='mixed'"
+ * @generated
+ */
+public interface DocumentRoot extends EObject {
+ /**
+ * Returns the value of the '<em><b>Mixed</b></em>' attribute list. The list
+ * contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mixed</em>' attribute list isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Mixed</em>' attribute list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDocumentRoot_Mixed()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry"
+ * many="true"
+ * extendedMetaData="kind='elementWildcard' name=':mixed'"
+ * @generated
+ */
+ FeatureMap getMixed();
+
+ /**
+ * Returns the value of the '<em><b>XMLNS Prefix Map</b></em>' map. The key
+ * is of type {@link java.lang.String}, and the value is of type
+ * {@link java.lang.String}, <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XMLNS Prefix Map</em>' map isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>XMLNS Prefix Map</em>' map.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDocumentRoot_XMLNSPrefixMap()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString>"
+ * transient="true"
+ * extendedMetaData="kind='attribute' name='xmlns:prefix'"
+ * @generated
+ */
+ EMap<String, String> getXMLNSPrefixMap();
+
+ /**
+ * Returns the value of the '<em><b>XSI Schema Location</b></em>' map. The
+ * key is of type {@link java.lang.String}, and the value is of type
+ * {@link java.lang.String}, <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XSI Schema Location</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>XSI Schema Location</em>' map.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDocumentRoot_XSISchemaLocation()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString>"
+ * transient="true"
+ * extendedMetaData="kind='attribute' name='xsi:schemaLocation'"
+ * @generated
+ */
+ EMap<String, String> getXSISchemaLocation();
+
+ /**
+ * Returns the value of the '<em><b>Project</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 3.0.0+
+ *
+ * The &lt;code&gt;&amp;lt;project&amp;gt;&lt;/code&gt; element is the root
+ * of the descriptor. The following table lists all of the possible child
+ * elements.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Project</em>' containment reference.
+ * @see #setProject(Model)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getDocumentRoot_Project()
+ * @model containment="true" upper="-2" transient="true" volatile="true"
+ * derived="true" extendedMetaData=
+ * "kind='element' name='project' namespace='##targetNamespace'"
+ * @generated
+ */
+ Model getProject();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.DocumentRoot#getProject
+ * <em>Project</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Project</em>' containment reference.
+ * @see #getProject()
+ * @generated
+ */
+ void setProject(Model value);
+
+} // DocumentRoot
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Exclusion.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Exclusion.java
new file mode 100644
index 00000000..90ee1feb
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Exclusion.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Exclusion</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Exclusion#getArtifactId <em>Artifact
+ * Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Exclusion#getGroupId <em>Group Id
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getExclusion()
+ * @model extendedMetaData="name='Exclusion' kind='elementOnly'"
+ * @generated
+ */
+public interface Exclusion extends EObject {
+ /**
+ * Returns the value of the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The artifact ID of the project to exclude. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Artifact Id</em>' attribute.
+ * @see #setArtifactId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getExclusion_ArtifactId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='artifactId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArtifactId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Exclusion#getArtifactId
+ * <em>Artifact Id</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Artifact Id</em>' attribute.
+ * @see #getArtifactId()
+ * @generated
+ */
+ void setArtifactId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The group ID of the project to exclude. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Group Id</em>' attribute.
+ * @see #setGroupId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getExclusion_GroupId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='groupId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getGroupId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Exclusion#getGroupId
+ * <em>Group Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Group Id</em>' attribute.
+ * @see #getGroupId()
+ * @generated
+ */
+ void setGroupId(String value);
+
+} // Exclusion
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Extension.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Extension.java
new file mode 100644
index 00000000..aaca9e41
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Extension.java
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Extension</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 Describes a build extension to utilise. <!--
+ * end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Extension#getGroupId <em>Group Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Extension#getArtifactId <em>Artifact
+ * Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Extension#getVersion <em>Version
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getExtension()
+ * @model extendedMetaData="name='Extension' kind='elementOnly'"
+ * @generated
+ */
+public interface Extension extends EObject {
+ /**
+ * Returns the value of the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The group ID of the extension's artifact. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Group Id</em>' attribute.
+ * @see #setGroupId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getExtension_GroupId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='groupId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getGroupId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Extension#getGroupId
+ * <em>Group Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Group Id</em>' attribute.
+ * @see #getGroupId()
+ * @generated
+ */
+ void setGroupId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The artifact ID of the extension. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Artifact Id</em>' attribute.
+ * @see #setArtifactId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getExtension_ArtifactId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='artifactId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArtifactId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Extension#getArtifactId
+ * <em>Artifact Id</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Artifact Id</em>' attribute.
+ * @see #getArtifactId()
+ * @generated
+ */
+ void setArtifactId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The version of the extension. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getExtension_Version()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='version' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Extension#getVersion
+ * <em>Version</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+} // Extension
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/IssueManagement.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/IssueManagement.java
new file mode 100644
index 00000000..ed7485eb
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/IssueManagement.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Issue Management</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * Information about the issue tracking (or bug tracking) system used to manage
+ * this project.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.IssueManagement#getSystem <em>System
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.IssueManagement#getUrl <em>Url</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getIssueManagement()
+ * @model extendedMetaData="name='IssueManagement' kind='elementOnly'"
+ * @generated
+ */
+public interface IssueManagement extends EObject {
+ /**
+ * Returns the value of the '<em><b>System</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The name of the issue management system, e.g. Bugzilla <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>System</em>' attribute.
+ * @see #setSystem(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getIssueManagement_System()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='system' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getSystem();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.IssueManagement#getSystem
+ * <em>System</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>System</em>' attribute.
+ * @see #getSystem()
+ * @generated
+ */
+ void setSystem(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * URL for the issue management system used by the project. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getIssueManagement_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.IssueManagement#getUrl <em>Url</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+} // IssueManagement
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/License.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/License.java
new file mode 100644
index 00000000..4dad70d0
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/License.java
@@ -0,0 +1,161 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>License</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+
+ *
+ * Describes the licenses for this project. This is used to generate the license
+ * page of the project's web site, as well as being taken into consideration in
+ * other reporting and validation. The licenses listed for the project are that
+ * of the project itself, and not of dependencies.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.License#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.License#getUrl <em>Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.License#getDistribution <em>
+ * Distribution</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.License#getComments <em>Comments
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getLicense()
+ * @model extendedMetaData="name='License' kind='elementOnly'"
+ * @generated
+ */
+public interface License extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The full legal name of the license. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getLicense_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.License#getName <em>Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The official url for the license text. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getLicense_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.License#getUrl <em>Url</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Distribution</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The primary method by which this project may be distributed. &lt;dl&gt;
+ * &lt;dt&gt;repo&lt;/dt&gt; &lt;dd&gt;may be downloaded from the Maven
+ * repository&lt;/dd&gt; &lt;dt&gt;manual&lt;/dt&gt; &lt;dd&gt;user must
+ * manually download and install the dependency.&lt;/dd&gt; &lt;/dl&gt;
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Distribution</em>' attribute.
+ * @see #setDistribution(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getLicense_Distribution()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='distribution' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getDistribution();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.License#getDistribution
+ * <em>Distribution</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Distribution</em>' attribute.
+ * @see #getDistribution()
+ * @generated
+ */
+ void setDistribution(String value);
+
+ /**
+ * Returns the value of the '<em><b>Comments</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * Addendum information pertaining to this license.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Comments</em>' attribute.
+ * @see #setComments(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getLicense_Comments()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='comments' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getComments();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.License#getComments
+ * <em>Comments</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Comments</em>' attribute.
+ * @see #getComments()
+ * @generated
+ */
+ void setComments(String value);
+
+} // License
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/MailingList.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/MailingList.java
new file mode 100644
index 00000000..11913cd9
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/MailingList.java
@@ -0,0 +1,246 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Mailing List</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+
+ *
+ * This element describes all of the mailing lists associated with a project.
+ * The auto-generated site references this information.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.MailingList#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.MailingList#getSubscribe <em>
+ * Subscribe</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.MailingList#getUnsubscribe <em>
+ * Unsubscribe</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.MailingList#getPost <em>Post</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.MailingList#getArchive <em>Archive
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.MailingList#getOtherArchives <em>
+ * Other Archives</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getMailingList()
+ * @model extendedMetaData="name='MailingList' kind='elementOnly'"
+ * @generated
+ */
+public interface MailingList extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The name of the mailing list. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getMailingList_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList#getName <em>Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Subscribe</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The email address or link that can be used to subscribe to the mailing
+ * list. If this is an email address, a &lt;code&gt;mailto:&lt;/code&gt;
+ * link will automatically be created when the documentation is created.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Subscribe</em>' attribute.
+ * @see #setSubscribe(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getMailingList_Subscribe()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='subscribe' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getSubscribe();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList#getSubscribe
+ * <em>Subscribe</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Subscribe</em>' attribute.
+ * @see #getSubscribe()
+ * @generated
+ */
+ void setSubscribe(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unsubscribe</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The email address or link that can be used to unsubscribe to the mailing
+ * list. If this is an email address, a &lt;code&gt;mailto:&lt;/code&gt;
+ * link will automatically be created when the documentation is created.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Unsubscribe</em>' attribute.
+ * @see #setUnsubscribe(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getMailingList_Unsubscribe()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='unsubscribe' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUnsubscribe();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList#getUnsubscribe
+ * <em>Unsubscribe</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Unsubscribe</em>' attribute.
+ * @see #getUnsubscribe()
+ * @generated
+ */
+ void setUnsubscribe(String value);
+
+ /**
+ * Returns the value of the '<em><b>Post</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The email address or link that can be used to post to the mailing list.
+ * If this is an email address, a &lt;code&gt;mailto:&lt;/code&gt; link will
+ * automatically be created when the documentation is created.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Post</em>' attribute.
+ * @see #setPost(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getMailingList_Post()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='post' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getPost();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList#getPost <em>Post</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Post</em>' attribute.
+ * @see #getPost()
+ * @generated
+ */
+ void setPost(String value);
+
+ /**
+ * Returns the value of the '<em><b>Archive</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The link to a URL where you can browse the mailing list archive.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Archive</em>' attribute.
+ * @see #setArchive(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getMailingList_Archive()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='archive' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArchive();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList#getArchive
+ * <em>Archive</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Archive</em>' attribute.
+ * @see #getArchive()
+ * @generated
+ */
+ void setArchive(String value);
+
+ /**
+ * Returns the value of the '<em><b>Other Archives</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Other Archives</em>' attribute list isn't
+ * clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Other Archives</em>' attribute list.
+ * @see #isSetOtherArchives()
+ * @see #unsetOtherArchives()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getMailingList_OtherArchives()
+ * @model unique="false" unsettable="true"
+ * @generated
+ */
+ EList<String> getOtherArchives();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList#getOtherArchives
+ * <em>Other Archives</em>}' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetOtherArchives()
+ * @see #getOtherArchives()
+ * @generated
+ */
+ void unsetOtherArchives();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList#getOtherArchives
+ * <em>Other Archives</em>}' attribute list is set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Other Archives</em>' attribute list
+ * is set.
+ * @see #unsetOtherArchives()
+ * @see #getOtherArchives()
+ * @generated
+ */
+ boolean isSetOtherArchives();
+
+} // MailingList
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Model.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Model.java
new file mode 100644
index 00000000..98edd91d
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Model.java
@@ -0,0 +1,1448 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Model</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+
+ *
+ * The &lt;code&gt;&amp;lt;project&amp;gt;&lt;/code&gt; element is the root of
+ * the descriptor. The following table lists all of the possible child elements.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getParent <em>Parent</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getModelVersion <em>Model
+ * Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getGroupId <em>Group Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getArtifactId <em>Artifact Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getPackaging <em>Packaging
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getVersion <em>Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getDescription <em>Description
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getUrl <em>Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getPrerequisites <em>
+ * Prerequisites</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getIssueManagement <em>Issue
+ * Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getCiManagement <em>Ci
+ * Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getInceptionYear <em>Inception
+ * Year</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getMailingLists <em>Mailing
+ * Lists</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getDevelopers <em>Developers
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getContributors <em>
+ * Contributors</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getLicenses <em>Licenses</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getScm <em>Scm</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getOrganization <em>
+ * Organization</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getBuild <em>Build</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getProfiles <em>Profiles</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getRepositories <em>
+ * Repositories</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getPluginRepositories <em>
+ * Plugin Repositories</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getDependencies <em>
+ * Dependencies</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getReporting <em>Reporting
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getDependencyManagement <em>
+ * Dependency Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getDistributionManagement <em>
+ * Distribution Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getProperties <em>Properties
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Model#getModules <em>Modules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel()
+ * @model extendedMetaData="name='Model' kind='elementOnly'"
+ * @generated
+ */
+public interface Model extends EObject {
+ /**
+ * Returns the value of the '<em><b>Parent</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 4.0.0
+ *
+ * The location of the parent project, if one exists. Values from the parent
+ * project will be the default for this project if they are left
+ * unspecified. The location is given as a group ID, artifact ID and
+ * version.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Parent</em>' containment reference.
+ * @see #isSetParent()
+ * @see #unsetParent()
+ * @see #setParent(Parent)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Parent()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='parent' namespace='##targetNamespace'"
+ * @generated
+ */
+ Parent getParent();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getParent <em>Parent</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Parent</em>' containment reference.
+ * @see #isSetParent()
+ * @see #unsetParent()
+ * @see #getParent()
+ * @generated
+ */
+ void setParent(Parent value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getParent <em>Parent</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetParent()
+ * @see #getParent()
+ * @see #setParent(Parent)
+ * @generated
+ */
+ void unsetParent();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getParent <em>Parent</em>}'
+ * containment reference is set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return whether the value of the '<em>Parent</em>' containment reference
+ * is set.
+ * @see #unsetParent()
+ * @see #getParent()
+ * @see #setParent(Parent)
+ * @generated
+ */
+ boolean isSetParent();
+
+ /**
+ * Returns the value of the '<em><b>Model Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * Declares to which version of project descriptor this POM conforms. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Model Version</em>' attribute.
+ * @see #setModelVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_ModelVersion()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='modelVersion' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getModelVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getModelVersion
+ * <em>Model Version</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Model Version</em>' attribute.
+ * @see #getModelVersion()
+ * @generated
+ */
+ void setModelVersion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * A universally unique identifier for a project. It is normal to use a
+ * fully-qualified package name to distinguish it from other projects with a
+ * similar name (eg. &lt;code&gt;org.apache.maven&lt;/code&gt;).
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Group Id</em>' attribute.
+ * @see #setGroupId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_GroupId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='groupId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getGroupId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getGroupId <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Group Id</em>' attribute.
+ * @see #getGroupId()
+ * @generated
+ */
+ void setGroupId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The identifier for this artifact that is unique within the group given by
+ * the group ID. An artifact is something that is either produced or used by
+ * a project. Examples of artifacts produced by Maven for a project include:
+ * JARs, source and binary distributions, and WARs.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Artifact Id</em>' attribute.
+ * @see #setArtifactId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_ArtifactId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='artifactId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArtifactId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getArtifactId
+ * <em>Artifact Id</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Artifact Id</em>' attribute.
+ * @see #getArtifactId()
+ * @generated
+ */
+ void setArtifactId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Packaging</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The type of artifact this project produces, for example
+ * &lt;code&gt;jar&lt;/code&gt; &lt;code&gt;war&lt;/code&gt;
+ * &lt;code&gt;ear&lt;/code&gt; &lt;code&gt;pom&lt;/code&gt;. Plugins can
+ * create their own packaging, and therefore their own packaging types, so
+ * this list does not contain all possible types.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Packaging</em>' attribute.
+ * @see #isSetPackaging()
+ * @see #unsetPackaging()
+ * @see #setPackaging(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Packaging()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='packaging' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getPackaging();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getPackaging
+ * <em>Packaging</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Packaging</em>' attribute.
+ * @see #isSetPackaging()
+ * @see #unsetPackaging()
+ * @see #getPackaging()
+ * @generated
+ */
+ void setPackaging(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getPackaging
+ * <em>Packaging</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #isSetPackaging()
+ * @see #getPackaging()
+ * @see #setPackaging(String)
+ * @generated
+ */
+ void unsetPackaging();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getPackaging
+ * <em>Packaging</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Packaging</em>' attribute is set.
+ * @see #unsetPackaging()
+ * @see #getPackaging()
+ * @see #setPackaging(String)
+ * @generated
+ */
+ boolean isSetPackaging();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The full name of the project.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.m2e.model.edit.pom.Model#getName
+ * <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The current version of the artifact produced by this project.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Version()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='version' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getVersion <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * A detailed description of the project, used by Maven whenever it needs to
+ * describe the project, such as on the web site. While this element can be
+ * specified as CDATA to enable the use of HTML tags within the description,
+ * it is discouraged to allow plain text representation. If you need to
+ * modify the index page of the generated web site, you are able to specify
+ * your own instead of adjusting this text.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Description()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='description' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDescription
+ * <em>Description</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The URL to the project's homepage.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.m2e.model.edit.pom.Model#getUrl
+ * <em>Url</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Prerequisites</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * Describes the prerequisites in the build environment for this project.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Prerequisites</em>' containment reference.
+ * @see #isSetPrerequisites()
+ * @see #unsetPrerequisites()
+ * @see #setPrerequisites(Prerequisites)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Prerequisites()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='prerequisites' namespace='##targetNamespace'"
+ * @generated
+ */
+ Prerequisites getPrerequisites();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getPrerequisites
+ * <em>Prerequisites</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Prerequisites</em>' containment
+ * reference.
+ * @see #isSetPrerequisites()
+ * @see #unsetPrerequisites()
+ * @see #getPrerequisites()
+ * @generated
+ */
+ void setPrerequisites(Prerequisites value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getPrerequisites
+ * <em>Prerequisites</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetPrerequisites()
+ * @see #getPrerequisites()
+ * @see #setPrerequisites(Prerequisites)
+ * @generated
+ */
+ void unsetPrerequisites();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getPrerequisites
+ * <em>Prerequisites</em>}' containment reference is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Prerequisites</em>' containment
+ * reference is set.
+ * @see #unsetPrerequisites()
+ * @see #getPrerequisites()
+ * @see #setPrerequisites(Prerequisites)
+ * @generated
+ */
+ boolean isSetPrerequisites();
+
+ /**
+ * Returns the value of the '<em><b>Issue Management</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0 The project's issue management system
+ * information. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Issue Management</em>' containment
+ * reference.
+ * @see #isSetIssueManagement()
+ * @see #unsetIssueManagement()
+ * @see #setIssueManagement(IssueManagement)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_IssueManagement()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='issueManagement' namespace='##targetNamespace'"
+ * @generated
+ */
+ IssueManagement getIssueManagement();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getIssueManagement
+ * <em>Issue Management</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Issue Management</em>' containment
+ * reference.
+ * @see #isSetIssueManagement()
+ * @see #unsetIssueManagement()
+ * @see #getIssueManagement()
+ * @generated
+ */
+ void setIssueManagement(IssueManagement value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getIssueManagement
+ * <em>Issue Management</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetIssueManagement()
+ * @see #getIssueManagement()
+ * @see #setIssueManagement(IssueManagement)
+ * @generated
+ */
+ void unsetIssueManagement();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getIssueManagement
+ * <em>Issue Management</em>}' containment reference is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Issue Management</em>' containment
+ * reference is set.
+ * @see #unsetIssueManagement()
+ * @see #getIssueManagement()
+ * @see #setIssueManagement(IssueManagement)
+ * @generated
+ */
+ boolean isSetIssueManagement();
+
+ /**
+ * Returns the value of the '<em><b>Ci Management</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0 The project's continuous integration
+ * information. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Ci Management</em>' containment reference.
+ * @see #isSetCiManagement()
+ * @see #unsetCiManagement()
+ * @see #setCiManagement(CiManagement)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_CiManagement()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='ciManagement' namespace='##targetNamespace'"
+ * @generated
+ */
+ CiManagement getCiManagement();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getCiManagement
+ * <em>Ci Management</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Ci Management</em>' containment
+ * reference.
+ * @see #isSetCiManagement()
+ * @see #unsetCiManagement()
+ * @see #getCiManagement()
+ * @generated
+ */
+ void setCiManagement(CiManagement value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getCiManagement
+ * <em>Ci Management</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetCiManagement()
+ * @see #getCiManagement()
+ * @see #setCiManagement(CiManagement)
+ * @generated
+ */
+ void unsetCiManagement();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getCiManagement
+ * <em>Ci Management</em>}' containment reference is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Ci Management</em>' containment
+ * reference is set.
+ * @see #unsetCiManagement()
+ * @see #getCiManagement()
+ * @see #setCiManagement(CiManagement)
+ * @generated
+ */
+ boolean isSetCiManagement();
+
+ /**
+ * Returns the value of the '<em><b>Inception Year</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * The year of the project's inception, specified with 4 digits. This value
+ * is used when generating copyright notices as well as being informational.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Inception Year</em>' attribute.
+ * @see #setInceptionYear(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_InceptionYear()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='inceptionYear' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getInceptionYear();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getInceptionYear
+ * <em>Inception Year</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Inception Year</em>' attribute.
+ * @see #getInceptionYear()
+ * @generated
+ */
+ void setInceptionYear(String value);
+
+ /**
+ * Returns the value of the '<em><b>Mailing Lists</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * Contains information about a project's mailing lists.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Mailing Lists</em>' containment reference
+ * list.
+ * @see #isSetMailingLists()
+ * @see #unsetMailingLists()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_MailingLists()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='mailingLists' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<MailingList> getMailingLists();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getMailingLists
+ * <em>Mailing Lists</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetMailingLists()
+ * @see #getMailingLists()
+ * @generated
+ */
+ void unsetMailingLists();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getMailingLists
+ * <em>Mailing Lists</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Mailing Lists</em>' containment
+ * reference list is set.
+ * @see #unsetMailingLists()
+ * @see #getMailingLists()
+ * @generated
+ */
+ boolean isSetMailingLists();
+
+ /**
+ * Returns the value of the '<em><b>Developers</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Developer}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * Describes the committers of a project.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Developers</em>' containment reference
+ * list.
+ * @see #isSetDevelopers()
+ * @see #unsetDevelopers()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Developers()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='developers' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Developer> getDevelopers();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDevelopers
+ * <em>Developers</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetDevelopers()
+ * @see #getDevelopers()
+ * @generated
+ */
+ void unsetDevelopers();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDevelopers
+ * <em>Developers</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Developers</em>' containment
+ * reference list is set.
+ * @see #unsetDevelopers()
+ * @see #getDevelopers()
+ * @generated
+ */
+ boolean isSetDevelopers();
+
+ /**
+ * Returns the value of the '<em><b>Contributors</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * Describes the contributors to a project that are not yet committers.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Contributors</em>' containment reference
+ * list.
+ * @see #isSetContributors()
+ * @see #unsetContributors()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Contributors()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='contributors' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Contributor> getContributors();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getContributors
+ * <em>Contributors</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetContributors()
+ * @see #getContributors()
+ * @generated
+ */
+ void unsetContributors();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getContributors
+ * <em>Contributors</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Contributors</em>' containment
+ * reference list is set.
+ * @see #unsetContributors()
+ * @see #getContributors()
+ * @generated
+ */
+ boolean isSetContributors();
+
+ /**
+ * Returns the value of the '<em><b>Licenses</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.License}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * This element describes all of the licenses for this project. Each license
+ * is described by a &lt;code&gt;license&lt;/code&gt; element, which is then
+ * described by additional elements. Projects should only list the
+ * license(s) that applies to the project and not the licenses that apply to
+ * dependencies. If multiple licenses are listed, it is assumed that the
+ * user can select any of them, not that they must accept all.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Licenses</em>' containment reference list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Licenses()
+ * @model containment="true" extendedMetaData=
+ * "kind='element' name='licenses' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<License> getLicenses();
+
+ /**
+ * Returns the value of the '<em><b>Scm</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 4.0.0
+ *
+ * Specification for the SCM used by the project, such as CVS, Subversion,
+ * etc. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Scm</em>' containment reference.
+ * @see #isSetScm()
+ * @see #unsetScm()
+ * @see #setScm(Scm)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Scm()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='scm' namespace='##targetNamespace'"
+ * @generated
+ */
+ Scm getScm();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.m2e.model.edit.pom.Model#getScm
+ * <em>Scm</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Scm</em>' containment reference.
+ * @see #isSetScm()
+ * @see #unsetScm()
+ * @see #getScm()
+ * @generated
+ */
+ void setScm(Scm value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getScm <em>Scm</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetScm()
+ * @see #getScm()
+ * @see #setScm(Scm)
+ * @generated
+ */
+ void unsetScm();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getScm <em>Scm</em>}'
+ * containment reference is set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return whether the value of the '<em>Scm</em>' containment reference is
+ * set.
+ * @see #unsetScm()
+ * @see #getScm()
+ * @see #setScm(Scm)
+ * @generated
+ */
+ boolean isSetScm();
+
+ /**
+ * Returns the value of the '<em><b>Organization</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 3.0.0+
+ *
+ * This element describes various attributes of the organization to which
+ * the project belongs. These attributes are utilized when documentation is
+ * created (for copyright notices and links).
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Organization</em>' containment reference.
+ * @see #isSetOrganization()
+ * @see #unsetOrganization()
+ * @see #setOrganization(Organization)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Organization()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='organization' namespace='##targetNamespace'"
+ * @generated
+ */
+ Organization getOrganization();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getOrganization
+ * <em>Organization</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Organization</em>' containment
+ * reference.
+ * @see #isSetOrganization()
+ * @see #unsetOrganization()
+ * @see #getOrganization()
+ * @generated
+ */
+ void setOrganization(Organization value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getOrganization
+ * <em>Organization</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetOrganization()
+ * @see #getOrganization()
+ * @see #setOrganization(Organization)
+ * @generated
+ */
+ void unsetOrganization();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getOrganization
+ * <em>Organization</em>}' containment reference is set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Organization</em>' containment
+ * reference is set.
+ * @see #unsetOrganization()
+ * @see #getOrganization()
+ * @see #setOrganization(Organization)
+ * @generated
+ */
+ boolean isSetOrganization();
+
+ /**
+ * Returns the value of the '<em><b>Build</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 3.0.0+ Information required to build the project. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Build</em>' containment reference.
+ * @see #isSetBuild()
+ * @see #unsetBuild()
+ * @see #setBuild(Build)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Build()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='build' namespace='##targetNamespace'"
+ * @generated
+ */
+ Build getBuild();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getBuild <em>Build</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Build</em>' containment reference.
+ * @see #isSetBuild()
+ * @see #unsetBuild()
+ * @see #getBuild()
+ * @generated
+ */
+ void setBuild(Build value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getBuild <em>Build</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetBuild()
+ * @see #getBuild()
+ * @see #setBuild(Build)
+ * @generated
+ */
+ void unsetBuild();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getBuild <em>Build</em>}'
+ * containment reference is set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return whether the value of the '<em>Build</em>' containment reference
+ * is set.
+ * @see #unsetBuild()
+ * @see #getBuild()
+ * @see #setBuild(Build)
+ * @generated
+ */
+ boolean isSetBuild();
+
+ /**
+ * Returns the value of the '<em><b>Profiles</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Profile}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * A listing of project-local build profiles which will modify the build
+ * process when activated.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Profiles</em>' containment reference list.
+ * @see #isSetProfiles()
+ * @see #unsetProfiles()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Profiles()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='profiles' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Profile> getProfiles();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getProfiles <em>Profiles</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetProfiles()
+ * @see #getProfiles()
+ * @generated
+ */
+ void unsetProfiles();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getProfiles <em>Profiles</em>}'
+ * containment reference list is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Profiles</em>' containment
+ * reference list is set.
+ * @see #unsetProfiles()
+ * @see #getProfiles()
+ * @generated
+ */
+ boolean isSetProfiles();
+
+ /**
+ * Returns the value of the '<em><b>Repositories</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Repository}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0 The lists of the
+ * remote repositories for discovering dependencies and extensions. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Repositories</em>' containment reference
+ * list.
+ * @see #isSetRepositories()
+ * @see #unsetRepositories()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Repositories()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='repositories' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Repository> getRepositories();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getRepositories
+ * <em>Repositories</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetRepositories()
+ * @see #getRepositories()
+ * @generated
+ */
+ void unsetRepositories();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getRepositories
+ * <em>Repositories</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Repositories</em>' containment
+ * reference list is set.
+ * @see #unsetRepositories()
+ * @see #getRepositories()
+ * @generated
+ */
+ boolean isSetRepositories();
+
+ /**
+ * Returns the value of the '<em><b>Plugin Repositories</b></em>'
+ * containment reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Repository}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The lists of the remote repositories for discovering plugins for builds
+ * and reports. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Plugin Repositories</em>' containment
+ * reference list.
+ * @see #isSetPluginRepositories()
+ * @see #unsetPluginRepositories()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_PluginRepositories()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='pluginRepositories' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Repository> getPluginRepositories();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getPluginRepositories
+ * <em>Plugin Repositories</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetPluginRepositories()
+ * @see #getPluginRepositories()
+ * @generated
+ */
+ void unsetPluginRepositories();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getPluginRepositories
+ * <em>Plugin Repositories</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Plugin Repositories</em>'
+ * containment reference list is set.
+ * @see #unsetPluginRepositories()
+ * @see #getPluginRepositories()
+ * @generated
+ */
+ boolean isSetPluginRepositories();
+
+ /**
+ * Returns the value of the '<em><b>Dependencies</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * This element describes all of the dependencies associated with a project.
+ * These dependencies are used to construct a classpath for your project
+ * during the build process. They are automatically downloaded from the
+ * repositories defined in this project. See &lt;a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"
+ * &gt;the dependency mechanism&lt;/a&gt; for more information.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Dependencies</em>' containment reference
+ * list.
+ * @see #isSetDependencies()
+ * @see #unsetDependencies()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Dependencies()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='dependencies' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Dependency> getDependencies();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDependencies
+ * <em>Dependencies</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetDependencies()
+ * @see #getDependencies()
+ * @generated
+ */
+ void unsetDependencies();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDependencies
+ * <em>Dependencies</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Dependencies</em>' containment
+ * reference list is set.
+ * @see #unsetDependencies()
+ * @see #getDependencies()
+ * @generated
+ */
+ boolean isSetDependencies();
+
+ /**
+ * Returns the value of the '<em><b>Reporting</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * This element includes the specification of report plugins to use to
+ * generate the reports on the Maven-generated site. These reports will be
+ * run when a user executes &lt;code&gt;mvn site&lt;/code&gt;. All of the
+ * reports will be included in the navigation bar for browsing.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Reporting</em>' containment reference.
+ * @see #isSetReporting()
+ * @see #unsetReporting()
+ * @see #setReporting(Reporting)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Reporting()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='reporting' namespace='##targetNamespace'"
+ * @generated
+ */
+ Reporting getReporting();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getReporting
+ * <em>Reporting</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Reporting</em>' containment
+ * reference.
+ * @see #isSetReporting()
+ * @see #unsetReporting()
+ * @see #getReporting()
+ * @generated
+ */
+ void setReporting(Reporting value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getReporting
+ * <em>Reporting</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetReporting()
+ * @see #getReporting()
+ * @see #setReporting(Reporting)
+ * @generated
+ */
+ void unsetReporting();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getReporting
+ * <em>Reporting</em>}' containment reference is set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Reporting</em>' containment
+ * reference is set.
+ * @see #unsetReporting()
+ * @see #getReporting()
+ * @see #setReporting(Reporting)
+ * @generated
+ */
+ boolean isSetReporting();
+
+ /**
+ * Returns the value of the '<em><b>Dependency Management</b></em>'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * Default dependency information for projects that inherit from this one.
+ * The dependencies in this section are not immediately resolved. Instead,
+ * when a POM derived from this one declares a dependency described by a
+ * matching groupId and artifactId, the version and other values from this
+ * section are used for that dependency if they were not already specified.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Dependency Management</em>' containment
+ * reference.
+ * @see #isSetDependencyManagement()
+ * @see #unsetDependencyManagement()
+ * @see #setDependencyManagement(DependencyManagement)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_DependencyManagement()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='dependencyManagement' namespace='##targetNamespace'"
+ * @generated
+ */
+ DependencyManagement getDependencyManagement();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDependencyManagement
+ * <em>Dependency Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Dependency Management</em>'
+ * containment reference.
+ * @see #isSetDependencyManagement()
+ * @see #unsetDependencyManagement()
+ * @see #getDependencyManagement()
+ * @generated
+ */
+ void setDependencyManagement(DependencyManagement value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDependencyManagement
+ * <em>Dependency Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetDependencyManagement()
+ * @see #getDependencyManagement()
+ * @see #setDependencyManagement(DependencyManagement)
+ * @generated
+ */
+ void unsetDependencyManagement();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDependencyManagement
+ * <em>Dependency Management</em>}' containment reference is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Dependency Management</em>'
+ * containment reference is set.
+ * @see #unsetDependencyManagement()
+ * @see #getDependencyManagement()
+ * @see #setDependencyManagement(DependencyManagement)
+ * @generated
+ */
+ boolean isSetDependencyManagement();
+
+ /**
+ * Returns the value of the '<em><b>Distribution Management</b></em>'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0 Distribution information for a project that
+ * enables deployment of the site and artifacts to remote web servers and
+ * repositories respectively. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Distribution Management</em>' containment
+ * reference.
+ * @see #isSetDistributionManagement()
+ * @see #unsetDistributionManagement()
+ * @see #setDistributionManagement(DistributionManagement)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_DistributionManagement()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='distributionManagement' namespace='##targetNamespace'"
+ * @generated
+ */
+ DistributionManagement getDistributionManagement();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDistributionManagement
+ * <em>Distribution Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Distribution Management</em>'
+ * containment reference.
+ * @see #isSetDistributionManagement()
+ * @see #unsetDistributionManagement()
+ * @see #getDistributionManagement()
+ * @generated
+ */
+ void setDistributionManagement(DistributionManagement value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDistributionManagement
+ * <em>Distribution Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetDistributionManagement()
+ * @see #getDistributionManagement()
+ * @see #setDistributionManagement(DistributionManagement)
+ * @generated
+ */
+ void unsetDistributionManagement();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getDistributionManagement
+ * <em>Distribution Management</em>}' containment reference is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Distribution Management</em>'
+ * containment reference is set.
+ * @see #unsetDistributionManagement()
+ * @see #getDistributionManagement()
+ * @see #setDistributionManagement(DistributionManagement)
+ * @generated
+ */
+ boolean isSetDistributionManagement();
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement}. <!-- begin-user-doc
+ * --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Properties that can be used throughout the POM as a substitution, and are
+ * used as filters in resources if enabled. The format is
+ * &lt;code&gt;&amp;lt;name&amp;gt;value&amp;lt;/name&amp;gt;&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Properties</em>' containment reference
+ * list.
+ * @see #isSetProperties()
+ * @see #unsetProperties()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Properties()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='properties' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<PropertyElement> getProperties();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getProperties
+ * <em>Properties</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetProperties()
+ * @see #getProperties()
+ * @generated
+ */
+ void unsetProperties();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getProperties
+ * <em>Properties</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Properties</em>' containment
+ * reference list is set.
+ * @see #unsetProperties()
+ * @see #getProperties()
+ * @generated
+ */
+ boolean isSetProperties();
+
+ /**
+ * Returns the value of the '<em><b>Modules</b></em>' attribute list. The
+ * list contents are of type {@link java.lang.String}. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Modules</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Modules</em>' attribute list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getModel_Modules()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getModules();
+
+} // Model
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Notifier.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Notifier.java
new file mode 100644
index 00000000..509365ac
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Notifier.java
@@ -0,0 +1,429 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Notifier</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * Configures one method for notifying users/developers when a build breaks.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Notifier#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnError <em>Send On
+ * Error</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnFailure <em>Send On
+ * Failure</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnSuccess <em>Send On
+ * Success</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnWarning <em>Send On
+ * Warning</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Notifier#getAddress <em>Address</em>}
+ * </li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Notifier#getConfiguration <em>
+ * Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getNotifier()
+ * @model extendedMetaData="name='Notifier' kind='elementOnly'"
+ * @generated
+ */
+public interface Notifier extends EObject {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The mechanism used to deliver notifications. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #isSetType()
+ * @see #unsetType()
+ * @see #setType(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getNotifier_Type()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='type' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getType <em>Type</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type</em>' attribute.
+ * @see #isSetType()
+ * @see #unsetType()
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getType <em>Type</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetType()
+ * @see #getType()
+ * @see #setType(String)
+ * @generated
+ */
+ void unsetType();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getType <em>Type</em>}'
+ * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Type</em>' attribute is set.
+ * @see #unsetType()
+ * @see #getType()
+ * @see #setType(String)
+ * @generated
+ */
+ boolean isSetType();
+
+ /**
+ * Returns the value of the '<em><b>Send On Error</b></em>' attribute. The
+ * default value is <code>"true"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0 Whether to send
+ * notifications on error. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Send On Error</em>' attribute.
+ * @see #isSetSendOnError()
+ * @see #unsetSendOnError()
+ * @see #setSendOnError(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getNotifier_SendOnError()
+ * @model default="true" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='sendOnError' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getSendOnError();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnError
+ * <em>Send On Error</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Send On Error</em>' attribute.
+ * @see #isSetSendOnError()
+ * @see #unsetSendOnError()
+ * @see #getSendOnError()
+ * @generated
+ */
+ void setSendOnError(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnError
+ * <em>Send On Error</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetSendOnError()
+ * @see #getSendOnError()
+ * @see #setSendOnError(String)
+ * @generated
+ */
+ void unsetSendOnError();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnError
+ * <em>Send On Error</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Send On Error</em>' attribute is
+ * set.
+ * @see #unsetSendOnError()
+ * @see #getSendOnError()
+ * @see #setSendOnError(String)
+ * @generated
+ */
+ boolean isSetSendOnError();
+
+ /**
+ * Returns the value of the '<em><b>Send On Failure</b></em>' attribute. The
+ * default value is <code>"true"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0 Whether to send
+ * notifications on failure. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Send On Failure</em>' attribute.
+ * @see #isSetSendOnFailure()
+ * @see #unsetSendOnFailure()
+ * @see #setSendOnFailure(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getNotifier_SendOnFailure()
+ * @model default="true" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='sendOnFailure' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getSendOnFailure();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnFailure
+ * <em>Send On Failure</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Send On Failure</em>' attribute.
+ * @see #isSetSendOnFailure()
+ * @see #unsetSendOnFailure()
+ * @see #getSendOnFailure()
+ * @generated
+ */
+ void setSendOnFailure(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnFailure
+ * <em>Send On Failure</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetSendOnFailure()
+ * @see #getSendOnFailure()
+ * @see #setSendOnFailure(String)
+ * @generated
+ */
+ void unsetSendOnFailure();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnFailure
+ * <em>Send On Failure</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Send On Failure</em>' attribute is
+ * set.
+ * @see #unsetSendOnFailure()
+ * @see #getSendOnFailure()
+ * @see #setSendOnFailure(String)
+ * @generated
+ */
+ boolean isSetSendOnFailure();
+
+ /**
+ * Returns the value of the '<em><b>Send On Success</b></em>' attribute. The
+ * default value is <code>"true"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0 Whether to send
+ * notifications on success. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Send On Success</em>' attribute.
+ * @see #isSetSendOnSuccess()
+ * @see #unsetSendOnSuccess()
+ * @see #setSendOnSuccess(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getNotifier_SendOnSuccess()
+ * @model default="true" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='sendOnSuccess' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getSendOnSuccess();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnSuccess
+ * <em>Send On Success</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Send On Success</em>' attribute.
+ * @see #isSetSendOnSuccess()
+ * @see #unsetSendOnSuccess()
+ * @see #getSendOnSuccess()
+ * @generated
+ */
+ void setSendOnSuccess(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnSuccess
+ * <em>Send On Success</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetSendOnSuccess()
+ * @see #getSendOnSuccess()
+ * @see #setSendOnSuccess(String)
+ * @generated
+ */
+ void unsetSendOnSuccess();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnSuccess
+ * <em>Send On Success</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Send On Success</em>' attribute is
+ * set.
+ * @see #unsetSendOnSuccess()
+ * @see #getSendOnSuccess()
+ * @see #setSendOnSuccess(String)
+ * @generated
+ */
+ boolean isSetSendOnSuccess();
+
+ /**
+ * Returns the value of the '<em><b>Send On Warning</b></em>' attribute. The
+ * default value is <code>"true"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0 Whether to send
+ * notifications on warning. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Send On Warning</em>' attribute.
+ * @see #isSetSendOnWarning()
+ * @see #unsetSendOnWarning()
+ * @see #setSendOnWarning(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getNotifier_SendOnWarning()
+ * @model default="true" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='sendOnWarning' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getSendOnWarning();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnWarning
+ * <em>Send On Warning</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Send On Warning</em>' attribute.
+ * @see #isSetSendOnWarning()
+ * @see #unsetSendOnWarning()
+ * @see #getSendOnWarning()
+ * @generated
+ */
+ void setSendOnWarning(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnWarning
+ * <em>Send On Warning</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetSendOnWarning()
+ * @see #getSendOnWarning()
+ * @see #setSendOnWarning(String)
+ * @generated
+ */
+ void unsetSendOnWarning();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnWarning
+ * <em>Send On Warning</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Send On Warning</em>' attribute is
+ * set.
+ * @see #unsetSendOnWarning()
+ * @see #getSendOnWarning()
+ * @see #setSendOnWarning(String)
+ * @generated
+ */
+ boolean isSetSendOnWarning();
+
+ /**
+ * Returns the value of the '<em><b>Address</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * &lt;b&gt;Deprecated&lt;/b&gt;. Where to send the notification to - eg
+ * email address.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Address</em>' attribute.
+ * @see #setAddress(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getNotifier_Address()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='address' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getAddress();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getAddress <em>Address</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Address</em>' attribute.
+ * @see #getAddress()
+ * @generated
+ */
+ void setAddress(String value);
+
+ /**
+ * Returns the value of the '<em><b>Configuration</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement}. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Configuration</em>' containment reference list
+ * isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Configuration</em>' containment reference
+ * list.
+ * @see #isSetConfiguration()
+ * @see #unsetConfiguration()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getNotifier_Configuration()
+ * @model containment="true" unsettable="true"
+ * @generated
+ */
+ EList<PropertyElement> getConfiguration();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getConfiguration
+ * <em>Configuration</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetConfiguration()
+ * @see #getConfiguration()
+ * @generated
+ */
+ void unsetConfiguration();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier#getConfiguration
+ * <em>Configuration</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Configuration</em>' containment
+ * reference list is set.
+ * @see #unsetConfiguration()
+ * @see #getConfiguration()
+ * @generated
+ */
+ boolean isSetConfiguration();
+
+} // Notifier
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Organization.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Organization.java
new file mode 100644
index 00000000..655f39b0
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Organization.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Organization</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+ Specifies the organization that produces this
+ * project. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Organization#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Organization#getUrl <em>Url</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getOrganization()
+ * @model extendedMetaData="name='Organization' kind='elementOnly'"
+ * @generated
+ */
+public interface Organization extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The full name of the organization. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getOrganization_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Organization#getName <em>Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ * The URL to the organization's home page. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getOrganization_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Organization#getUrl <em>Url</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+} // Organization
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Parent.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Parent.java
new file mode 100644
index 00000000..f98f5fe9
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Parent.java
@@ -0,0 +1,160 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Parent</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Parent#getArtifactId <em>Artifact Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Parent#getGroupId <em>Group Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Parent#getVersion <em>Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Parent#getRelativePath <em>Relative
+ * Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getParent()
+ * @model extendedMetaData="name='Parent' kind='elementOnly'"
+ * @generated
+ */
+public interface Parent extends EObject {
+ /**
+ * Returns the value of the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The artifact id of the parent project to inherit from. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Artifact Id</em>' attribute.
+ * @see #setArtifactId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getParent_ArtifactId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='artifactId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArtifactId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Parent#getArtifactId
+ * <em>Artifact Id</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Artifact Id</em>' attribute.
+ * @see #getArtifactId()
+ * @generated
+ */
+ void setArtifactId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The group id of the parent project to inherit from. <!-- end-model-doc
+ * -->
+ *
+ * @return the value of the '<em>Group Id</em>' attribute.
+ * @see #setGroupId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getParent_GroupId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='groupId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getGroupId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Parent#getGroupId <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Group Id</em>' attribute.
+ * @see #getGroupId()
+ * @generated
+ */
+ void setGroupId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The version of the parent project to inherit. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getParent_Version()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='version' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Parent#getVersion <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Relative Path</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The relative path of the parent &lt;code&gt;pom.xml&lt;/code&gt; file
+ * within the check out. The default value is
+ * &lt;code&gt;../pom.xml&lt;/code&gt;. Maven looks for the parent pom first
+ * in the reactor of currently building projects, then in this location on
+ * the filesystem, then the local repository, and lastly in the remote repo.
+ * &lt;code&gt;relativePath&lt;/code&gt; allows you to select a different
+ * location, for example when your structure is flat, or deeper without an
+ * intermediate parent pom. However, the group ID, artifact ID and version
+ * are still required, and must match the file in the location given or it
+ * will revert to the repository for the POM. This feature is only for
+ * enhancing the development in a local checkout of that project.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Relative Path</em>' attribute.
+ * @see #setRelativePath(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getParent_RelativePath()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='relativePath' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getRelativePath();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Parent#getRelativePath
+ * <em>Relative Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Relative Path</em>' attribute.
+ * @see #getRelativePath()
+ * @generated
+ */
+ void setRelativePath(String value);
+
+} // Parent
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Plugin.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Plugin.java
new file mode 100644
index 00000000..d12c5444
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Plugin.java
@@ -0,0 +1,370 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Plugin</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Plugin#getGroupId <em>Group Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Plugin#getArtifactId <em>Artifact Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Plugin#getVersion <em>Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Plugin#getExtensions <em>Extensions
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Plugin#getExecutions <em>Executions
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Plugin#getDependencies <em>
+ * Dependencies</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Plugin#getInherited <em>Inherited
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Plugin#getConfiguration <em>
+ * Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPlugin()
+ * @model extendedMetaData="name='Plugin' kind='elementOnly'"
+ * @generated
+ */
+public interface Plugin extends EObject {
+ /**
+ * Returns the value of the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The group ID of the plugin in the repository. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Group Id</em>' attribute.
+ * @see #isSetGroupId()
+ * @see #unsetGroupId()
+ * @see #setGroupId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPlugin_GroupId()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='groupId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getGroupId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getGroupId <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Group Id</em>' attribute.
+ * @see #isSetGroupId()
+ * @see #unsetGroupId()
+ * @see #getGroupId()
+ * @generated
+ */
+ void setGroupId(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getGroupId <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetGroupId()
+ * @see #getGroupId()
+ * @see #setGroupId(String)
+ * @generated
+ */
+ void unsetGroupId();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getGroupId <em>Group Id</em>}'
+ * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Group Id</em>' attribute is set.
+ * @see #unsetGroupId()
+ * @see #getGroupId()
+ * @see #setGroupId(String)
+ * @generated
+ */
+ boolean isSetGroupId();
+
+ /**
+ * Returns the value of the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The artifact ID of the plugin in the repository. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Artifact Id</em>' attribute.
+ * @see #setArtifactId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPlugin_ArtifactId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='artifactId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArtifactId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getArtifactId
+ * <em>Artifact Id</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Artifact Id</em>' attribute.
+ * @see #getArtifactId()
+ * @generated
+ */
+ void setArtifactId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The version (or valid range of verisons) of the plugin to be used. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPlugin_Version()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='version' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getVersion <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extensions</b></em>' attribute. The
+ * default value is <code>"false"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0 Whether to load Maven
+ * extensions (such as packaging and type handlers) from this plugin. For
+ * performance reasons, this should only be enabled when necessary. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Extensions</em>' attribute.
+ * @see #isSetExtensions()
+ * @see #unsetExtensions()
+ * @see #setExtensions(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPlugin_Extensions()
+ * @model default="false" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='extensions' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getExtensions();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getExtensions
+ * <em>Extensions</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Extensions</em>' attribute.
+ * @see #isSetExtensions()
+ * @see #unsetExtensions()
+ * @see #getExtensions()
+ * @generated
+ */
+ void setExtensions(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getExtensions
+ * <em>Extensions</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetExtensions()
+ * @see #getExtensions()
+ * @see #setExtensions(String)
+ * @generated
+ */
+ void unsetExtensions();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getExtensions
+ * <em>Extensions</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Extensions</em>' attribute is set.
+ * @see #unsetExtensions()
+ * @see #getExtensions()
+ * @see #setExtensions(String)
+ * @generated
+ */
+ boolean isSetExtensions();
+
+ /**
+ * Returns the value of the '<em><b>Executions</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution}. <!-- begin-user-doc
+ * --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0 Multiple
+ * specifications of a set of goals to execute during the build lifecycle,
+ * each having (possibly) different configuration. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Executions</em>' containment reference
+ * list.
+ * @see #isSetExecutions()
+ * @see #unsetExecutions()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPlugin_Executions()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='executions' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<PluginExecution> getExecutions();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getExecutions
+ * <em>Executions</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetExecutions()
+ * @see #getExecutions()
+ * @generated
+ */
+ void unsetExecutions();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getExecutions
+ * <em>Executions</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Executions</em>' containment
+ * reference list is set.
+ * @see #unsetExecutions()
+ * @see #getExecutions()
+ * @generated
+ */
+ boolean isSetExecutions();
+
+ /**
+ * Returns the value of the '<em><b>Dependencies</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0 Additional
+ * dependencies that this project needs to introduce to the plugin's
+ * classloader. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Dependencies</em>' containment reference
+ * list.
+ * @see #isSetDependencies()
+ * @see #unsetDependencies()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPlugin_Dependencies()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='dependencies' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Dependency> getDependencies();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getDependencies
+ * <em>Dependencies</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetDependencies()
+ * @see #getDependencies()
+ * @generated
+ */
+ void unsetDependencies();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getDependencies
+ * <em>Dependencies</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Dependencies</em>' containment
+ * reference list is set.
+ * @see #unsetDependencies()
+ * @see #getDependencies()
+ * @generated
+ */
+ boolean isSetDependencies();
+
+ /**
+ * Returns the value of the '<em><b>Inherited</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Whether any configuration should be propagated to child POMs. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Inherited</em>' attribute.
+ * @see #setInherited(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPlugin_Inherited()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='inherited' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getInherited();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getInherited
+ * <em>Inherited</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Inherited</em>' attribute.
+ * @see #getInherited()
+ * @generated
+ */
+ void setInherited(String value);
+
+ /**
+ * Returns the value of the '<em><b>Configuration</b></em>' reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Configuration</em>' reference.
+ * @see #setConfiguration(Configuration)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPlugin_Configuration()
+ * @model
+ * @generated
+ */
+ Configuration getConfiguration();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin#getConfiguration
+ * <em>Configuration</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Configuration</em>' reference.
+ * @see #getConfiguration()
+ * @generated
+ */
+ void setConfiguration(Configuration value);
+
+} // Plugin
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PluginExecution.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PluginExecution.java
new file mode 100644
index 00000000..bd9ee962
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PluginExecution.java
@@ -0,0 +1,205 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Plugin Execution</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getPhase <em>Phase
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getInherited <em>
+ * Inherited</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getGoals <em>Goals
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getConfiguration <em>
+ * Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPluginExecution()
+ * @model extendedMetaData="name='PluginExecution' kind='elementOnly'"
+ * @generated
+ */
+public interface PluginExecution extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The identifier of this execution for labelling the goals during the
+ * build, and for matching exections to merge during inheritance. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #isSetId()
+ * @see #unsetId()
+ * @see #setId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPluginExecution_Id()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='id' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution#getId <em>Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #isSetId()
+ * @see #unsetId()
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution#getId <em>Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetId()
+ * @see #getId()
+ * @see #setId(String)
+ * @generated
+ */
+ void unsetId();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution#getId <em>Id</em>}'
+ * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Id</em>' attribute is set.
+ * @see #unsetId()
+ * @see #getId()
+ * @see #setId(String)
+ * @generated
+ */
+ boolean isSetId();
+
+ /**
+ * Returns the value of the '<em><b>Phase</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The build lifecycle phase to bind the goals in this execution to. If
+ * omitted, the goals will be bound to the default specified in their
+ * metadata. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Phase</em>' attribute.
+ * @see #setPhase(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPluginExecution_Phase()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='phase' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getPhase();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution#getPhase
+ * <em>Phase</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Phase</em>' attribute.
+ * @see #getPhase()
+ * @generated
+ */
+ void setPhase(String value);
+
+ /**
+ * Returns the value of the '<em><b>Inherited</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Whether any configuration should be propagated to child POMs. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Inherited</em>' attribute.
+ * @see #setInherited(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPluginExecution_Inherited()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='inherited' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getInherited();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution#getInherited
+ * <em>Inherited</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Inherited</em>' attribute.
+ * @see #getInherited()
+ * @generated
+ */
+ void setInherited(String value);
+
+ /**
+ * Returns the value of the '<em><b>Goals</b></em>' attribute list. The list
+ * contents are of type {@link java.lang.String}. <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Goals</em>' attribute list isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Goals</em>' attribute list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPluginExecution_Goals()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getGoals();
+
+ /**
+ * Returns the value of the '<em><b>Configuration</b></em>' reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Configuration</em>' reference.
+ * @see #setConfiguration(Configuration)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPluginExecution_Configuration()
+ * @model
+ * @generated
+ */
+ Configuration getConfiguration();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution#getConfiguration
+ * <em>Configuration</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Configuration</em>' reference.
+ * @see #getConfiguration()
+ * @generated
+ */
+ void setConfiguration(Configuration value);
+
+} // PluginExecution
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PluginManagement.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PluginManagement.java
new file mode 100644
index 00000000..0986847c
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PluginManagement.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Plugin Management</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * Section for management of default plugin information for use in a group of
+ * POMs.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.PluginManagement#getPlugins <em>
+ * Plugins</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPluginManagement()
+ * @model extendedMetaData="name='PluginManagement' kind='elementOnly'"
+ * @generated
+ */
+public interface PluginManagement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Plugins</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin}. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The list of plugins to use.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Plugins</em>' containment reference list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPluginManagement_Plugins()
+ * @model containment="true" extendedMetaData=
+ * "kind='element' name='plugins' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Plugin> getPlugins();
+
+} // PluginManagement
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PomFactory.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PomFactory.java
new file mode 100644
index 00000000..f5604704
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PomFactory.java
@@ -0,0 +1,393 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage
+ * @generated
+ */
+public interface PomFactory extends EFactory {
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ PomFactory eINSTANCE = org.eclipse.m2e.model.edit.pom.impl.PomFactoryImpl
+ .init();
+
+ /**
+ * Returns a new object of class '<em>Activation</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Activation</em>'.
+ * @generated
+ */
+ Activation createActivation();
+
+ /**
+ * Returns a new object of class '<em>Activation File</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Activation File</em>'.
+ * @generated
+ */
+ ActivationFile createActivationFile();
+
+ /**
+ * Returns a new object of class '<em>Activation OS</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Activation OS</em>'.
+ * @generated
+ */
+ ActivationOS createActivationOS();
+
+ /**
+ * Returns a new object of class '<em>Activation Property</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Activation Property</em>'.
+ * @generated
+ */
+ ActivationProperty createActivationProperty();
+
+ /**
+ * Returns a new object of class '<em>Build</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Build</em>'.
+ * @generated
+ */
+ Build createBuild();
+
+ /**
+ * Returns a new object of class '<em>Build Base</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Build Base</em>'.
+ * @generated
+ */
+ BuildBase createBuildBase();
+
+ /**
+ * Returns a new object of class '<em>Ci Management</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Ci Management</em>'.
+ * @generated
+ */
+ CiManagement createCiManagement();
+
+ /**
+ * Returns a new object of class '<em>Contributor</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Contributor</em>'.
+ * @generated
+ */
+ Contributor createContributor();
+
+ /**
+ * Returns a new object of class '<em>Dependency</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Dependency</em>'.
+ * @generated
+ */
+ Dependency createDependency();
+
+ /**
+ * Returns a new object of class '<em>Dependency Management</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Dependency Management</em>'.
+ * @generated
+ */
+ DependencyManagement createDependencyManagement();
+
+ /**
+ * Returns a new object of class '<em>Deployment Repository</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Deployment Repository</em>'.
+ * @generated
+ */
+ DeploymentRepository createDeploymentRepository();
+
+ /**
+ * Returns a new object of class '<em>Developer</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Developer</em>'.
+ * @generated
+ */
+ Developer createDeveloper();
+
+ /**
+ * Returns a new object of class '<em>Distribution Management</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Distribution Management</em>'.
+ * @generated
+ */
+ DistributionManagement createDistributionManagement();
+
+ /**
+ * Returns a new object of class '<em>Document Root</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Document Root</em>'.
+ * @generated
+ */
+ DocumentRoot createDocumentRoot();
+
+ /**
+ * Returns a new object of class '<em>Exclusion</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Exclusion</em>'.
+ * @generated
+ */
+ Exclusion createExclusion();
+
+ /**
+ * Returns a new object of class '<em>Extension</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Extension</em>'.
+ * @generated
+ */
+ Extension createExtension();
+
+ /**
+ * Returns a new object of class '<em>Issue Management</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Issue Management</em>'.
+ * @generated
+ */
+ IssueManagement createIssueManagement();
+
+ /**
+ * Returns a new object of class '<em>License</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>License</em>'.
+ * @generated
+ */
+ License createLicense();
+
+ /**
+ * Returns a new object of class '<em>Mailing List</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Mailing List</em>'.
+ * @generated
+ */
+ MailingList createMailingList();
+
+ /**
+ * Returns a new object of class '<em>Model</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Model</em>'.
+ * @generated
+ */
+ Model createModel();
+
+ /**
+ * Returns a new object of class '<em>Notifier</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Notifier</em>'.
+ * @generated
+ */
+ Notifier createNotifier();
+
+ /**
+ * Returns a new object of class '<em>Organization</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Organization</em>'.
+ * @generated
+ */
+ Organization createOrganization();
+
+ /**
+ * Returns a new object of class '<em>Parent</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Parent</em>'.
+ * @generated
+ */
+ Parent createParent();
+
+ /**
+ * Returns a new object of class '<em>Plugin</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Plugin</em>'.
+ * @generated
+ */
+ Plugin createPlugin();
+
+ /**
+ * Returns a new object of class '<em>Plugin Execution</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Plugin Execution</em>'.
+ * @generated
+ */
+ PluginExecution createPluginExecution();
+
+ /**
+ * Returns a new object of class '<em>Plugin Management</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Plugin Management</em>'.
+ * @generated
+ */
+ PluginManagement createPluginManagement();
+
+ /**
+ * Returns a new object of class '<em>Prerequisites</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Prerequisites</em>'.
+ * @generated
+ */
+ Prerequisites createPrerequisites();
+
+ /**
+ * Returns a new object of class '<em>Profile</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Profile</em>'.
+ * @generated
+ */
+ Profile createProfile();
+
+ /**
+ * Returns a new object of class '<em>Relocation</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Relocation</em>'.
+ * @generated
+ */
+ Relocation createRelocation();
+
+ /**
+ * Returns a new object of class '<em>Reporting</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Reporting</em>'.
+ * @generated
+ */
+ Reporting createReporting();
+
+ /**
+ * Returns a new object of class '<em>Report Plugin</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Report Plugin</em>'.
+ * @generated
+ */
+ ReportPlugin createReportPlugin();
+
+ /**
+ * Returns a new object of class '<em>Report Set</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Report Set</em>'.
+ * @generated
+ */
+ ReportSet createReportSet();
+
+ /**
+ * Returns a new object of class '<em>Repository</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Repository</em>'.
+ * @generated
+ */
+ Repository createRepository();
+
+ /**
+ * Returns a new object of class '<em>Repository Policy</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Repository Policy</em>'.
+ * @generated
+ */
+ RepositoryPolicy createRepositoryPolicy();
+
+ /**
+ * Returns a new object of class '<em>Resource</em>'. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Resource</em>'.
+ * @generated
+ */
+ Resource createResource();
+
+ /**
+ * Returns a new object of class '<em>Scm</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Scm</em>'.
+ * @generated
+ */
+ Scm createScm();
+
+ /**
+ * Returns a new object of class '<em>Site</em>'. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Site</em>'.
+ * @generated
+ */
+ Site createSite();
+
+ /**
+ * Returns a new object of class '<em>Property Element</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Property Element</em>'.
+ * @generated
+ */
+ PropertyElement createPropertyElement();
+
+ /**
+ * Returns a new object of class '<em>Configuration</em>'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Configuration</em>'.
+ * @generated
+ */
+ Configuration createConfiguration();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ PomPackage getPomPackage();
+
+} // PomFactory
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PomPackage.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PomPackage.java
new file mode 100644
index 00000000..dd9def20
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PomPackage.java
@@ -0,0 +1,6917 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.PomFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface PomPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "pom"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://maven.apache.org/POM/4.0.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "pom"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ PomPackage eINSTANCE = org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl.init();
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ActivationImpl
+ * <em>Activation</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ActivationImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getActivation()
+ * @generated
+ */
+ int ACTIVATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Active By Default</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION__ACTIVE_BY_DEFAULT = 0;
+
+ /**
+ * The feature id for the '<em><b>Jdk</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION__JDK = 1;
+
+ /**
+ * The feature id for the '<em><b>Os</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION__OS = 2;
+
+ /**
+ * The feature id for the '<em><b>Property</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION__PROPERTY = 3;
+
+ /**
+ * The feature id for the '<em><b>File</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION__FILE = 4;
+
+ /**
+ * The number of structural features of the '<em>Activation</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ActivationFileImpl <em>Activation File</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ActivationFileImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getActivationFile()
+ * @generated
+ */
+ int ACTIVATION_FILE = 1;
+
+ /**
+ * The feature id for the '<em><b>Missing</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_FILE__MISSING = 0;
+
+ /**
+ * The feature id for the '<em><b>Exists</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_FILE__EXISTS = 1;
+
+ /**
+ * The number of structural features of the '<em>Activation File</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_FILE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ActivationOSImpl
+ * <em>Activation OS</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ActivationOSImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getActivationOS()
+ * @generated
+ */
+ int ACTIVATION_OS = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_OS__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Family</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_OS__FAMILY = 1;
+
+ /**
+ * The feature id for the '<em><b>Arch</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_OS__ARCH = 2;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_OS__VERSION = 3;
+
+ /**
+ * The number of structural features of the '<em>Activation OS</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_OS_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ActivationPropertyImpl <em>Activation Property</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ActivationPropertyImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getActivationProperty()
+ * @generated
+ */
+ int ACTIVATION_PROPERTY = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_PROPERTY__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_PROPERTY__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Activation Property</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACTIVATION_PROPERTY_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl
+ * <em>Build Base</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getBuildBase()
+ * @generated
+ */
+ int BUILD_BASE = 5;
+
+ /**
+ * The feature id for the '<em><b>Default Goal</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD_BASE__DEFAULT_GOAL = 0;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD_BASE__RESOURCES = 1;
+
+ /**
+ * The feature id for the '<em><b>Test Resources</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD_BASE__TEST_RESOURCES = 2;
+
+ /**
+ * The feature id for the '<em><b>Directory</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD_BASE__DIRECTORY = 3;
+
+ /**
+ * The feature id for the '<em><b>Final Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD_BASE__FINAL_NAME = 4;
+
+ /**
+ * The feature id for the '<em><b>Plugin Management</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD_BASE__PLUGIN_MANAGEMENT = 5;
+
+ /**
+ * The feature id for the '<em><b>Plugins</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD_BASE__PLUGINS = 6;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD_BASE__FILTERS = 7;
+
+ /**
+ * The number of structural features of the '<em>Build Base</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD_BASE_FEATURE_COUNT = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.BuildImpl <em>Build</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.BuildImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getBuild()
+ * @generated
+ */
+ int BUILD = 4;
+
+ /**
+ * The feature id for the '<em><b>Default Goal</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD__DEFAULT_GOAL = BUILD_BASE__DEFAULT_GOAL;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD__RESOURCES = BUILD_BASE__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Test Resources</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD__TEST_RESOURCES = BUILD_BASE__TEST_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Directory</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD__DIRECTORY = BUILD_BASE__DIRECTORY;
+
+ /**
+ * The feature id for the '<em><b>Final Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD__FINAL_NAME = BUILD_BASE__FINAL_NAME;
+
+ /**
+ * The feature id for the '<em><b>Plugin Management</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD__PLUGIN_MANAGEMENT = BUILD_BASE__PLUGIN_MANAGEMENT;
+
+ /**
+ * The feature id for the '<em><b>Plugins</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD__PLUGINS = BUILD_BASE__PLUGINS;
+
+ /**
+ * The feature id for the '<em><b>Filters</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD__FILTERS = BUILD_BASE__FILTERS;
+
+ /**
+ * The feature id for the '<em><b>Source Directory</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD__SOURCE_DIRECTORY = BUILD_BASE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Script Source Directory</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD__SCRIPT_SOURCE_DIRECTORY = BUILD_BASE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Test Source Directory</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD__TEST_SOURCE_DIRECTORY = BUILD_BASE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Output Directory</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD__OUTPUT_DIRECTORY = BUILD_BASE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Test Output Directory</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD__TEST_OUTPUT_DIRECTORY = BUILD_BASE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Extensions</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUILD__EXTENSIONS = BUILD_BASE_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Build</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int BUILD_FEATURE_COUNT = BUILD_BASE_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.CiManagementImpl
+ * <em>Ci Management</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.CiManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getCiManagement()
+ * @generated
+ */
+ int CI_MANAGEMENT = 6;
+
+ /**
+ * The feature id for the '<em><b>System</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CI_MANAGEMENT__SYSTEM = 0;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CI_MANAGEMENT__URL = 1;
+
+ /**
+ * The feature id for the '<em><b>Notifiers</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CI_MANAGEMENT__NOTIFIERS = 2;
+
+ /**
+ * The number of structural features of the '<em>Ci Management</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CI_MANAGEMENT_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl
+ * <em>Contributor</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ContributorImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getContributor()
+ * @generated
+ */
+ int CONTRIBUTOR = 7;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTOR__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Email</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTOR__EMAIL = 1;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTOR__URL = 2;
+
+ /**
+ * The feature id for the '<em><b>Organization</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTOR__ORGANIZATION = 3;
+
+ /**
+ * The feature id for the '<em><b>Organization Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTOR__ORGANIZATION_URL = 4;
+
+ /**
+ * The feature id for the '<em><b>Timezone</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTOR__TIMEZONE = 5;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTOR__PROPERTIES = 6;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTOR__ROLES = 7;
+
+ /**
+ * The number of structural features of the '<em>Contributor</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTRIBUTOR_FEATURE_COUNT = 8;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl
+ * <em>Dependency</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.DependencyImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDependency()
+ * @generated
+ */
+ int DEPENDENCY = 8;
+
+ /**
+ * The feature id for the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY__GROUP_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY__ARTIFACT_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY__VERSION = 2;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY__TYPE = 3;
+
+ /**
+ * The feature id for the '<em><b>Classifier</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY__CLASSIFIER = 4;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY__SCOPE = 5;
+
+ /**
+ * The feature id for the '<em><b>System Path</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY__SYSTEM_PATH = 6;
+
+ /**
+ * The feature id for the '<em><b>Exclusions</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY__EXCLUSIONS = 7;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY__OPTIONAL = 8;
+
+ /**
+ * The number of structural features of the '<em>Dependency</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY_FEATURE_COUNT = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.DependencyManagementImpl <em>Dependency Management</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.DependencyManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDependencyManagement()
+ * @generated
+ */
+ int DEPENDENCY_MANAGEMENT = 9;
+
+ /**
+ * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY_MANAGEMENT__DEPENDENCIES = 0;
+
+ /**
+ * The number of structural features of the '<em>Dependency Management</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPENDENCY_MANAGEMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.DeploymentRepositoryImpl <em>Deployment Repository</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.DeploymentRepositoryImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDeploymentRepository()
+ * @generated
+ */
+ int DEPLOYMENT_REPOSITORY = 10;
+
+ /**
+ * The feature id for the '<em><b>Unique Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPLOYMENT_REPOSITORY__UNIQUE_VERSION = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPLOYMENT_REPOSITORY__ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPLOYMENT_REPOSITORY__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPLOYMENT_REPOSITORY__URL = 3;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEPLOYMENT_REPOSITORY__LAYOUT = 4;
+
+ /**
+ * The number of structural features of the '<em>Deployment Repository</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEPLOYMENT_REPOSITORY_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl <em>Developer</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDeveloper()
+ * @generated
+ */
+ int DEVELOPER = 11;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER__NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Email</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER__EMAIL = 2;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER__URL = 3;
+
+ /**
+ * The feature id for the '<em><b>Organization</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER__ORGANIZATION = 4;
+
+ /**
+ * The feature id for the '<em><b>Organization Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER__ORGANIZATION_URL = 5;
+
+ /**
+ * The feature id for the '<em><b>Timezone</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER__TIMEZONE = 6;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER__PROPERTIES = 7;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER__ROLES = 8;
+
+ /**
+ * The number of structural features of the '<em>Developer</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DEVELOPER_FEATURE_COUNT = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl <em>Distribution Management</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDistributionManagement()
+ * @generated
+ */
+ int DISTRIBUTION_MANAGEMENT = 12;
+
+ /**
+ * The feature id for the '<em><b>Repository</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISTRIBUTION_MANAGEMENT__REPOSITORY = 0;
+
+ /**
+ * The feature id for the '<em><b>Snapshot Repository</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY = 1;
+
+ /**
+ * The feature id for the '<em><b>Site</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DISTRIBUTION_MANAGEMENT__SITE = 2;
+
+ /**
+ * The feature id for the '<em><b>Download Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL = 3;
+
+ /**
+ * The feature id for the '<em><b>Relocation</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISTRIBUTION_MANAGEMENT__RELOCATION = 4;
+
+ /**
+ * The feature id for the '<em><b>Status</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DISTRIBUTION_MANAGEMENT__STATUS = 5;
+
+ /**
+ * The number of structural features of the '<em>Distribution Management</em>' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISTRIBUTION_MANAGEMENT_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DocumentRootImpl
+ * <em>Document Root</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.DocumentRootImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDocumentRoot()
+ * @generated
+ */
+ int DOCUMENT_ROOT = 13;
+
+ /**
+ * The feature id for the '<em><b>Mixed</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__MIXED = 0;
+
+ /**
+ * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
+
+ /**
+ * The feature id for the '<em><b>XSI Schema Location</b></em>' map. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Project</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__PROJECT = 3;
+
+ /**
+ * The number of structural features of the '<em>Document Root</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ExclusionImpl <em>Exclusion</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ExclusionImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getExclusion()
+ * @generated
+ */
+ int EXCLUSION = 14;
+
+ /**
+ * The feature id for the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXCLUSION__ARTIFACT_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXCLUSION__GROUP_ID = 1;
+
+ /**
+ * The number of structural features of the '<em>Exclusion</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXCLUSION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ExtensionImpl <em>Extension</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ExtensionImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getExtension()
+ * @generated
+ */
+ int EXTENSION = 15;
+
+ /**
+ * The feature id for the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENSION__GROUP_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENSION__ARTIFACT_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENSION__VERSION = 2;
+
+ /**
+ * The number of structural features of the '<em>Extension</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.IssueManagementImpl <em>Issue Management</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.IssueManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getIssueManagement()
+ * @generated
+ */
+ int ISSUE_MANAGEMENT = 16;
+
+ /**
+ * The feature id for the '<em><b>System</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISSUE_MANAGEMENT__SYSTEM = 0;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ISSUE_MANAGEMENT__URL = 1;
+
+ /**
+ * The number of structural features of the '<em>Issue Management</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ISSUE_MANAGEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.LicenseImpl <em>License</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.LicenseImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getLicense()
+ * @generated
+ */
+ int LICENSE = 17;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LICENSE__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LICENSE__URL = 1;
+
+ /**
+ * The feature id for the '<em><b>Distribution</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LICENSE__DISTRIBUTION = 2;
+
+ /**
+ * The feature id for the '<em><b>Comments</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LICENSE__COMMENTS = 3;
+
+ /**
+ * The number of structural features of the '<em>License</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LICENSE_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.MailingListImpl
+ * <em>Mailing List</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.MailingListImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getMailingList()
+ * @generated
+ */
+ int MAILING_LIST = 18;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAILING_LIST__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Subscribe</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAILING_LIST__SUBSCRIBE = 1;
+
+ /**
+ * The feature id for the '<em><b>Unsubscribe</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAILING_LIST__UNSUBSCRIBE = 2;
+
+ /**
+ * The feature id for the '<em><b>Post</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAILING_LIST__POST = 3;
+
+ /**
+ * The feature id for the '<em><b>Archive</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MAILING_LIST__ARCHIVE = 4;
+
+ /**
+ * The feature id for the '<em><b>Other Archives</b></em>' attribute list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAILING_LIST__OTHER_ARCHIVES = 5;
+
+ /**
+ * The number of structural features of the '<em>Mailing List</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAILING_LIST_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl <em>Model</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ModelImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getModel()
+ * @generated
+ */
+ int MODEL = 19;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__PARENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Model Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__MODEL_VERSION = 1;
+
+ /**
+ * The feature id for the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__GROUP_ID = 2;
+
+ /**
+ * The feature id for the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__ARTIFACT_ID = 3;
+
+ /**
+ * The feature id for the '<em><b>Packaging</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__PACKAGING = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__NAME = 5;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__VERSION = 6;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__DESCRIPTION = 7;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__URL = 8;
+
+ /**
+ * The feature id for the '<em><b>Prerequisites</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__PREREQUISITES = 9;
+
+ /**
+ * The feature id for the '<em><b>Issue Management</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__ISSUE_MANAGEMENT = 10;
+
+ /**
+ * The feature id for the '<em><b>Ci Management</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__CI_MANAGEMENT = 11;
+
+ /**
+ * The feature id for the '<em><b>Inception Year</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__INCEPTION_YEAR = 12;
+
+ /**
+ * The feature id for the '<em><b>Mailing Lists</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__MAILING_LISTS = 13;
+
+ /**
+ * The feature id for the '<em><b>Developers</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__DEVELOPERS = 14;
+
+ /**
+ * The feature id for the '<em><b>Contributors</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__CONTRIBUTORS = 15;
+
+ /**
+ * The feature id for the '<em><b>Licenses</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__LICENSES = 16;
+
+ /**
+ * The feature id for the '<em><b>Scm</b></em>' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__SCM = 17;
+
+ /**
+ * The feature id for the '<em><b>Organization</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__ORGANIZATION = 18;
+
+ /**
+ * The feature id for the '<em><b>Build</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__BUILD = 19;
+
+ /**
+ * The feature id for the '<em><b>Profiles</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__PROFILES = 20;
+
+ /**
+ * The feature id for the '<em><b>Repositories</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__REPOSITORIES = 21;
+
+ /**
+ * The feature id for the '<em><b>Plugin Repositories</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__PLUGIN_REPOSITORIES = 22;
+
+ /**
+ * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__DEPENDENCIES = 23;
+
+ /**
+ * The feature id for the '<em><b>Reporting</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__REPORTING = 24;
+
+ /**
+ * The feature id for the '<em><b>Dependency Management</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__DEPENDENCY_MANAGEMENT = 25;
+
+ /**
+ * The feature id for the '<em><b>Distribution Management</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__DISTRIBUTION_MANAGEMENT = 26;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__PROPERTIES = 27;
+
+ /**
+ * The feature id for the '<em><b>Modules</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL__MODULES = 28;
+
+ /**
+ * The number of structural features of the '<em>Model</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MODEL_FEATURE_COUNT = 29;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.NotifierImpl <em>Notifier</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.NotifierImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getNotifier()
+ * @generated
+ */
+ int NOTIFIER = 20;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTIFIER__TYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Send On Error</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTIFIER__SEND_ON_ERROR = 1;
+
+ /**
+ * The feature id for the '<em><b>Send On Failure</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTIFIER__SEND_ON_FAILURE = 2;
+
+ /**
+ * The feature id for the '<em><b>Send On Success</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTIFIER__SEND_ON_SUCCESS = 3;
+
+ /**
+ * The feature id for the '<em><b>Send On Warning</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTIFIER__SEND_ON_WARNING = 4;
+
+ /**
+ * The feature id for the '<em><b>Address</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTIFIER__ADDRESS = 5;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFIER__CONFIGURATION = 6;
+
+ /**
+ * The number of structural features of the '<em>Notifier</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int NOTIFIER_FEATURE_COUNT = 7;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.OrganizationImpl
+ * <em>Organization</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.OrganizationImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getOrganization()
+ * @generated
+ */
+ int ORGANIZATION = 21;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ORGANIZATION__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ORGANIZATION__URL = 1;
+
+ /**
+ * The number of structural features of the '<em>Organization</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ORGANIZATION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ParentImpl <em>Parent</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ParentImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getParent()
+ * @generated
+ */
+ int PARENT = 22;
+
+ /**
+ * The feature id for the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARENT__ARTIFACT_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARENT__GROUP_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARENT__VERSION = 2;
+
+ /**
+ * The feature id for the '<em><b>Relative Path</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARENT__RELATIVE_PATH = 3;
+
+ /**
+ * The number of structural features of the '<em>Parent</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PARENT_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl <em>Plugin</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.PluginImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPlugin()
+ * @generated
+ */
+ int PLUGIN = 23;
+
+ /**
+ * The feature id for the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__GROUP_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__ARTIFACT_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__VERSION = 2;
+
+ /**
+ * The feature id for the '<em><b>Extensions</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__EXTENSIONS = 3;
+
+ /**
+ * The feature id for the '<em><b>Executions</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__EXECUTIONS = 4;
+
+ /**
+ * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__DEPENDENCIES = 5;
+
+ /**
+ * The feature id for the '<em><b>Inherited</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__INHERITED = 6;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN__CONFIGURATION = 7;
+
+ /**
+ * The number of structural features of the '<em>Plugin</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_FEATURE_COUNT = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.PluginExecutionImpl <em>Plugin Execution</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.PluginExecutionImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPluginExecution()
+ * @generated
+ */
+ int PLUGIN_EXECUTION = 24;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_EXECUTION__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Phase</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_EXECUTION__PHASE = 1;
+
+ /**
+ * The feature id for the '<em><b>Inherited</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_EXECUTION__INHERITED = 2;
+
+ /**
+ * The feature id for the '<em><b>Goals</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_EXECUTION__GOALS = 3;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_EXECUTION__CONFIGURATION = 4;
+
+ /**
+ * The number of structural features of the '<em>Plugin Execution</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_EXECUTION_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.PluginManagementImpl <em>Plugin Management</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.PluginManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPluginManagement()
+ * @generated
+ */
+ int PLUGIN_MANAGEMENT = 25;
+
+ /**
+ * The feature id for the '<em><b>Plugins</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_MANAGEMENT__PLUGINS = 0;
+
+ /**
+ * The number of structural features of the '<em>Plugin Management</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PLUGIN_MANAGEMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.PrerequisitesImpl
+ * <em>Prerequisites</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.PrerequisitesImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPrerequisites()
+ * @generated
+ */
+ int PREREQUISITES = 26;
+
+ /**
+ * The feature id for the '<em><b>Maven</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PREREQUISITES__MAVEN = 0;
+
+ /**
+ * The number of structural features of the '<em>Prerequisites</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PREREQUISITES_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl <em>Profile</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ProfileImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getProfile()
+ * @generated
+ */
+ int PROFILE = 27;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Activation</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE__ACTIVATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Build</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE__BUILD = 2;
+
+ /**
+ * The feature id for the '<em><b>Repositories</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE__REPOSITORIES = 3;
+
+ /**
+ * The feature id for the '<em><b>Plugin Repositories</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE__PLUGIN_REPOSITORIES = 4;
+
+ /**
+ * The feature id for the '<em><b>Dependencies</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE__DEPENDENCIES = 5;
+
+ /**
+ * The feature id for the '<em><b>Reports</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE__REPORTS = 6;
+
+ /**
+ * The feature id for the '<em><b>Dependency Management</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE__DEPENDENCY_MANAGEMENT = 7;
+
+ /**
+ * The feature id for the '<em><b>Distribution Management</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE__DISTRIBUTION_MANAGEMENT = 8;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE__PROPERTIES = 9;
+
+ /**
+ * The feature id for the '<em><b>Modules</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE__MODULES = 10;
+
+ /**
+ * The feature id for the '<em><b>Reporting</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE__REPORTING = 11;
+
+ /**
+ * The number of structural features of the '<em>Profile</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE_FEATURE_COUNT = 12;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.RelocationImpl
+ * <em>Relocation</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.RelocationImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getRelocation()
+ * @generated
+ */
+ int RELOCATION = 28;
+
+ /**
+ * The feature id for the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELOCATION__GROUP_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELOCATION__ARTIFACT_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELOCATION__VERSION = 2;
+
+ /**
+ * The feature id for the '<em><b>Message</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RELOCATION__MESSAGE = 3;
+
+ /**
+ * The number of structural features of the '<em>Relocation</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RELOCATION_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ReportingImpl <em>Reporting</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ReportingImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getReporting()
+ * @generated
+ */
+ int REPORTING = 29;
+
+ /**
+ * The feature id for the '<em><b>Exclude Defaults</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORTING__EXCLUDE_DEFAULTS = 0;
+
+ /**
+ * The feature id for the '<em><b>Output Directory</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORTING__OUTPUT_DIRECTORY = 1;
+
+ /**
+ * The feature id for the '<em><b>Plugins</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPORTING__PLUGINS = 2;
+
+ /**
+ * The number of structural features of the '<em>Reporting</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORTING_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl
+ * <em>Report Plugin</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getReportPlugin()
+ * @generated
+ */
+ int REPORT_PLUGIN = 30;
+
+ /**
+ * The feature id for the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORT_PLUGIN__GROUP_ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORT_PLUGIN__ARTIFACT_ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORT_PLUGIN__VERSION = 2;
+
+ /**
+ * The feature id for the '<em><b>Inherited</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORT_PLUGIN__INHERITED = 3;
+
+ /**
+ * The feature id for the '<em><b>Report Sets</b></em>' containment reference list.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPORT_PLUGIN__REPORT_SETS = 4;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORT_PLUGIN__CONFIGURATION = 5;
+
+ /**
+ * The number of structural features of the '<em>Report Plugin</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPORT_PLUGIN_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ReportSetImpl
+ * <em>Report Set</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ReportSetImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getReportSet()
+ * @generated
+ */
+ int REPORT_SET = 31;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORT_SET__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Inherited</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORT_SET__INHERITED = 1;
+
+ /**
+ * The feature id for the '<em><b>Reports</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORT_SET__REPORTS = 2;
+
+ /**
+ * The feature id for the '<em><b>Configuration</b></em>' reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPORT_SET__CONFIGURATION = 3;
+
+ /**
+ * The number of structural features of the '<em>Report Set</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPORT_SET_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl
+ * <em>Repository</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getRepository()
+ * @generated
+ */
+ int REPOSITORY = 32;
+
+ /**
+ * The feature id for the '<em><b>Releases</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY__RELEASES = 0;
+
+ /**
+ * The feature id for the '<em><b>Snapshots</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY__SNAPSHOTS = 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY__ID = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY__NAME = 3;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY__URL = 4;
+
+ /**
+ * The feature id for the '<em><b>Layout</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY__LAYOUT = 5;
+
+ /**
+ * The number of structural features of the '<em>Repository</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryPolicyImpl <em>Repository Policy</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.RepositoryPolicyImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getRepositoryPolicy()
+ * @generated
+ */
+ int REPOSITORY_POLICY = 33;
+
+ /**
+ * The feature id for the '<em><b>Enabled</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY_POLICY__ENABLED = 0;
+
+ /**
+ * The feature id for the '<em><b>Update Policy</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY_POLICY__UPDATE_POLICY = 1;
+
+ /**
+ * The feature id for the '<em><b>Checksum Policy</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY_POLICY__CHECKSUM_POLICY = 2;
+
+ /**
+ * The number of structural features of the '<em>Repository Policy</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REPOSITORY_POLICY_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ResourceImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getResource()
+ * @generated
+ */
+ int RESOURCE = 34;
+
+ /**
+ * The feature id for the '<em><b>Target Path</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__TARGET_PATH = 0;
+
+ /**
+ * The feature id for the '<em><b>Filtering</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__FILTERING = 1;
+
+ /**
+ * The feature id for the '<em><b>Directory</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__DIRECTORY = 2;
+
+ /**
+ * The feature id for the '<em><b>Includes</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__INCLUDES = 3;
+
+ /**
+ * The feature id for the '<em><b>Excludes</b></em>' attribute list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__EXCLUDES = 4;
+
+ /**
+ * The number of structural features of the '<em>Resource</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.ScmImpl <em>Scm</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ScmImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getScm()
+ * @generated
+ */
+ int SCM = 35;
+
+ /**
+ * The feature id for the '<em><b>Connection</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SCM__CONNECTION = 0;
+
+ /**
+ * The feature id for the '<em><b>Developer Connection</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCM__DEVELOPER_CONNECTION = 1;
+
+ /**
+ * The feature id for the '<em><b>Tag</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SCM__TAG = 2;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SCM__URL = 3;
+
+ /**
+ * The number of structural features of the '<em>Scm</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SCM_FEATURE_COUNT = 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.SiteImpl <em>Site</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.SiteImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getSite()
+ * @generated
+ */
+ int SITE = 36;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SITE__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SITE__NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SITE__URL = 2;
+
+ /**
+ * The number of structural features of the '<em>Site</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SITE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.m2e.model.edit.pom.impl.PropertyElementImpl <em>Property Element</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.PropertyElementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPropertyElement()
+ * @generated
+ */
+ int PROPERTY_ELEMENT = 37;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ELEMENT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ELEMENT__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Property Element</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROPERTY_ELEMENT_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ConfigurationImpl
+ * <em>Configuration</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ConfigurationImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getConfiguration()
+ * @generated
+ */
+ int CONFIGURATION = 38;
+
+ /**
+ * The number of structural features of the '<em>Configuration</em>' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_FEATURE_COUNT = 0;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.Activation <em>Activation</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Activation</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Activation
+ * @generated
+ */
+ EClass getActivation();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getActiveByDefault
+ * <em>Active By Default</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the attribute '<em>Active By Default</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Activation#getActiveByDefault()
+ * @see #getActivation()
+ * @generated
+ */
+ EAttribute getActivation_ActiveByDefault();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Activation#getJdk <em>Jdk</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Jdk</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Activation#getJdk()
+ * @see #getActivation()
+ * @generated
+ */
+ EAttribute getActivation_Jdk();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation#getOs <em>Os</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Os</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Activation#getOs()
+ * @see #getActivation()
+ * @generated
+ */
+ EReference getActivation_Os();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Activation#getProperty <em>Property</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Property</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Activation#getProperty()
+ * @see #getActivation()
+ * @generated
+ */
+ EReference getActivation_Property();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Activation#getFile <em>File</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>File</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Activation#getFile()
+ * @see #getActivation()
+ * @generated
+ */
+ EReference getActivation_File();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.ActivationFile <em>Activation File</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Activation File</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationFile
+ * @generated
+ */
+ EClass getActivationFile();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ActivationFile#getMissing <em>Missing</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Missing</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationFile#getMissing()
+ * @see #getActivationFile()
+ * @generated
+ */
+ EAttribute getActivationFile_Missing();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ActivationFile#getExists <em>Exists</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exists</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationFile#getExists()
+ * @see #getActivationFile()
+ * @generated
+ */
+ EAttribute getActivationFile_Exists();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.ActivationOS <em>Activation OS</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Activation OS</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationOS
+ * @generated
+ */
+ EClass getActivationOS();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ActivationOS#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationOS#getName()
+ * @see #getActivationOS()
+ * @generated
+ */
+ EAttribute getActivationOS_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ActivationOS#getFamily <em>Family</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Family</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationOS#getFamily()
+ * @see #getActivationOS()
+ * @generated
+ */
+ EAttribute getActivationOS_Family();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ActivationOS#getArch <em>Arch</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Arch</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationOS#getArch()
+ * @see #getActivationOS()
+ * @generated
+ */
+ EAttribute getActivationOS_Arch();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ActivationOS#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationOS#getVersion()
+ * @see #getActivationOS()
+ * @generated
+ */
+ EAttribute getActivationOS_Version();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationProperty
+ * <em>Activation Property</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Activation Property</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationProperty
+ * @generated
+ */
+ EClass getActivationProperty();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ActivationProperty#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationProperty#getName()
+ * @see #getActivationProperty()
+ * @generated
+ */
+ EAttribute getActivationProperty_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ActivationProperty#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationProperty#getValue()
+ * @see #getActivationProperty()
+ * @generated
+ */
+ EAttribute getActivationProperty_Value();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Build <em>Build</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Build</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Build
+ * @generated
+ */
+ EClass getBuild();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Build#getSourceDirectory
+ * <em>Source Directory</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the attribute '<em>Source Directory</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Build#getSourceDirectory()
+ * @see #getBuild()
+ * @generated
+ */
+ EAttribute getBuild_SourceDirectory();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Build#getScriptSourceDirectory <em>Script Source Directory</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for the attribute '<em>Script Source Directory</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Build#getScriptSourceDirectory()
+ * @see #getBuild()
+ * @generated
+ */
+ EAttribute getBuild_ScriptSourceDirectory();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Build#getTestSourceDirectory <em>Test Source Directory</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for the attribute '<em>Test Source Directory</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Build#getTestSourceDirectory()
+ * @see #getBuild()
+ * @generated
+ */
+ EAttribute getBuild_TestSourceDirectory();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Build#getOutputDirectory
+ * <em>Output Directory</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the attribute '<em>Output Directory</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Build#getOutputDirectory()
+ * @see #getBuild()
+ * @generated
+ */
+ EAttribute getBuild_OutputDirectory();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Build#getTestOutputDirectory <em>Test Output Directory</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for the attribute '<em>Test Output Directory</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Build#getTestOutputDirectory()
+ * @see #getBuild()
+ * @generated
+ */
+ EAttribute getBuild_TestOutputDirectory();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Build#getExtensions <em>Extensions</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Extensions</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Build#getExtensions()
+ * @see #getBuild()
+ * @generated
+ */
+ EReference getBuild_Extensions();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase <em>Build Base</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Build Base</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase
+ * @generated
+ */
+ EClass getBuildBase();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.BuildBase#getDefaultGoal <em>Default Goal</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Default Goal</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase#getDefaultGoal()
+ * @see #getBuildBase()
+ * @generated
+ */
+ EAttribute getBuildBase_DefaultGoal();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.BuildBase#getResources <em>Resources</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Resources</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase#getResources()
+ * @see #getBuildBase()
+ * @generated
+ */
+ EReference getBuildBase_Resources();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.BuildBase#getTestResources <em>Test Resources</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Test Resources</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase#getTestResources()
+ * @see #getBuildBase()
+ * @generated
+ */
+ EReference getBuildBase_TestResources();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.BuildBase#getDirectory <em>Directory</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Directory</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase#getDirectory()
+ * @see #getBuildBase()
+ * @generated
+ */
+ EAttribute getBuildBase_Directory();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.BuildBase#getFinalName <em>Final Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Final Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase#getFinalName()
+ * @see #getBuildBase()
+ * @generated
+ */
+ EAttribute getBuildBase_FinalName();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase#getPluginManagement
+ * <em>Plugin Management</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the containment reference '
+ * <em>Plugin Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase#getPluginManagement()
+ * @see #getBuildBase()
+ * @generated
+ */
+ EReference getBuildBase_PluginManagement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.BuildBase#getPlugins <em>Plugins</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Plugins</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase#getPlugins()
+ * @see #getBuildBase()
+ * @generated
+ */
+ EReference getBuildBase_Plugins();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.BuildBase#getFilters <em>Filters</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Filters</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase#getFilters()
+ * @see #getBuildBase()
+ * @generated
+ */
+ EAttribute getBuildBase_Filters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.CiManagement <em>Ci Management</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ci Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.CiManagement
+ * @generated
+ */
+ EClass getCiManagement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.CiManagement#getSystem <em>System</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>System</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.CiManagement#getSystem()
+ * @see #getCiManagement()
+ * @generated
+ */
+ EAttribute getCiManagement_System();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.CiManagement#getUrl <em>Url</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.CiManagement#getUrl()
+ * @see #getCiManagement()
+ * @generated
+ */
+ EAttribute getCiManagement_Url();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.CiManagement#getNotifiers <em>Notifiers</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Notifiers</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.CiManagement#getNotifiers()
+ * @see #getCiManagement()
+ * @generated
+ */
+ EReference getCiManagement_Notifiers();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.Contributor <em>Contributor</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Contributor</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor
+ * @generated
+ */
+ EClass getContributor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Contributor#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor#getName()
+ * @see #getContributor()
+ * @generated
+ */
+ EAttribute getContributor_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Contributor#getEmail <em>Email</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Email</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor#getEmail()
+ * @see #getContributor()
+ * @generated
+ */
+ EAttribute getContributor_Email();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Contributor#getUrl <em>Url</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor#getUrl()
+ * @see #getContributor()
+ * @generated
+ */
+ EAttribute getContributor_Url();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Contributor#getOrganization <em>Organization</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Organization</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor#getOrganization()
+ * @see #getContributor()
+ * @generated
+ */
+ EAttribute getContributor_Organization();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor#getOrganizationUrl
+ * <em>Organization Url</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the attribute '<em>Organization Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor#getOrganizationUrl()
+ * @see #getContributor()
+ * @generated
+ */
+ EAttribute getContributor_OrganizationUrl();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Contributor#getTimezone <em>Timezone</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Timezone</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor#getTimezone()
+ * @see #getContributor()
+ * @generated
+ */
+ EAttribute getContributor_Timezone();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Contributor#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Properties</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor#getProperties()
+ * @see #getContributor()
+ * @generated
+ */
+ EReference getContributor_Properties();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.Contributor#getRoles <em>Roles</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Roles</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor#getRoles()
+ * @see #getContributor()
+ * @generated
+ */
+ EAttribute getContributor_Roles();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.Dependency <em>Dependency</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Dependency</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency
+ * @generated
+ */
+ EClass getDependency();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Dependency#getGroupId <em>Group Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Group Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency#getGroupId()
+ * @see #getDependency()
+ * @generated
+ */
+ EAttribute getDependency_GroupId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Dependency#getArtifactId <em>Artifact Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Artifact Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency#getArtifactId()
+ * @see #getDependency()
+ * @generated
+ */
+ EAttribute getDependency_ArtifactId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Dependency#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency#getVersion()
+ * @see #getDependency()
+ * @generated
+ */
+ EAttribute getDependency_Version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Dependency#getType <em>Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency#getType()
+ * @see #getDependency()
+ * @generated
+ */
+ EAttribute getDependency_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Dependency#getClassifier <em>Classifier</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Classifier</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency#getClassifier()
+ * @see #getDependency()
+ * @generated
+ */
+ EAttribute getDependency_Classifier();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Dependency#getScope <em>Scope</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Scope</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency#getScope()
+ * @see #getDependency()
+ * @generated
+ */
+ EAttribute getDependency_Scope();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Dependency#getSystemPath <em>System Path</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>System Path</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency#getSystemPath()
+ * @see #getDependency()
+ * @generated
+ */
+ EAttribute getDependency_SystemPath();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Dependency#getExclusions <em>Exclusions</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Exclusions</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency#getExclusions()
+ * @see #getDependency()
+ * @generated
+ */
+ EReference getDependency_Exclusions();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Dependency#getOptional <em>Optional</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optional</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency#getOptional()
+ * @see #getDependency()
+ * @generated
+ */
+ EAttribute getDependency_Optional();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.DependencyManagement <em>Dependency Management</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for class '<em>Dependency Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DependencyManagement
+ * @generated
+ */
+ EClass getDependencyManagement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.DependencyManagement#getDependencies <em>Dependencies</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Dependencies</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DependencyManagement#getDependencies()
+ * @see #getDependencyManagement()
+ * @generated
+ */
+ EReference getDependencyManagement_Dependencies();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository <em>Deployment Repository</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for class '<em>Deployment Repository</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DeploymentRepository
+ * @generated
+ */
+ EClass getDeploymentRepository();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUniqueVersion <em>Unique Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unique Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUniqueVersion()
+ * @see #getDeploymentRepository()
+ * @generated
+ */
+ EAttribute getDeploymentRepository_UniqueVersion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getId <em>Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DeploymentRepository#getId()
+ * @see #getDeploymentRepository()
+ * @generated
+ */
+ EAttribute getDeploymentRepository_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DeploymentRepository#getName()
+ * @see #getDeploymentRepository()
+ * @generated
+ */
+ EAttribute getDeploymentRepository_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUrl <em>Url</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DeploymentRepository#getUrl()
+ * @see #getDeploymentRepository()
+ * @generated
+ */
+ EAttribute getDeploymentRepository_Url();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.DeploymentRepository#getLayout <em>Layout</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Layout</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DeploymentRepository#getLayout()
+ * @see #getDeploymentRepository()
+ * @generated
+ */
+ EAttribute getDeploymentRepository_Layout();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer <em>Developer</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Developer</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer
+ * @generated
+ */
+ EClass getDeveloper();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getId <em>Id</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer#getId()
+ * @see #getDeveloper()
+ * @generated
+ */
+ EAttribute getDeveloper_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Developer#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer#getName()
+ * @see #getDeveloper()
+ * @generated
+ */
+ EAttribute getDeveloper_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Developer#getEmail <em>Email</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Email</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer#getEmail()
+ * @see #getDeveloper()
+ * @generated
+ */
+ EAttribute getDeveloper_Email();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getUrl <em>Url</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer#getUrl()
+ * @see #getDeveloper()
+ * @generated
+ */
+ EAttribute getDeveloper_Url();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Developer#getOrganization <em>Organization</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Organization</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer#getOrganization()
+ * @see #getDeveloper()
+ * @generated
+ */
+ EAttribute getDeveloper_Organization();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer#getOrganizationUrl
+ * <em>Organization Url</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the attribute '<em>Organization Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer#getOrganizationUrl()
+ * @see #getDeveloper()
+ * @generated
+ */
+ EAttribute getDeveloper_OrganizationUrl();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Developer#getTimezone <em>Timezone</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Timezone</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer#getTimezone()
+ * @see #getDeveloper()
+ * @generated
+ */
+ EAttribute getDeveloper_Timezone();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Developer#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Properties</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer#getProperties()
+ * @see #getDeveloper()
+ * @generated
+ */
+ EReference getDeveloper_Properties();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.Developer#getRoles <em>Roles</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Roles</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Developer#getRoles()
+ * @see #getDeveloper()
+ * @generated
+ */
+ EAttribute getDeveloper_Roles();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.DistributionManagement <em>Distribution Management</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for class '<em>Distribution Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DistributionManagement
+ * @generated
+ */
+ EClass getDistributionManagement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRepository <em>Repository</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Repository</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DistributionManagement#getRepository()
+ * @see #getDistributionManagement()
+ * @generated
+ */
+ EReference getDistributionManagement_Repository();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSnapshotRepository
+ * <em>Snapshot Repository</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the containment reference '
+ * <em>Snapshot Repository</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DistributionManagement#getSnapshotRepository()
+ * @see #getDistributionManagement()
+ * @generated
+ */
+ EReference getDistributionManagement_SnapshotRepository();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getSite <em>Site</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Site</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DistributionManagement#getSite()
+ * @see #getDistributionManagement()
+ * @generated
+ */
+ EReference getDistributionManagement_Site();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getDownloadUrl <em>Download Url</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Download Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DistributionManagement#getDownloadUrl()
+ * @see #getDistributionManagement()
+ * @generated
+ */
+ EAttribute getDistributionManagement_DownloadUrl();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getRelocation <em>Relocation</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Relocation</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DistributionManagement#getRelocation()
+ * @see #getDistributionManagement()
+ * @generated
+ */
+ EReference getDistributionManagement_Relocation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.DistributionManagement#getStatus <em>Status</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Status</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DistributionManagement#getStatus()
+ * @see #getDistributionManagement()
+ * @generated
+ */
+ EAttribute getDistributionManagement_Status();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.DocumentRoot <em>Document Root</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Document Root</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DocumentRoot
+ * @generated
+ */
+ EClass getDocumentRoot();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.DocumentRoot#getMixed <em>Mixed</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Mixed</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DocumentRoot#getMixed()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EAttribute getDocumentRoot_Mixed();
+
+ /**
+ * Returns the meta object for the map '
+ * {@link org.eclipse.m2e.model.edit.pom.DocumentRoot#getXMLNSPrefixMap
+ * <em>XMLNS Prefix Map</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the map '<em>XMLNS Prefix Map</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DocumentRoot#getXMLNSPrefixMap()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XMLNSPrefixMap();
+
+ /**
+ * Returns the meta object for the map '
+ * {@link org.eclipse.m2e.model.edit.pom.DocumentRoot#getXSISchemaLocation
+ * <em>XSI Schema Location</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the map '<em>XSI Schema Location</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DocumentRoot#getXSISchemaLocation()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XSISchemaLocation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.DocumentRoot#getProject <em>Project</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Project</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.DocumentRoot#getProject()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_Project();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Exclusion <em>Exclusion</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Exclusion</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Exclusion
+ * @generated
+ */
+ EClass getExclusion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Exclusion#getArtifactId <em>Artifact Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Artifact Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Exclusion#getArtifactId()
+ * @see #getExclusion()
+ * @generated
+ */
+ EAttribute getExclusion_ArtifactId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Exclusion#getGroupId <em>Group Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Group Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Exclusion#getGroupId()
+ * @see #getExclusion()
+ * @generated
+ */
+ EAttribute getExclusion_GroupId();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Extension <em>Extension</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Extension</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Extension
+ * @generated
+ */
+ EClass getExtension();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Extension#getGroupId <em>Group Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Group Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Extension#getGroupId()
+ * @see #getExtension()
+ * @generated
+ */
+ EAttribute getExtension_GroupId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Extension#getArtifactId <em>Artifact Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Artifact Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Extension#getArtifactId()
+ * @see #getExtension()
+ * @generated
+ */
+ EAttribute getExtension_ArtifactId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Extension#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Extension#getVersion()
+ * @see #getExtension()
+ * @generated
+ */
+ EAttribute getExtension_Version();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.IssueManagement
+ * <em>Issue Management</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Issue Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.IssueManagement
+ * @generated
+ */
+ EClass getIssueManagement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.IssueManagement#getSystem <em>System</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>System</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.IssueManagement#getSystem()
+ * @see #getIssueManagement()
+ * @generated
+ */
+ EAttribute getIssueManagement_System();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.IssueManagement#getUrl <em>Url</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.IssueManagement#getUrl()
+ * @see #getIssueManagement()
+ * @generated
+ */
+ EAttribute getIssueManagement_Url();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.License <em>License</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>License</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.License
+ * @generated
+ */
+ EClass getLicense();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.License#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.License#getName()
+ * @see #getLicense()
+ * @generated
+ */
+ EAttribute getLicense_Name();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.License#getUrl <em>Url</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.License#getUrl()
+ * @see #getLicense()
+ * @generated
+ */
+ EAttribute getLicense_Url();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.License#getDistribution <em>Distribution</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Distribution</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.License#getDistribution()
+ * @see #getLicense()
+ * @generated
+ */
+ EAttribute getLicense_Distribution();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.License#getComments <em>Comments</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Comments</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.License#getComments()
+ * @see #getLicense()
+ * @generated
+ */
+ EAttribute getLicense_Comments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.MailingList <em>Mailing List</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Mailing List</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.MailingList
+ * @generated
+ */
+ EClass getMailingList();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.MailingList#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.MailingList#getName()
+ * @see #getMailingList()
+ * @generated
+ */
+ EAttribute getMailingList_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.MailingList#getSubscribe <em>Subscribe</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Subscribe</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.MailingList#getSubscribe()
+ * @see #getMailingList()
+ * @generated
+ */
+ EAttribute getMailingList_Subscribe();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.MailingList#getUnsubscribe <em>Unsubscribe</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unsubscribe</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.MailingList#getUnsubscribe()
+ * @see #getMailingList()
+ * @generated
+ */
+ EAttribute getMailingList_Unsubscribe();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.MailingList#getPost <em>Post</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Post</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.MailingList#getPost()
+ * @see #getMailingList()
+ * @generated
+ */
+ EAttribute getMailingList_Post();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.MailingList#getArchive <em>Archive</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Archive</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.MailingList#getArchive()
+ * @see #getMailingList()
+ * @generated
+ */
+ EAttribute getMailingList_Archive();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.MailingList#getOtherArchives <em>Other Archives</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Other Archives</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.MailingList#getOtherArchives()
+ * @see #getMailingList()
+ * @generated
+ */
+ EAttribute getMailingList_OtherArchives();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Model <em>Model</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Model</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model
+ * @generated
+ */
+ EClass getModel();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Model#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Parent</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getParent()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Parent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Model#getModelVersion <em>Model Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Model Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getModelVersion()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_ModelVersion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Model#getGroupId <em>Group Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Group Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getGroupId()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_GroupId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Model#getArtifactId <em>Artifact Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Artifact Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getArtifactId()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_ArtifactId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Model#getPackaging <em>Packaging</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Packaging</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getPackaging()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_Packaging();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getName()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Model#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getVersion()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_Version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Model#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getDescription()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_Description();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getUrl <em>Url</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getUrl()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_Url();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Model#getPrerequisites <em>Prerequisites</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Prerequisites</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getPrerequisites()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Prerequisites();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getIssueManagement
+ * <em>Issue Management</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the containment reference '
+ * <em>Issue Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getIssueManagement()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_IssueManagement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Model#getCiManagement <em>Ci Management</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Ci Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getCiManagement()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_CiManagement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Model#getInceptionYear <em>Inception Year</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Inception Year</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getInceptionYear()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_InceptionYear();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Model#getMailingLists <em>Mailing Lists</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Mailing Lists</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getMailingLists()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_MailingLists();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Model#getDevelopers <em>Developers</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Developers</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getDevelopers()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Developers();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Model#getContributors <em>Contributors</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Contributors</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getContributors()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Contributors();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Model#getLicenses <em>Licenses</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Licenses</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getLicenses()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Licenses();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getScm <em>Scm</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Scm</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getScm()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Scm();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Model#getOrganization <em>Organization</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Organization</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getOrganization()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Organization();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getBuild <em>Build</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Build</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getBuild()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Build();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Model#getProfiles <em>Profiles</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Profiles</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getProfiles()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Profiles();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Model#getRepositories <em>Repositories</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Repositories</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getRepositories()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Repositories();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.m2e.model.edit.pom.Model#getPluginRepositories
+ * <em>Plugin Repositories</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Plugin Repositories</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getPluginRepositories()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_PluginRepositories();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Model#getDependencies <em>Dependencies</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Dependencies</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getDependencies()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Dependencies();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Model#getReporting <em>Reporting</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Reporting</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getReporting()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Reporting();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Model#getDependencyManagement <em>Dependency Management</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for the containment reference '<em>Dependency Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getDependencyManagement()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_DependencyManagement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Model#getDistributionManagement <em>Distribution Management</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for the containment reference '<em>Distribution Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getDistributionManagement()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_DistributionManagement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Model#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Properties</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getProperties()
+ * @see #getModel()
+ * @generated
+ */
+ EReference getModel_Properties();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.Model#getModules <em>Modules</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Modules</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Model#getModules()
+ * @see #getModel()
+ * @generated
+ */
+ EAttribute getModel_Modules();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier <em>Notifier</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Notifier</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Notifier
+ * @generated
+ */
+ EClass getNotifier();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Notifier#getType <em>Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Notifier#getType()
+ * @see #getNotifier()
+ * @generated
+ */
+ EAttribute getNotifier_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnError <em>Send On Error</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Send On Error</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Notifier#getSendOnError()
+ * @see #getNotifier()
+ * @generated
+ */
+ EAttribute getNotifier_SendOnError();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnFailure <em>Send On Failure</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Send On Failure</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Notifier#getSendOnFailure()
+ * @see #getNotifier()
+ * @generated
+ */
+ EAttribute getNotifier_SendOnFailure();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnSuccess <em>Send On Success</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Send On Success</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Notifier#getSendOnSuccess()
+ * @see #getNotifier()
+ * @generated
+ */
+ EAttribute getNotifier_SendOnSuccess();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Notifier#getSendOnWarning <em>Send On Warning</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Send On Warning</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Notifier#getSendOnWarning()
+ * @see #getNotifier()
+ * @generated
+ */
+ EAttribute getNotifier_SendOnWarning();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Notifier#getAddress <em>Address</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Address</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Notifier#getAddress()
+ * @see #getNotifier()
+ * @generated
+ */
+ EAttribute getNotifier_Address();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Notifier#getConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Configuration</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Notifier#getConfiguration()
+ * @see #getNotifier()
+ * @generated
+ */
+ EReference getNotifier_Configuration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.Organization <em>Organization</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Organization</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Organization
+ * @generated
+ */
+ EClass getOrganization();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Organization#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Organization#getName()
+ * @see #getOrganization()
+ * @generated
+ */
+ EAttribute getOrganization_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Organization#getUrl <em>Url</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Organization#getUrl()
+ * @see #getOrganization()
+ * @generated
+ */
+ EAttribute getOrganization_Url();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Parent <em>Parent</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Parent</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Parent
+ * @generated
+ */
+ EClass getParent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Parent#getArtifactId <em>Artifact Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Artifact Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Parent#getArtifactId()
+ * @see #getParent()
+ * @generated
+ */
+ EAttribute getParent_ArtifactId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Parent#getGroupId <em>Group Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Group Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Parent#getGroupId()
+ * @see #getParent()
+ * @generated
+ */
+ EAttribute getParent_GroupId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Parent#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Parent#getVersion()
+ * @see #getParent()
+ * @generated
+ */
+ EAttribute getParent_Version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Parent#getRelativePath <em>Relative Path</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Relative Path</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Parent#getRelativePath()
+ * @see #getParent()
+ * @generated
+ */
+ EAttribute getParent_RelativePath();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin <em>Plugin</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Plugin</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin
+ * @generated
+ */
+ EClass getPlugin();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Plugin#getGroupId <em>Group Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Group Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin#getGroupId()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_GroupId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Plugin#getArtifactId <em>Artifact Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Artifact Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin#getArtifactId()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_ArtifactId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Plugin#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin#getVersion()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_Version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Plugin#getExtensions <em>Extensions</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Extensions</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin#getExtensions()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_Extensions();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Plugin#getExecutions <em>Executions</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Executions</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin#getExecutions()
+ * @see #getPlugin()
+ * @generated
+ */
+ EReference getPlugin_Executions();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Plugin#getDependencies <em>Dependencies</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Dependencies</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin#getDependencies()
+ * @see #getPlugin()
+ * @generated
+ */
+ EReference getPlugin_Dependencies();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Plugin#getInherited <em>Inherited</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Inherited</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin#getInherited()
+ * @see #getPlugin()
+ * @generated
+ */
+ EAttribute getPlugin_Inherited();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.m2e.model.edit.pom.Plugin#getConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configuration</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin#getConfiguration()
+ * @see #getPlugin()
+ * @generated
+ */
+ EReference getPlugin_Configuration();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution
+ * <em>Plugin Execution</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Plugin Execution</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PluginExecution
+ * @generated
+ */
+ EClass getPluginExecution();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getId <em>Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PluginExecution#getId()
+ * @see #getPluginExecution()
+ * @generated
+ */
+ EAttribute getPluginExecution_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getPhase <em>Phase</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Phase</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PluginExecution#getPhase()
+ * @see #getPluginExecution()
+ * @generated
+ */
+ EAttribute getPluginExecution_Phase();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getInherited <em>Inherited</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Inherited</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PluginExecution#getInherited()
+ * @see #getPluginExecution()
+ * @generated
+ */
+ EAttribute getPluginExecution_Inherited();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getGoals <em>Goals</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Goals</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PluginExecution#getGoals()
+ * @see #getPluginExecution()
+ * @generated
+ */
+ EAttribute getPluginExecution_Goals();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.m2e.model.edit.pom.PluginExecution#getConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configuration</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PluginExecution#getConfiguration()
+ * @see #getPluginExecution()
+ * @generated
+ */
+ EReference getPluginExecution_Configuration();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginManagement
+ * <em>Plugin Management</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Plugin Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PluginManagement
+ * @generated
+ */
+ EClass getPluginManagement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.PluginManagement#getPlugins <em>Plugins</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Plugins</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PluginManagement#getPlugins()
+ * @see #getPluginManagement()
+ * @generated
+ */
+ EReference getPluginManagement_Plugins();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.Prerequisites <em>Prerequisites</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Prerequisites</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Prerequisites
+ * @generated
+ */
+ EClass getPrerequisites();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Prerequisites#getMaven <em>Maven</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Maven</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Prerequisites#getMaven()
+ * @see #getPrerequisites()
+ * @generated
+ */
+ EAttribute getPrerequisites_Maven();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile <em>Profile</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Profile</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile
+ * @generated
+ */
+ EClass getProfile();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getId <em>Id</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getId()
+ * @see #getProfile()
+ * @generated
+ */
+ EAttribute getProfile_Id();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Profile#getActivation <em>Activation</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Activation</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getActivation()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_Activation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Profile#getBuild <em>Build</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Build</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getBuild()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_Build();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Profile#getRepositories <em>Repositories</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Repositories</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getRepositories()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_Repositories();
+
+ /**
+ * Returns the meta object for the containment reference list '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getPluginRepositories
+ * <em>Plugin Repositories</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the containment reference list '
+ * <em>Plugin Repositories</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getPluginRepositories()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_PluginRepositories();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Profile#getDependencies <em>Dependencies</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Dependencies</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getDependencies()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_Dependencies();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Profile#getReports <em>Reports</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Reports</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getReports()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_Reports();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Profile#getDependencyManagement <em>Dependency Management</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for the containment reference '<em>Dependency Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getDependencyManagement()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_DependencyManagement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Profile#getDistributionManagement <em>Distribution Management</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for the containment reference '<em>Distribution Management</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getDistributionManagement()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_DistributionManagement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Profile#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Properties</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getProperties()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_Properties();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.Profile#getModules <em>Modules</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Modules</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getModules()
+ * @see #getProfile()
+ * @generated
+ */
+ EAttribute getProfile_Modules();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.m2e.model.edit.pom.Profile#getReporting <em>Reporting</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Reporting</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Profile#getReporting()
+ * @see #getProfile()
+ * @generated
+ */
+ EReference getProfile_Reporting();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.Relocation <em>Relocation</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Relocation</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Relocation
+ * @generated
+ */
+ EClass getRelocation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Relocation#getGroupId <em>Group Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Group Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Relocation#getGroupId()
+ * @see #getRelocation()
+ * @generated
+ */
+ EAttribute getRelocation_GroupId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Relocation#getArtifactId <em>Artifact Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Artifact Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Relocation#getArtifactId()
+ * @see #getRelocation()
+ * @generated
+ */
+ EAttribute getRelocation_ArtifactId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Relocation#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Relocation#getVersion()
+ * @see #getRelocation()
+ * @generated
+ */
+ EAttribute getRelocation_Version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Relocation#getMessage <em>Message</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Message</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Relocation#getMessage()
+ * @see #getRelocation()
+ * @generated
+ */
+ EAttribute getRelocation_Message();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting <em>Reporting</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Reporting</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Reporting
+ * @generated
+ */
+ EClass getReporting();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting#getExcludeDefaults
+ * <em>Exclude Defaults</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the attribute '<em>Exclude Defaults</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Reporting#getExcludeDefaults()
+ * @see #getReporting()
+ * @generated
+ */
+ EAttribute getReporting_ExcludeDefaults();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting#getOutputDirectory
+ * <em>Output Directory</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for the attribute '<em>Output Directory</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Reporting#getOutputDirectory()
+ * @see #getReporting()
+ * @generated
+ */
+ EAttribute getReporting_OutputDirectory();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.Reporting#getPlugins <em>Plugins</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Plugins</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Reporting#getPlugins()
+ * @see #getReporting()
+ * @generated
+ */
+ EReference getReporting_Plugins();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.ReportPlugin <em>Report Plugin</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Report Plugin</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportPlugin
+ * @generated
+ */
+ EClass getReportPlugin();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getGroupId <em>Group Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Group Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportPlugin#getGroupId()
+ * @see #getReportPlugin()
+ * @generated
+ */
+ EAttribute getReportPlugin_GroupId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getArtifactId <em>Artifact Id</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Artifact Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportPlugin#getArtifactId()
+ * @see #getReportPlugin()
+ * @generated
+ */
+ EAttribute getReportPlugin_ArtifactId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getVersion <em>Version</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Version</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportPlugin#getVersion()
+ * @see #getReportPlugin()
+ * @generated
+ */
+ EAttribute getReportPlugin_Version();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getInherited <em>Inherited</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Inherited</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportPlugin#getInherited()
+ * @see #getReportPlugin()
+ * @generated
+ */
+ EAttribute getReportPlugin_Inherited();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getReportSets <em>Report Sets</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Report Sets</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportPlugin#getReportSets()
+ * @see #getReportPlugin()
+ * @generated
+ */
+ EReference getReportPlugin_ReportSets();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configuration</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportPlugin#getConfiguration()
+ * @see #getReportPlugin()
+ * @generated
+ */
+ EReference getReportPlugin_Configuration();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet <em>Report Set</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Report Set</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportSet
+ * @generated
+ */
+ EClass getReportSet();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet#getId <em>Id</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportSet#getId()
+ * @see #getReportSet()
+ * @generated
+ */
+ EAttribute getReportSet_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.ReportSet#getInherited <em>Inherited</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Inherited</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportSet#getInherited()
+ * @see #getReportSet()
+ * @generated
+ */
+ EAttribute getReportSet_Inherited();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.ReportSet#getReports <em>Reports</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Reports</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportSet#getReports()
+ * @see #getReportSet()
+ * @generated
+ */
+ EAttribute getReportSet_Reports();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.m2e.model.edit.pom.ReportSet#getConfiguration <em>Configuration</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Configuration</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.ReportSet#getConfiguration()
+ * @see #getReportSet()
+ * @generated
+ */
+ EReference getReportSet_Configuration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.Repository <em>Repository</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Repository</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Repository
+ * @generated
+ */
+ EClass getRepository();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Repository#getReleases <em>Releases</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Releases</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Repository#getReleases()
+ * @see #getRepository()
+ * @generated
+ */
+ EReference getRepository_Releases();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.m2e.model.edit.pom.Repository#getSnapshots <em>Snapshots</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Snapshots</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Repository#getSnapshots()
+ * @see #getRepository()
+ * @generated
+ */
+ EReference getRepository_Snapshots();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getId <em>Id</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Repository#getId()
+ * @see #getRepository()
+ * @generated
+ */
+ EAttribute getRepository_Id();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Repository#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Repository#getName()
+ * @see #getRepository()
+ * @generated
+ */
+ EAttribute getRepository_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Repository#getUrl <em>Url</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Repository#getUrl()
+ * @see #getRepository()
+ * @generated
+ */
+ EAttribute getRepository_Url();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Repository#getLayout <em>Layout</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Layout</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Repository#getLayout()
+ * @see #getRepository()
+ * @generated
+ */
+ EAttribute getRepository_Layout();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy
+ * <em>Repository Policy</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Repository Policy</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.RepositoryPolicy
+ * @generated
+ */
+ EClass getRepositoryPolicy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getEnabled <em>Enabled</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Enabled</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getEnabled()
+ * @see #getRepositoryPolicy()
+ * @generated
+ */
+ EAttribute getRepositoryPolicy_Enabled();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getUpdatePolicy <em>Update Policy</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Update Policy</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getUpdatePolicy()
+ * @see #getRepositoryPolicy()
+ * @generated
+ */
+ EAttribute getRepositoryPolicy_UpdatePolicy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getChecksumPolicy <em>Checksum Policy</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Checksum Policy</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getChecksumPolicy()
+ * @see #getRepositoryPolicy()
+ * @generated
+ */
+ EAttribute getRepositoryPolicy_ChecksumPolicy();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Resource <em>Resource</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Resource</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Resource
+ * @generated
+ */
+ EClass getResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Resource#getTargetPath <em>Target Path</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Path</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Resource#getTargetPath()
+ * @see #getResource()
+ * @generated
+ */
+ EAttribute getResource_TargetPath();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Resource#getFiltering <em>Filtering</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Filtering</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Resource#getFiltering()
+ * @see #getResource()
+ * @generated
+ */
+ EAttribute getResource_Filtering();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Resource#getDirectory <em>Directory</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Directory</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Resource#getDirectory()
+ * @see #getResource()
+ * @generated
+ */
+ EAttribute getResource_Directory();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.Resource#getIncludes <em>Includes</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Includes</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Resource#getIncludes()
+ * @see #getResource()
+ * @generated
+ */
+ EAttribute getResource_Includes();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.m2e.model.edit.pom.Resource#getExcludes <em>Excludes</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Excludes</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Resource#getExcludes()
+ * @see #getResource()
+ * @generated
+ */
+ EAttribute getResource_Excludes();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Scm <em>Scm</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Scm</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Scm
+ * @generated
+ */
+ EClass getScm();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Scm#getConnection <em>Connection</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Connection</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Scm#getConnection()
+ * @see #getScm()
+ * @generated
+ */
+ EAttribute getScm_Connection();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.Scm#getDeveloperConnection <em>Developer Connection</em>}'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the meta object for the attribute '<em>Developer Connection</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Scm#getDeveloperConnection()
+ * @see #getScm()
+ * @generated
+ */
+ EAttribute getScm_DeveloperConnection();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Scm#getTag <em>Tag</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Tag</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Scm#getTag()
+ * @see #getScm()
+ * @generated
+ */
+ EAttribute getScm_Tag();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Scm#getUrl <em>Url</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Scm#getUrl()
+ * @see #getScm()
+ * @generated
+ */
+ EAttribute getScm_Url();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.Site <em>Site</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Site</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Site
+ * @generated
+ */
+ EClass getSite();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Site#getId <em>Id</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Site#getId()
+ * @see #getSite()
+ * @generated
+ */
+ EAttribute getSite_Id();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Site#getName <em>Name</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Site#getName()
+ * @see #getSite()
+ * @generated
+ */
+ EAttribute getSite_Name();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.m2e.model.edit.pom.Site#getUrl <em>Url</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Url</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Site#getUrl()
+ * @see #getSite()
+ * @generated
+ */
+ EAttribute getSite_Url();
+
+ /**
+ * Returns the meta object for class '
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement
+ * <em>Property Element</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return the meta object for class '<em>Property Element</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PropertyElement
+ * @generated
+ */
+ EClass getPropertyElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.PropertyElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PropertyElement#getName()
+ * @see #getPropertyElement()
+ * @generated
+ */
+ EAttribute getPropertyElement_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.m2e.model.edit.pom.PropertyElement#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.PropertyElement#getValue()
+ * @see #getPropertyElement()
+ * @generated
+ */
+ EAttribute getPropertyElement_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.m2e.model.edit.pom.Configuration <em>Configuration</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration</em>'.
+ * @see org.eclipse.m2e.model.edit.pom.Configuration
+ * @generated
+ */
+ EClass getConfiguration();
+
+ /**
+ * Returns the factory that creates the instances of the model. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ PomFactory getPomFactory();
+
+ /**
+ * <!-- begin-user-doc --> Defines literals for the meta objects that
+ * represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ActivationImpl <em>Activation</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ActivationImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getActivation()
+ * @generated
+ */
+ EClass ACTIVATION = eINSTANCE.getActivation();
+
+ /**
+ * The meta object literal for the '<em><b>Active By Default</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION__ACTIVE_BY_DEFAULT = eINSTANCE.getActivation_ActiveByDefault();
+
+ /**
+ * The meta object literal for the '<em><b>Jdk</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION__JDK = eINSTANCE.getActivation_Jdk();
+
+ /**
+ * The meta object literal for the '<em><b>Os</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTIVATION__OS = eINSTANCE.getActivation_Os();
+
+ /**
+ * The meta object literal for the '<em><b>Property</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference ACTIVATION__PROPERTY = eINSTANCE.getActivation_Property();
+
+ /**
+ * The meta object literal for the '<em><b>File</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ACTIVATION__FILE = eINSTANCE.getActivation_File();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ActivationFileImpl <em>Activation File</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ActivationFileImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getActivationFile()
+ * @generated
+ */
+ EClass ACTIVATION_FILE = eINSTANCE.getActivationFile();
+
+ /**
+ * The meta object literal for the '<em><b>Missing</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION_FILE__MISSING = eINSTANCE.getActivationFile_Missing();
+
+ /**
+ * The meta object literal for the '<em><b>Exists</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION_FILE__EXISTS = eINSTANCE.getActivationFile_Exists();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ActivationOSImpl <em>Activation OS</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ActivationOSImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getActivationOS()
+ * @generated
+ */
+ EClass ACTIVATION_OS = eINSTANCE.getActivationOS();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION_OS__NAME = eINSTANCE.getActivationOS_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Family</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION_OS__FAMILY = eINSTANCE.getActivationOS_Family();
+
+ /**
+ * The meta object literal for the '<em><b>Arch</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION_OS__ARCH = eINSTANCE.getActivationOS_Arch();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION_OS__VERSION = eINSTANCE.getActivationOS_Version();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ActivationPropertyImpl <em>Activation Property</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ActivationPropertyImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getActivationProperty()
+ * @generated
+ */
+ EClass ACTIVATION_PROPERTY = eINSTANCE.getActivationProperty();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION_PROPERTY__NAME = eINSTANCE.getActivationProperty_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ACTIVATION_PROPERTY__VALUE = eINSTANCE.getActivationProperty_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.BuildImpl <em>Build</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.BuildImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getBuild()
+ * @generated
+ */
+ EClass BUILD = eINSTANCE.getBuild();
+
+ /**
+ * The meta object literal for the '<em><b>Source Directory</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BUILD__SOURCE_DIRECTORY = eINSTANCE.getBuild_SourceDirectory();
+
+ /**
+ * The meta object literal for the '
+ * <em><b>Script Source Directory</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BUILD__SCRIPT_SOURCE_DIRECTORY = eINSTANCE.getBuild_ScriptSourceDirectory();
+
+ /**
+ * The meta object literal for the '
+ * <em><b>Test Source Directory</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BUILD__TEST_SOURCE_DIRECTORY = eINSTANCE.getBuild_TestSourceDirectory();
+
+ /**
+ * The meta object literal for the '<em><b>Output Directory</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BUILD__OUTPUT_DIRECTORY = eINSTANCE.getBuild_OutputDirectory();
+
+ /**
+ * The meta object literal for the '
+ * <em><b>Test Output Directory</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute BUILD__TEST_OUTPUT_DIRECTORY = eINSTANCE.getBuild_TestOutputDirectory();
+
+ /**
+ * The meta object literal for the '<em><b>Extensions</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference BUILD__EXTENSIONS = eINSTANCE.getBuild_Extensions();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl <em>Build Base</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getBuildBase()
+ * @generated
+ */
+ EClass BUILD_BASE = eINSTANCE.getBuildBase();
+
+ /**
+ * The meta object literal for the '<em><b>Default Goal</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BUILD_BASE__DEFAULT_GOAL = eINSTANCE.getBuildBase_DefaultGoal();
+
+ /**
+ * The meta object literal for the '<em><b>Resources</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference BUILD_BASE__RESOURCES = eINSTANCE.getBuildBase_Resources();
+
+ /**
+ * The meta object literal for the '<em><b>Test Resources</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference BUILD_BASE__TEST_RESOURCES = eINSTANCE.getBuildBase_TestResources();
+
+ /**
+ * The meta object literal for the '<em><b>Directory</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BUILD_BASE__DIRECTORY = eINSTANCE.getBuildBase_Directory();
+
+ /**
+ * The meta object literal for the '<em><b>Final Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BUILD_BASE__FINAL_NAME = eINSTANCE.getBuildBase_FinalName();
+
+ /**
+ * The meta object literal for the '<em><b>Plugin Management</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference BUILD_BASE__PLUGIN_MANAGEMENT = eINSTANCE.getBuildBase_PluginManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Plugins</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BUILD_BASE__PLUGINS = eINSTANCE.getBuildBase_Plugins();
+
+ /**
+ * The meta object literal for the '<em><b>Filters</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BUILD_BASE__FILTERS = eINSTANCE.getBuildBase_Filters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.CiManagementImpl <em>Ci Management</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.CiManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getCiManagement()
+ * @generated
+ */
+ EClass CI_MANAGEMENT = eINSTANCE.getCiManagement();
+
+ /**
+ * The meta object literal for the '<em><b>System</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CI_MANAGEMENT__SYSTEM = eINSTANCE.getCiManagement_System();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CI_MANAGEMENT__URL = eINSTANCE.getCiManagement_Url();
+
+ /**
+ * The meta object literal for the '<em><b>Notifiers</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference CI_MANAGEMENT__NOTIFIERS = eINSTANCE.getCiManagement_Notifiers();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl <em>Contributor</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ContributorImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getContributor()
+ * @generated
+ */
+ EClass CONTRIBUTOR = eINSTANCE.getContributor();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONTRIBUTOR__NAME = eINSTANCE.getContributor_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Email</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONTRIBUTOR__EMAIL = eINSTANCE.getContributor_Email();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONTRIBUTOR__URL = eINSTANCE.getContributor_Url();
+
+ /**
+ * The meta object literal for the '<em><b>Organization</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONTRIBUTOR__ORGANIZATION = eINSTANCE.getContributor_Organization();
+
+ /**
+ * The meta object literal for the '<em><b>Organization Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONTRIBUTOR__ORGANIZATION_URL = eINSTANCE.getContributor_OrganizationUrl();
+
+ /**
+ * The meta object literal for the '<em><b>Timezone</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONTRIBUTOR__TIMEZONE = eINSTANCE.getContributor_Timezone();
+
+ /**
+ * The meta object literal for the '<em><b>Properties</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference CONTRIBUTOR__PROPERTIES = eINSTANCE.getContributor_Properties();
+
+ /**
+ * The meta object literal for the '<em><b>Roles</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONTRIBUTOR__ROLES = eINSTANCE.getContributor_Roles();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl <em>Dependency</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.DependencyImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDependency()
+ * @generated
+ */
+ EClass DEPENDENCY = eINSTANCE.getDependency();
+
+ /**
+ * The meta object literal for the '<em><b>Group Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPENDENCY__GROUP_ID = eINSTANCE.getDependency_GroupId();
+
+ /**
+ * The meta object literal for the '<em><b>Artifact Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPENDENCY__ARTIFACT_ID = eINSTANCE.getDependency_ArtifactId();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPENDENCY__VERSION = eINSTANCE.getDependency_Version();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPENDENCY__TYPE = eINSTANCE.getDependency_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Classifier</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPENDENCY__CLASSIFIER = eINSTANCE.getDependency_Classifier();
+
+ /**
+ * The meta object literal for the '<em><b>Scope</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPENDENCY__SCOPE = eINSTANCE.getDependency_Scope();
+
+ /**
+ * The meta object literal for the '<em><b>System Path</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPENDENCY__SYSTEM_PATH = eINSTANCE.getDependency_SystemPath();
+
+ /**
+ * The meta object literal for the '<em><b>Exclusions</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDENCY__EXCLUSIONS = eINSTANCE.getDependency_Exclusions();
+
+ /**
+ * The meta object literal for the '<em><b>Optional</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPENDENCY__OPTIONAL = eINSTANCE.getDependency_Optional();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.DependencyManagementImpl <em>Dependency Management</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.DependencyManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDependencyManagement()
+ * @generated
+ */
+ EClass DEPENDENCY_MANAGEMENT = eINSTANCE.getDependencyManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Dependencies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference DEPENDENCY_MANAGEMENT__DEPENDENCIES = eINSTANCE.getDependencyManagement_Dependencies();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.DeploymentRepositoryImpl <em>Deployment Repository</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.DeploymentRepositoryImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDeploymentRepository()
+ * @generated
+ */
+ EClass DEPLOYMENT_REPOSITORY = eINSTANCE.getDeploymentRepository();
+
+ /**
+ * The meta object literal for the '<em><b>Unique Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPLOYMENT_REPOSITORY__UNIQUE_VERSION = eINSTANCE.getDeploymentRepository_UniqueVersion();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPLOYMENT_REPOSITORY__ID = eINSTANCE.getDeploymentRepository_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPLOYMENT_REPOSITORY__NAME = eINSTANCE.getDeploymentRepository_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPLOYMENT_REPOSITORY__URL = eINSTANCE.getDeploymentRepository_Url();
+
+ /**
+ * The meta object literal for the '<em><b>Layout</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEPLOYMENT_REPOSITORY__LAYOUT = eINSTANCE.getDeploymentRepository_Layout();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl
+ * <em>Developer</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDeveloper()
+ * @generated
+ */
+ EClass DEVELOPER = eINSTANCE.getDeveloper();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVELOPER__ID = eINSTANCE.getDeveloper_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVELOPER__NAME = eINSTANCE.getDeveloper_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Email</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVELOPER__EMAIL = eINSTANCE.getDeveloper_Email();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVELOPER__URL = eINSTANCE.getDeveloper_Url();
+
+ /**
+ * The meta object literal for the '<em><b>Organization</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVELOPER__ORGANIZATION = eINSTANCE.getDeveloper_Organization();
+
+ /**
+ * The meta object literal for the '<em><b>Organization Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVELOPER__ORGANIZATION_URL = eINSTANCE.getDeveloper_OrganizationUrl();
+
+ /**
+ * The meta object literal for the '<em><b>Timezone</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVELOPER__TIMEZONE = eINSTANCE.getDeveloper_Timezone();
+
+ /**
+ * The meta object literal for the '<em><b>Properties</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference DEVELOPER__PROPERTIES = eINSTANCE.getDeveloper_Properties();
+
+ /**
+ * The meta object literal for the '<em><b>Roles</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVELOPER__ROLES = eINSTANCE.getDeveloper_Roles();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl <em>Distribution Management</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDistributionManagement()
+ * @generated
+ */
+ EClass DISTRIBUTION_MANAGEMENT = eINSTANCE.getDistributionManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Repository</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference DISTRIBUTION_MANAGEMENT__REPOSITORY = eINSTANCE.getDistributionManagement_Repository();
+
+ /**
+ * The meta object literal for the '<em><b>Snapshot Repository</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY = eINSTANCE.getDistributionManagement_SnapshotRepository();
+
+ /**
+ * The meta object literal for the '<em><b>Site</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DISTRIBUTION_MANAGEMENT__SITE = eINSTANCE.getDistributionManagement_Site();
+
+ /**
+ * The meta object literal for the '<em><b>Download Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL = eINSTANCE.getDistributionManagement_DownloadUrl();
+
+ /**
+ * The meta object literal for the '<em><b>Relocation</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference DISTRIBUTION_MANAGEMENT__RELOCATION = eINSTANCE.getDistributionManagement_Relocation();
+
+ /**
+ * The meta object literal for the '<em><b>Status</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DISTRIBUTION_MANAGEMENT__STATUS = eINSTANCE.getDistributionManagement_Status();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.DocumentRootImpl <em>Document Root</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.DocumentRootImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getDocumentRoot()
+ * @generated
+ */
+ EClass DOCUMENT_ROOT = eINSTANCE.getDocumentRoot();
+
+ /**
+ * The meta object literal for the '<em><b>Mixed</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOCUMENT_ROOT__MIXED = eINSTANCE.getDocumentRoot_Mixed();
+
+ /**
+ * The meta object literal for the '<em><b>XMLNS Prefix Map</b></em>' map feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOCUMENT_ROOT__XMLNS_PREFIX_MAP = eINSTANCE.getDocumentRoot_XMLNSPrefixMap();
+
+ /**
+ * The meta object literal for the '<em><b>XSI Schema Location</b></em>' map feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = eINSTANCE.getDocumentRoot_XSISchemaLocation();
+
+ /**
+ * The meta object literal for the '<em><b>Project</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOCUMENT_ROOT__PROJECT = eINSTANCE.getDocumentRoot_Project();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ExclusionImpl
+ * <em>Exclusion</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ExclusionImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getExclusion()
+ * @generated
+ */
+ EClass EXCLUSION = eINSTANCE.getExclusion();
+
+ /**
+ * The meta object literal for the '<em><b>Artifact Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXCLUSION__ARTIFACT_ID = eINSTANCE.getExclusion_ArtifactId();
+
+ /**
+ * The meta object literal for the '<em><b>Group Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXCLUSION__GROUP_ID = eINSTANCE.getExclusion_GroupId();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ExtensionImpl
+ * <em>Extension</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ExtensionImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getExtension()
+ * @generated
+ */
+ EClass EXTENSION = eINSTANCE.getExtension();
+
+ /**
+ * The meta object literal for the '<em><b>Group Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTENSION__GROUP_ID = eINSTANCE.getExtension_GroupId();
+
+ /**
+ * The meta object literal for the '<em><b>Artifact Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTENSION__ARTIFACT_ID = eINSTANCE.getExtension_ArtifactId();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXTENSION__VERSION = eINSTANCE.getExtension_Version();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.IssueManagementImpl <em>Issue Management</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.IssueManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getIssueManagement()
+ * @generated
+ */
+ EClass ISSUE_MANAGEMENT = eINSTANCE.getIssueManagement();
+
+ /**
+ * The meta object literal for the '<em><b>System</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ISSUE_MANAGEMENT__SYSTEM = eINSTANCE.getIssueManagement_System();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ISSUE_MANAGEMENT__URL = eINSTANCE.getIssueManagement_Url();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.LicenseImpl
+ * <em>License</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.LicenseImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getLicense()
+ * @generated
+ */
+ EClass LICENSE = eINSTANCE.getLicense();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LICENSE__NAME = eINSTANCE.getLicense_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LICENSE__URL = eINSTANCE.getLicense_Url();
+
+ /**
+ * The meta object literal for the '<em><b>Distribution</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LICENSE__DISTRIBUTION = eINSTANCE.getLicense_Distribution();
+
+ /**
+ * The meta object literal for the '<em><b>Comments</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LICENSE__COMMENTS = eINSTANCE.getLicense_Comments();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.MailingListImpl <em>Mailing List</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.MailingListImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getMailingList()
+ * @generated
+ */
+ EClass MAILING_LIST = eINSTANCE.getMailingList();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MAILING_LIST__NAME = eINSTANCE.getMailingList_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Subscribe</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MAILING_LIST__SUBSCRIBE = eINSTANCE.getMailingList_Subscribe();
+
+ /**
+ * The meta object literal for the '<em><b>Unsubscribe</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MAILING_LIST__UNSUBSCRIBE = eINSTANCE.getMailingList_Unsubscribe();
+
+ /**
+ * The meta object literal for the '<em><b>Post</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MAILING_LIST__POST = eINSTANCE.getMailingList_Post();
+
+ /**
+ * The meta object literal for the '<em><b>Archive</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MAILING_LIST__ARCHIVE = eINSTANCE.getMailingList_Archive();
+
+ /**
+ * The meta object literal for the '<em><b>Other Archives</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MAILING_LIST__OTHER_ARCHIVES = eINSTANCE.getMailingList_OtherArchives();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl <em>Model</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ModelImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getModel()
+ * @generated
+ */
+ EClass MODEL = eINSTANCE.getModel();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__PARENT = eINSTANCE.getModel_Parent();
+
+ /**
+ * The meta object literal for the '<em><b>Model Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__MODEL_VERSION = eINSTANCE.getModel_ModelVersion();
+
+ /**
+ * The meta object literal for the '<em><b>Group Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__GROUP_ID = eINSTANCE.getModel_GroupId();
+
+ /**
+ * The meta object literal for the '<em><b>Artifact Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__ARTIFACT_ID = eINSTANCE.getModel_ArtifactId();
+
+ /**
+ * The meta object literal for the '<em><b>Packaging</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__PACKAGING = eINSTANCE.getModel_Packaging();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__NAME = eINSTANCE.getModel_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__VERSION = eINSTANCE.getModel_Version();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__DESCRIPTION = eINSTANCE.getModel_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__URL = eINSTANCE.getModel_Url();
+
+ /**
+ * The meta object literal for the '<em><b>Prerequisites</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__PREREQUISITES = eINSTANCE.getModel_Prerequisites();
+
+ /**
+ * The meta object literal for the '<em><b>Issue Management</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__ISSUE_MANAGEMENT = eINSTANCE.getModel_IssueManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Ci Management</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__CI_MANAGEMENT = eINSTANCE.getModel_CiManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Inception Year</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__INCEPTION_YEAR = eINSTANCE.getModel_InceptionYear();
+
+ /**
+ * The meta object literal for the '<em><b>Mailing Lists</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__MAILING_LISTS = eINSTANCE.getModel_MailingLists();
+
+ /**
+ * The meta object literal for the '<em><b>Developers</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__DEVELOPERS = eINSTANCE.getModel_Developers();
+
+ /**
+ * The meta object literal for the '<em><b>Contributors</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__CONTRIBUTORS = eINSTANCE.getModel_Contributors();
+
+ /**
+ * The meta object literal for the '<em><b>Licenses</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__LICENSES = eINSTANCE.getModel_Licenses();
+
+ /**
+ * The meta object literal for the '<em><b>Scm</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__SCM = eINSTANCE.getModel_Scm();
+
+ /**
+ * The meta object literal for the '<em><b>Organization</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__ORGANIZATION = eINSTANCE.getModel_Organization();
+
+ /**
+ * The meta object literal for the '<em><b>Build</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__BUILD = eINSTANCE.getModel_Build();
+
+ /**
+ * The meta object literal for the '<em><b>Profiles</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__PROFILES = eINSTANCE.getModel_Profiles();
+
+ /**
+ * The meta object literal for the '<em><b>Repositories</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__REPOSITORIES = eINSTANCE.getModel_Repositories();
+
+ /**
+ * The meta object literal for the '<em><b>Plugin Repositories</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__PLUGIN_REPOSITORIES = eINSTANCE.getModel_PluginRepositories();
+
+ /**
+ * The meta object literal for the '<em><b>Dependencies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__DEPENDENCIES = eINSTANCE.getModel_Dependencies();
+
+ /**
+ * The meta object literal for the '<em><b>Reporting</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__REPORTING = eINSTANCE.getModel_Reporting();
+
+ /**
+ * The meta object literal for the '<em><b>Dependency Management</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__DEPENDENCY_MANAGEMENT = eINSTANCE.getModel_DependencyManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Distribution Management</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__DISTRIBUTION_MANAGEMENT = eINSTANCE.getModel_DistributionManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Properties</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__PROPERTIES = eINSTANCE.getModel_Properties();
+
+ /**
+ * The meta object literal for the '<em><b>Modules</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MODEL__MODULES = eINSTANCE.getModel_Modules();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.NotifierImpl
+ * <em>Notifier</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.NotifierImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getNotifier()
+ * @generated
+ */
+ EClass NOTIFIER = eINSTANCE.getNotifier();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NOTIFIER__TYPE = eINSTANCE.getNotifier_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Send On Error</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NOTIFIER__SEND_ON_ERROR = eINSTANCE.getNotifier_SendOnError();
+
+ /**
+ * The meta object literal for the '<em><b>Send On Failure</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NOTIFIER__SEND_ON_FAILURE = eINSTANCE.getNotifier_SendOnFailure();
+
+ /**
+ * The meta object literal for the '<em><b>Send On Success</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NOTIFIER__SEND_ON_SUCCESS = eINSTANCE.getNotifier_SendOnSuccess();
+
+ /**
+ * The meta object literal for the '<em><b>Send On Warning</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NOTIFIER__SEND_ON_WARNING = eINSTANCE.getNotifier_SendOnWarning();
+
+ /**
+ * The meta object literal for the '<em><b>Address</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NOTIFIER__ADDRESS = eINSTANCE.getNotifier_Address();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference NOTIFIER__CONFIGURATION = eINSTANCE.getNotifier_Configuration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.OrganizationImpl <em>Organization</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.OrganizationImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getOrganization()
+ * @generated
+ */
+ EClass ORGANIZATION = eINSTANCE.getOrganization();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ORGANIZATION__NAME = eINSTANCE.getOrganization_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ORGANIZATION__URL = eINSTANCE.getOrganization_Url();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ParentImpl <em>Parent</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ParentImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getParent()
+ * @generated
+ */
+ EClass PARENT = eINSTANCE.getParent();
+
+ /**
+ * The meta object literal for the '<em><b>Artifact Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PARENT__ARTIFACT_ID = eINSTANCE.getParent_ArtifactId();
+
+ /**
+ * The meta object literal for the '<em><b>Group Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PARENT__GROUP_ID = eINSTANCE.getParent_GroupId();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PARENT__VERSION = eINSTANCE.getParent_Version();
+
+ /**
+ * The meta object literal for the '<em><b>Relative Path</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PARENT__RELATIVE_PATH = eINSTANCE.getParent_RelativePath();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl <em>Plugin</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.PluginImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPlugin()
+ * @generated
+ */
+ EClass PLUGIN = eINSTANCE.getPlugin();
+
+ /**
+ * The meta object literal for the '<em><b>Group Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__GROUP_ID = eINSTANCE.getPlugin_GroupId();
+
+ /**
+ * The meta object literal for the '<em><b>Artifact Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__ARTIFACT_ID = eINSTANCE.getPlugin_ArtifactId();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__VERSION = eINSTANCE.getPlugin_Version();
+
+ /**
+ * The meta object literal for the '<em><b>Extensions</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__EXTENSIONS = eINSTANCE.getPlugin_Extensions();
+
+ /**
+ * The meta object literal for the '<em><b>Executions</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference PLUGIN__EXECUTIONS = eINSTANCE.getPlugin_Executions();
+
+ /**
+ * The meta object literal for the '<em><b>Dependencies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference PLUGIN__DEPENDENCIES = eINSTANCE.getPlugin_Dependencies();
+
+ /**
+ * The meta object literal for the '<em><b>Inherited</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN__INHERITED = eINSTANCE.getPlugin_Inherited();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PLUGIN__CONFIGURATION = eINSTANCE.getPlugin_Configuration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.PluginExecutionImpl <em>Plugin Execution</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.PluginExecutionImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPluginExecution()
+ * @generated
+ */
+ EClass PLUGIN_EXECUTION = eINSTANCE.getPluginExecution();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN_EXECUTION__ID = eINSTANCE.getPluginExecution_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Phase</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN_EXECUTION__PHASE = eINSTANCE.getPluginExecution_Phase();
+
+ /**
+ * The meta object literal for the '<em><b>Inherited</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN_EXECUTION__INHERITED = eINSTANCE.getPluginExecution_Inherited();
+
+ /**
+ * The meta object literal for the '<em><b>Goals</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PLUGIN_EXECUTION__GOALS = eINSTANCE.getPluginExecution_Goals();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PLUGIN_EXECUTION__CONFIGURATION = eINSTANCE.getPluginExecution_Configuration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.PluginManagementImpl <em>Plugin Management</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.PluginManagementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPluginManagement()
+ * @generated
+ */
+ EClass PLUGIN_MANAGEMENT = eINSTANCE.getPluginManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Plugins</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PLUGIN_MANAGEMENT__PLUGINS = eINSTANCE.getPluginManagement_Plugins();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.PrerequisitesImpl <em>Prerequisites</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.PrerequisitesImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPrerequisites()
+ * @generated
+ */
+ EClass PREREQUISITES = eINSTANCE.getPrerequisites();
+
+ /**
+ * The meta object literal for the '<em><b>Maven</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PREREQUISITES__MAVEN = eINSTANCE.getPrerequisites_Maven();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl
+ * <em>Profile</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ProfileImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getProfile()
+ * @generated
+ */
+ EClass PROFILE = eINSTANCE.getProfile();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROFILE__ID = eINSTANCE.getProfile_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Activation</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__ACTIVATION = eINSTANCE.getProfile_Activation();
+
+ /**
+ * The meta object literal for the '<em><b>Build</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__BUILD = eINSTANCE.getProfile_Build();
+
+ /**
+ * The meta object literal for the '<em><b>Repositories</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__REPOSITORIES = eINSTANCE.getProfile_Repositories();
+
+ /**
+ * The meta object literal for the '<em><b>Plugin Repositories</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__PLUGIN_REPOSITORIES = eINSTANCE.getProfile_PluginRepositories();
+
+ /**
+ * The meta object literal for the '<em><b>Dependencies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__DEPENDENCIES = eINSTANCE.getProfile_Dependencies();
+
+ /**
+ * The meta object literal for the '<em><b>Reports</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__REPORTS = eINSTANCE.getProfile_Reports();
+
+ /**
+ * The meta object literal for the '<em><b>Dependency Management</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__DEPENDENCY_MANAGEMENT = eINSTANCE.getProfile_DependencyManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Distribution Management</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__DISTRIBUTION_MANAGEMENT = eINSTANCE.getProfile_DistributionManagement();
+
+ /**
+ * The meta object literal for the '<em><b>Properties</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__PROPERTIES = eINSTANCE.getProfile_Properties();
+
+ /**
+ * The meta object literal for the '<em><b>Modules</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROFILE__MODULES = eINSTANCE.getProfile_Modules();
+
+ /**
+ * The meta object literal for the '<em><b>Reporting</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROFILE__REPORTING = eINSTANCE.getProfile_Reporting();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.RelocationImpl <em>Relocation</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.RelocationImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getRelocation()
+ * @generated
+ */
+ EClass RELOCATION = eINSTANCE.getRelocation();
+
+ /**
+ * The meta object literal for the '<em><b>Group Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELOCATION__GROUP_ID = eINSTANCE.getRelocation_GroupId();
+
+ /**
+ * The meta object literal for the '<em><b>Artifact Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELOCATION__ARTIFACT_ID = eINSTANCE.getRelocation_ArtifactId();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELOCATION__VERSION = eINSTANCE.getRelocation_Version();
+
+ /**
+ * The meta object literal for the '<em><b>Message</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RELOCATION__MESSAGE = eINSTANCE.getRelocation_Message();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ReportingImpl
+ * <em>Reporting</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ReportingImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getReporting()
+ * @generated
+ */
+ EClass REPORTING = eINSTANCE.getReporting();
+
+ /**
+ * The meta object literal for the '<em><b>Exclude Defaults</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPORTING__EXCLUDE_DEFAULTS = eINSTANCE.getReporting_ExcludeDefaults();
+
+ /**
+ * The meta object literal for the '<em><b>Output Directory</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPORTING__OUTPUT_DIRECTORY = eINSTANCE.getReporting_OutputDirectory();
+
+ /**
+ * The meta object literal for the '<em><b>Plugins</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REPORTING__PLUGINS = eINSTANCE.getReporting_Plugins();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl <em>Report Plugin</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getReportPlugin()
+ * @generated
+ */
+ EClass REPORT_PLUGIN = eINSTANCE.getReportPlugin();
+
+ /**
+ * The meta object literal for the '<em><b>Group Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPORT_PLUGIN__GROUP_ID = eINSTANCE.getReportPlugin_GroupId();
+
+ /**
+ * The meta object literal for the '<em><b>Artifact Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPORT_PLUGIN__ARTIFACT_ID = eINSTANCE.getReportPlugin_ArtifactId();
+
+ /**
+ * The meta object literal for the '<em><b>Version</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPORT_PLUGIN__VERSION = eINSTANCE.getReportPlugin_Version();
+
+ /**
+ * The meta object literal for the '<em><b>Inherited</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPORT_PLUGIN__INHERITED = eINSTANCE.getReportPlugin_Inherited();
+
+ /**
+ * The meta object literal for the '<em><b>Report Sets</b></em>' containment reference list feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference REPORT_PLUGIN__REPORT_SETS = eINSTANCE.getReportPlugin_ReportSets();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REPORT_PLUGIN__CONFIGURATION = eINSTANCE.getReportPlugin_Configuration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ReportSetImpl <em>Report Set</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ReportSetImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getReportSet()
+ * @generated
+ */
+ EClass REPORT_SET = eINSTANCE.getReportSet();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPORT_SET__ID = eINSTANCE.getReportSet_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Inherited</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPORT_SET__INHERITED = eINSTANCE.getReportSet_Inherited();
+
+ /**
+ * The meta object literal for the '<em><b>Reports</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPORT_SET__REPORTS = eINSTANCE.getReportSet_Reports();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration</b></em>' reference feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REPORT_SET__CONFIGURATION = eINSTANCE.getReportSet_Configuration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl <em>Repository</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getRepository()
+ * @generated
+ */
+ EClass REPOSITORY = eINSTANCE.getRepository();
+
+ /**
+ * The meta object literal for the '<em><b>Releases</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference REPOSITORY__RELEASES = eINSTANCE.getRepository_Releases();
+
+ /**
+ * The meta object literal for the '<em><b>Snapshots</b></em>' containment reference feature.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ EReference REPOSITORY__SNAPSHOTS = eINSTANCE.getRepository_Snapshots();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPOSITORY__ID = eINSTANCE.getRepository_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPOSITORY__NAME = eINSTANCE.getRepository_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPOSITORY__URL = eINSTANCE.getRepository_Url();
+
+ /**
+ * The meta object literal for the '<em><b>Layout</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPOSITORY__LAYOUT = eINSTANCE.getRepository_Layout();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryPolicyImpl <em>Repository Policy</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.RepositoryPolicyImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getRepositoryPolicy()
+ * @generated
+ */
+ EClass REPOSITORY_POLICY = eINSTANCE.getRepositoryPolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Enabled</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPOSITORY_POLICY__ENABLED = eINSTANCE.getRepositoryPolicy_Enabled();
+
+ /**
+ * The meta object literal for the '<em><b>Update Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPOSITORY_POLICY__UPDATE_POLICY = eINSTANCE.getRepositoryPolicy_UpdatePolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Checksum Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute REPOSITORY_POLICY__CHECKSUM_POLICY = eINSTANCE.getRepositoryPolicy_ChecksumPolicy();
+
+ /**
+ * The meta object literal for the '
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ResourceImpl
+ * <em>Resource</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.impl.ResourceImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getResource()
+ * @generated
+ */
+ EClass RESOURCE = eINSTANCE.getResource();
+
+ /**
+ * The meta object literal for the '<em><b>Target Path</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RESOURCE__TARGET_PATH = eINSTANCE.getResource_TargetPath();
+
+ /**
+ * The meta object literal for the '<em><b>Filtering</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RESOURCE__FILTERING = eINSTANCE.getResource_Filtering();
+
+ /**
+ * The meta object literal for the '<em><b>Directory</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RESOURCE__DIRECTORY = eINSTANCE.getResource_Directory();
+
+ /**
+ * The meta object literal for the '<em><b>Includes</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RESOURCE__INCLUDES = eINSTANCE.getResource_Includes();
+
+ /**
+ * The meta object literal for the '<em><b>Excludes</b></em>' attribute list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RESOURCE__EXCLUDES = eINSTANCE.getResource_Excludes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ScmImpl <em>Scm</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ScmImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getScm()
+ * @generated
+ */
+ EClass SCM = eINSTANCE.getScm();
+
+ /**
+ * The meta object literal for the '<em><b>Connection</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SCM__CONNECTION = eINSTANCE.getScm_Connection();
+
+ /**
+ * The meta object literal for the '<em><b>Developer Connection</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SCM__DEVELOPER_CONNECTION = eINSTANCE.getScm_DeveloperConnection();
+
+ /**
+ * The meta object literal for the '<em><b>Tag</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SCM__TAG = eINSTANCE.getScm_Tag();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SCM__URL = eINSTANCE.getScm_Url();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.SiteImpl <em>Site</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.SiteImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getSite()
+ * @generated
+ */
+ EClass SITE = eINSTANCE.getSite();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SITE__ID = eINSTANCE.getSite_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SITE__NAME = eINSTANCE.getSite_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Url</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SITE__URL = eINSTANCE.getSite_Url();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.PropertyElementImpl <em>Property Element</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.PropertyElementImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getPropertyElement()
+ * @generated
+ */
+ EClass PROPERTY_ELEMENT = eINSTANCE.getPropertyElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROPERTY_ELEMENT__NAME = eINSTANCE.getPropertyElement_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROPERTY_ELEMENT__VALUE = eINSTANCE.getPropertyElement_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.m2e.model.edit.pom.impl.ConfigurationImpl <em>Configuration</em>}' class.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.impl.ConfigurationImpl
+ * @see org.eclipse.m2e.model.edit.pom.impl.PomPackageImpl#getConfiguration()
+ * @generated
+ */
+ EClass CONFIGURATION = eINSTANCE.getConfiguration();
+
+ }
+
+} // PomPackage
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Prerequisites.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Prerequisites.java
new file mode 100644
index 00000000..7441b97e
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Prerequisites.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Prerequisites</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 Describes the prerequisites a project can
+ * have. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Prerequisites#getMaven <em>Maven
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPrerequisites()
+ * @model extendedMetaData="name='Prerequisites' kind='elementOnly'"
+ * @generated
+ */
+public interface Prerequisites extends EObject {
+ /**
+ * Returns the value of the '<em><b>Maven</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The minimum version of Maven required to build the project, or to use
+ * this plugin. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Maven</em>' attribute.
+ * @see #isSetMaven()
+ * @see #unsetMaven()
+ * @see #setMaven(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPrerequisites_Maven()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='maven' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getMaven();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Prerequisites#getMaven
+ * <em>Maven</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Maven</em>' attribute.
+ * @see #isSetMaven()
+ * @see #unsetMaven()
+ * @see #getMaven()
+ * @generated
+ */
+ void setMaven(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Prerequisites#getMaven
+ * <em>Maven</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetMaven()
+ * @see #getMaven()
+ * @see #setMaven(String)
+ * @generated
+ */
+ void unsetMaven();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Prerequisites#getMaven
+ * <em>Maven</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Maven</em>' attribute is set.
+ * @see #unsetMaven()
+ * @see #getMaven()
+ * @see #setMaven(String)
+ * @generated
+ */
+ boolean isSetMaven();
+
+} // Prerequisites
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Profile.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Profile.java
new file mode 100644
index 00000000..ab79291f
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Profile.java
@@ -0,0 +1,620 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Profile</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * Modifications to the build process which is activated based on environmental
+ * parameters or command line arguments.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getActivation <em>Activation
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getBuild <em>Build</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getRepositories <em>
+ * Repositories</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getPluginRepositories <em>
+ * Plugin Repositories</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getDependencies <em>
+ * Dependencies</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getReports <em>Reports</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getDependencyManagement <em>
+ * Dependency Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getDistributionManagement
+ * <em>Distribution Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getProperties <em>Properties
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getModules <em>Modules</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Profile#getReporting <em>Reporting
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile()
+ * @model extendedMetaData="name='Profile' kind='elementOnly'"
+ * @generated
+ */
+public interface Profile extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The identifier of this build profile. This used both for command line
+ * activation, and identifies identical profiles to merge with during
+ * inheritance. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_Id()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='id' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.m2e.model.edit.pom.Profile#getId
+ * <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Activation</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0 The conditional logic which will automatically
+ * trigger the inclusion of this profile. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Activation</em>' containment reference.
+ * @see #isSetActivation()
+ * @see #unsetActivation()
+ * @see #setActivation(Activation)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_Activation()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='activation' namespace='##targetNamespace'"
+ * @generated
+ */
+ Activation getActivation();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getActivation
+ * <em>Activation</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Activation</em>' containment
+ * reference.
+ * @see #isSetActivation()
+ * @see #unsetActivation()
+ * @see #getActivation()
+ * @generated
+ */
+ void setActivation(Activation value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getActivation
+ * <em>Activation</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetActivation()
+ * @see #getActivation()
+ * @see #setActivation(Activation)
+ * @generated
+ */
+ void unsetActivation();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getActivation
+ * <em>Activation</em>}' containment reference is set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Activation</em>' containment
+ * reference is set.
+ * @see #unsetActivation()
+ * @see #getActivation()
+ * @see #setActivation(Activation)
+ * @generated
+ */
+ boolean isSetActivation();
+
+ /**
+ * Returns the value of the '<em><b>Build</b></em>' containment reference.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 4.0.0 Information required to build the project. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Build</em>' containment reference.
+ * @see #isSetBuild()
+ * @see #unsetBuild()
+ * @see #setBuild(BuildBase)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_Build()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='build' namespace='##targetNamespace'"
+ * @generated
+ */
+ BuildBase getBuild();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getBuild <em>Build</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Build</em>' containment reference.
+ * @see #isSetBuild()
+ * @see #unsetBuild()
+ * @see #getBuild()
+ * @generated
+ */
+ void setBuild(BuildBase value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getBuild <em>Build</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetBuild()
+ * @see #getBuild()
+ * @see #setBuild(BuildBase)
+ * @generated
+ */
+ void unsetBuild();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getBuild <em>Build</em>}'
+ * containment reference is set. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return whether the value of the '<em>Build</em>' containment reference
+ * is set.
+ * @see #unsetBuild()
+ * @see #getBuild()
+ * @see #setBuild(BuildBase)
+ * @generated
+ */
+ boolean isSetBuild();
+
+ /**
+ * Returns the value of the '<em><b>Repositories</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Repository}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0 The lists of the
+ * remote repositories for discovering dependencies and extensions. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Repositories</em>' containment reference
+ * list.
+ * @see #isSetRepositories()
+ * @see #unsetRepositories()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_Repositories()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='repositories' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Repository> getRepositories();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getRepositories
+ * <em>Repositories</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetRepositories()
+ * @see #getRepositories()
+ * @generated
+ */
+ void unsetRepositories();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getRepositories
+ * <em>Repositories</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Repositories</em>' containment
+ * reference list is set.
+ * @see #unsetRepositories()
+ * @see #getRepositories()
+ * @generated
+ */
+ boolean isSetRepositories();
+
+ /**
+ * Returns the value of the '<em><b>Plugin Repositories</b></em>'
+ * containment reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Repository}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The lists of the remote repositories for discovering plugins for builds
+ * and reports. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Plugin Repositories</em>' containment
+ * reference list.
+ * @see #isSetPluginRepositories()
+ * @see #unsetPluginRepositories()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_PluginRepositories()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='pluginRepositories' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Repository> getPluginRepositories();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getPluginRepositories
+ * <em>Plugin Repositories</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetPluginRepositories()
+ * @see #getPluginRepositories()
+ * @generated
+ */
+ void unsetPluginRepositories();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getPluginRepositories
+ * <em>Plugin Repositories</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Plugin Repositories</em>'
+ * containment reference list is set.
+ * @see #unsetPluginRepositories()
+ * @see #getPluginRepositories()
+ * @generated
+ */
+ boolean isSetPluginRepositories();
+
+ /**
+ * Returns the value of the '<em><b>Dependencies</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * This element describes all of the dependencies associated with a project.
+ * These dependencies are used to construct a classpath for your project
+ * during the build process. They are automatically downloaded from the
+ * repositories defined in this project. See &lt;a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"
+ * &gt;the dependency mechanism&lt;/a&gt; for more information.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Dependencies</em>' containment reference
+ * list.
+ * @see #isSetDependencies()
+ * @see #unsetDependencies()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_Dependencies()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='dependencies' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<Dependency> getDependencies();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getDependencies
+ * <em>Dependencies</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetDependencies()
+ * @see #getDependencies()
+ * @generated
+ */
+ void unsetDependencies();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getDependencies
+ * <em>Dependencies</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Dependencies</em>' containment
+ * reference list is set.
+ * @see #unsetDependencies()
+ * @see #getDependencies()
+ * @generated
+ */
+ boolean isSetDependencies();
+
+ /**
+ * Returns the value of the '<em><b>Reports</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin}. <!-- begin-user-doc
+ * --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * &lt;b&gt;Deprecated&lt;/b&gt;. Now ignored by Maven.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Reports</em>' containment reference list.
+ * @see #isSetReports()
+ * @see #unsetReports()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_Reports()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='reports' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<ReportPlugin> getReports();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getReports <em>Reports</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetReports()
+ * @see #getReports()
+ * @generated
+ */
+ void unsetReports();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getReports <em>Reports</em>}'
+ * containment reference list is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Reports</em>' containment reference
+ * list is set.
+ * @see #unsetReports()
+ * @see #getReports()
+ * @generated
+ */
+ boolean isSetReports();
+
+ /**
+ * Returns the value of the '<em><b>Dependency Management</b></em>'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * Default dependency information for projects that inherit from this one.
+ * The dependencies in this section are not immediately resolved. Instead,
+ * when a POM derived from this one declares a dependency described by a
+ * matching groupId and artifactId, the version and other values from this
+ * section are used for that dependency if they were not already specified.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Dependency Management</em>' containment
+ * reference.
+ * @see #isSetDependencyManagement()
+ * @see #unsetDependencyManagement()
+ * @see #setDependencyManagement(DependencyManagement)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_DependencyManagement()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='dependencyManagement' namespace='##targetNamespace'"
+ * @generated
+ */
+ DependencyManagement getDependencyManagement();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getDependencyManagement
+ * <em>Dependency Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Dependency Management</em>'
+ * containment reference.
+ * @see #isSetDependencyManagement()
+ * @see #unsetDependencyManagement()
+ * @see #getDependencyManagement()
+ * @generated
+ */
+ void setDependencyManagement(DependencyManagement value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getDependencyManagement
+ * <em>Dependency Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetDependencyManagement()
+ * @see #getDependencyManagement()
+ * @see #setDependencyManagement(DependencyManagement)
+ * @generated
+ */
+ void unsetDependencyManagement();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getDependencyManagement
+ * <em>Dependency Management</em>}' containment reference is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Dependency Management</em>'
+ * containment reference is set.
+ * @see #unsetDependencyManagement()
+ * @see #getDependencyManagement()
+ * @see #setDependencyManagement(DependencyManagement)
+ * @generated
+ */
+ boolean isSetDependencyManagement();
+
+ /**
+ * Returns the value of the '<em><b>Distribution Management</b></em>'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0 Distribution information for a project that
+ * enables deployment of the site and artifacts to remote web servers and
+ * repositories respectively. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Distribution Management</em>' containment
+ * reference.
+ * @see #isSetDistributionManagement()
+ * @see #unsetDistributionManagement()
+ * @see #setDistributionManagement(DistributionManagement)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_DistributionManagement()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='distributionManagement' namespace='##targetNamespace'"
+ * @generated
+ */
+ DistributionManagement getDistributionManagement();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getDistributionManagement
+ * <em>Distribution Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Distribution Management</em>'
+ * containment reference.
+ * @see #isSetDistributionManagement()
+ * @see #unsetDistributionManagement()
+ * @see #getDistributionManagement()
+ * @generated
+ */
+ void setDistributionManagement(DistributionManagement value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getDistributionManagement
+ * <em>Distribution Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetDistributionManagement()
+ * @see #getDistributionManagement()
+ * @see #setDistributionManagement(DistributionManagement)
+ * @generated
+ */
+ void unsetDistributionManagement();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getDistributionManagement
+ * <em>Distribution Management</em>}' containment reference is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Distribution Management</em>'
+ * containment reference is set.
+ * @see #unsetDistributionManagement()
+ * @see #getDistributionManagement()
+ * @see #setDistributionManagement(DistributionManagement)
+ * @generated
+ */
+ boolean isSetDistributionManagement();
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement}. <!-- begin-user-doc
+ * --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Properties that can be used throughout the POM as a substitution, and are
+ * used as filters in resources if enabled. The format is
+ * &lt;code&gt;&amp;lt;name&amp;gt;value&amp;lt;/name&amp;gt;&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Properties</em>' containment reference
+ * list.
+ * @see #isSetProperties()
+ * @see #unsetProperties()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_Properties()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='properties' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<PropertyElement> getProperties();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getProperties
+ * <em>Properties</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetProperties()
+ * @see #getProperties()
+ * @generated
+ */
+ void unsetProperties();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getProperties
+ * <em>Properties</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Properties</em>' containment
+ * reference list is set.
+ * @see #unsetProperties()
+ * @see #getProperties()
+ * @generated
+ */
+ boolean isSetProperties();
+
+ /**
+ * Returns the value of the '<em><b>Modules</b></em>' attribute list. The
+ * list contents are of type {@link java.lang.String}. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Modules</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Modules</em>' attribute list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_Modules()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getModules();
+
+ /**
+ * Returns the value of the '<em><b>Reporting</b></em>' reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Reporting</em>' reference isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Reporting</em>' reference.
+ * @see #setReporting(Reporting)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getProfile_Reporting()
+ * @model
+ * @generated
+ */
+ Reporting getReporting();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile#getReporting
+ * <em>Reporting</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Reporting</em>' reference.
+ * @see #getReporting()
+ * @generated
+ */
+ void setReporting(Reporting value);
+
+} // Profile
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PropertyElement.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PropertyElement.java
new file mode 100644
index 00000000..fa900d7c
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/PropertyElement.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Property Element</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.PropertyElement#getName <em>Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.PropertyElement#getValue <em>Value
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPropertyElement()
+ * @model
+ * @generated
+ */
+public interface PropertyElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear, there really
+ * should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPropertyElement_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement#getName
+ * <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there
+ * really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getPropertyElement_Value()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement#getValue
+ * <em>Value</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // PropertyElement
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Relocation.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Relocation.java
new file mode 100644
index 00000000..decefc5a
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Relocation.java
@@ -0,0 +1,152 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Relocation</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 Describes where an artifact has moved to. If
+ * any of the values are omitted, it is assumed to be the same as it was before.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Relocation#getGroupId <em>Group Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Relocation#getArtifactId <em>Artifact
+ * Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Relocation#getVersion <em>Version
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Relocation#getMessage <em>Message
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRelocation()
+ * @model extendedMetaData="name='Relocation' kind='elementOnly'"
+ * @generated
+ */
+public interface Relocation extends EObject {
+ /**
+ * Returns the value of the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The group ID the artifact has moved to. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Group Id</em>' attribute.
+ * @see #setGroupId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRelocation_GroupId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='groupId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getGroupId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Relocation#getGroupId
+ * <em>Group Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Group Id</em>' attribute.
+ * @see #getGroupId()
+ * @generated
+ */
+ void setGroupId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The new artifact ID of the artifact. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Artifact Id</em>' attribute.
+ * @see #setArtifactId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRelocation_ArtifactId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='artifactId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArtifactId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Relocation#getArtifactId
+ * <em>Artifact Id</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Artifact Id</em>' attribute.
+ * @see #getArtifactId()
+ * @generated
+ */
+ void setArtifactId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The new version of the artifact. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRelocation_Version()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='version' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Relocation#getVersion
+ * <em>Version</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Message</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * An additional message to show the user about the move, such as the
+ * reason. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Message</em>' attribute.
+ * @see #setMessage(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRelocation_Message()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='message' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getMessage();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Relocation#getMessage
+ * <em>Message</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Message</em>' attribute.
+ * @see #getMessage()
+ * @generated
+ */
+ void setMessage(String value);
+
+} // Relocation
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ReportPlugin.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ReportPlugin.java
new file mode 100644
index 00000000..928d22a2
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ReportPlugin.java
@@ -0,0 +1,266 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Report Plugin</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getGroupId <em>Group Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getArtifactId <em>
+ * Artifact Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getVersion <em>Version
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getInherited <em>
+ * Inherited</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getReportSets <em>Report
+ * Sets</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getConfiguration <em>
+ * Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportPlugin()
+ * @model extendedMetaData="name='ReportPlugin' kind='elementOnly'"
+ * @generated
+ */
+public interface ReportPlugin extends EObject {
+ /**
+ * Returns the value of the '<em><b>Group Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The group ID of the reporting plugin in the repository. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Group Id</em>' attribute.
+ * @see #isSetGroupId()
+ * @see #unsetGroupId()
+ * @see #setGroupId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportPlugin_GroupId()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='groupId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getGroupId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getGroupId
+ * <em>Group Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Group Id</em>' attribute.
+ * @see #isSetGroupId()
+ * @see #unsetGroupId()
+ * @see #getGroupId()
+ * @generated
+ */
+ void setGroupId(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getGroupId
+ * <em>Group Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #isSetGroupId()
+ * @see #getGroupId()
+ * @see #setGroupId(String)
+ * @generated
+ */
+ void unsetGroupId();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getGroupId
+ * <em>Group Id</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Group Id</em>' attribute is set.
+ * @see #unsetGroupId()
+ * @see #getGroupId()
+ * @see #setGroupId(String)
+ * @generated
+ */
+ boolean isSetGroupId();
+
+ /**
+ * Returns the value of the '<em><b>Artifact Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The artifact ID of the reporting plugin in the repository. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Artifact Id</em>' attribute.
+ * @see #setArtifactId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportPlugin_ArtifactId()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='artifactId' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getArtifactId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getArtifactId
+ * <em>Artifact Id</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Artifact Id</em>' attribute.
+ * @see #getArtifactId()
+ * @generated
+ */
+ void setArtifactId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Version</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * The version of the reporting plugin to be used. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Version</em>' attribute.
+ * @see #setVersion(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportPlugin_Version()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='version' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getVersion();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getVersion
+ * <em>Version</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Version</em>' attribute.
+ * @see #getVersion()
+ * @generated
+ */
+ void setVersion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Inherited</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ * Whether the configuration in this plugin should be made available to
+ * projects that inherit from this one. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Inherited</em>' attribute.
+ * @see #setInherited(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportPlugin_Inherited()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='inherited' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getInherited();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getInherited
+ * <em>Inherited</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Inherited</em>' attribute.
+ * @see #getInherited()
+ * @generated
+ */
+ void setInherited(String value);
+
+ /**
+ * Returns the value of the '<em><b>Report Sets</b></em>' containment
+ * reference list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet}. <!-- begin-user-doc -->
+ * <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0 Multiple
+ * specifications of a set of reports, each having (possibly) different
+ * configuration. This is the reporting parallel to an
+ * &lt;code&gt;execution&lt;/code&gt; in the build. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Report Sets</em>' containment reference
+ * list.
+ * @see #isSetReportSets()
+ * @see #unsetReportSets()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportPlugin_ReportSets()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='reportSets' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<ReportSet> getReportSets();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getReportSets
+ * <em>Report Sets</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isSetReportSets()
+ * @see #getReportSets()
+ * @generated
+ */
+ void unsetReportSets();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getReportSets
+ * <em>Report Sets</em>}' containment reference list is set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Report Sets</em>' containment
+ * reference list is set.
+ * @see #unsetReportSets()
+ * @see #getReportSets()
+ * @generated
+ */
+ boolean isSetReportSets();
+
+ /**
+ * Returns the value of the '<em><b>Configuration</b></em>' reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Configuration</em>' reference.
+ * @see #setConfiguration(Configuration)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportPlugin_Configuration()
+ * @model
+ * @generated
+ */
+ Configuration getConfiguration();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin#getConfiguration
+ * <em>Configuration</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Configuration</em>' reference.
+ * @see #getConfiguration()
+ * @generated
+ */
+ void setConfiguration(Configuration value);
+
+} // ReportPlugin
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ReportSet.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ReportSet.java
new file mode 100644
index 00000000..b339c9be
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/ReportSet.java
@@ -0,0 +1,176 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Report Set</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 Represents a set of reports and configuration
+ * to be used to generate them. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportSet#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportSet#getInherited <em>Inherited
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportSet#getReports <em>Reports
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.ReportSet#getConfiguration <em>
+ * Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportSet()
+ * @model extendedMetaData="name='ReportSet' kind='elementOnly'"
+ * @generated
+ */
+public interface ReportSet extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 0.0.0+
+ * The unique id for this report set, to be used during POM inheritance.
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #isSetId()
+ * @see #unsetId()
+ * @see #setId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportSet_Id()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='id' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet#getId <em>Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #isSetId()
+ * @see #unsetId()
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet#getId <em>Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetId()
+ * @see #getId()
+ * @see #setId(String)
+ * @generated
+ */
+ void unsetId();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet#getId <em>Id</em>}'
+ * attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Id</em>' attribute is set.
+ * @see #unsetId()
+ * @see #getId()
+ * @see #setId(String)
+ * @generated
+ */
+ boolean isSetId();
+
+ /**
+ * Returns the value of the '<em><b>Inherited</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Whether any configuration should be propagated to child POMs. <!--
+ * end-model-doc -->
+ *
+ * @return the value of the '<em>Inherited</em>' attribute.
+ * @see #setInherited(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportSet_Inherited()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='inherited' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getInherited();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet#getInherited
+ * <em>Inherited</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Inherited</em>' attribute.
+ * @see #getInherited()
+ * @generated
+ */
+ void setInherited(String value);
+
+ /**
+ * Returns the value of the '<em><b>Reports</b></em>' attribute list. The
+ * list contents are of type {@link java.lang.String}. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Reports</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Reports</em>' attribute list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportSet_Reports()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getReports();
+
+ /**
+ * Returns the value of the '<em><b>Configuration</b></em>' reference. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Configuration</em>' reference.
+ * @see #setConfiguration(Configuration)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReportSet_Configuration()
+ * @model
+ * @generated
+ */
+ Configuration getConfiguration();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet#getConfiguration
+ * <em>Configuration</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Configuration</em>' reference.
+ * @see #getConfiguration()
+ * @generated
+ */
+ void setConfiguration(Configuration value);
+
+} // ReportSet
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Reporting.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Reporting.java
new file mode 100644
index 00000000..7cbb6d0b
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Reporting.java
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Reporting</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 Section for management of reports and their
+ * configuration. <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Reporting#getExcludeDefaults <em>
+ * Exclude Defaults</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Reporting#getOutputDirectory <em>
+ * Output Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Reporting#getPlugins <em>Plugins
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReporting()
+ * @model extendedMetaData="name='Reporting' kind='elementOnly'"
+ * @generated
+ */
+public interface Reporting extends EObject {
+ /**
+ * Returns the value of the '<em><b>Exclude Defaults</b></em>' attribute.
+ * The default value is <code>"false"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 4.0.0 If true, then the default
+ * reports are not included in the site generation. This includes the
+ * reports in the "Project Info" menu. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Exclude Defaults</em>' attribute.
+ * @see #isSetExcludeDefaults()
+ * @see #unsetExcludeDefaults()
+ * @see #setExcludeDefaults(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReporting_ExcludeDefaults()
+ * @model default="false" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='excludeDefaults' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getExcludeDefaults();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting#getExcludeDefaults
+ * <em>Exclude Defaults</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Exclude Defaults</em>' attribute.
+ * @see #isSetExcludeDefaults()
+ * @see #unsetExcludeDefaults()
+ * @see #getExcludeDefaults()
+ * @generated
+ */
+ void setExcludeDefaults(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting#getExcludeDefaults
+ * <em>Exclude Defaults</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetExcludeDefaults()
+ * @see #getExcludeDefaults()
+ * @see #setExcludeDefaults(String)
+ * @generated
+ */
+ void unsetExcludeDefaults();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting#getExcludeDefaults
+ * <em>Exclude Defaults</em>}' attribute is set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Exclude Defaults</em>' attribute is
+ * set.
+ * @see #unsetExcludeDefaults()
+ * @see #getExcludeDefaults()
+ * @see #setExcludeDefaults(String)
+ * @generated
+ */
+ boolean isSetExcludeDefaults();
+
+ /**
+ * Returns the value of the '<em><b>Output Directory</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 4.0.0
+ *
+ * Where to store all of the generated reports. The default is
+ * &lt;code&gt;${project.build.directory}/site&lt;/code&gt; .
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Output Directory</em>' attribute.
+ * @see #setOutputDirectory(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReporting_OutputDirectory()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='outputDirectory' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getOutputDirectory();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting#getOutputDirectory
+ * <em>Output Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Output Directory</em>' attribute.
+ * @see #getOutputDirectory()
+ * @generated
+ */
+ void setOutputDirectory(String value);
+
+ /**
+ * Returns the value of the '<em><b>Plugins</b></em>' containment reference
+ * list. The list contents are of type
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin}. <!-- begin-user-doc
+ * --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0 The reporting
+ * plugins to use and their configuration. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Plugins</em>' containment reference list.
+ * @see #isSetPlugins()
+ * @see #unsetPlugins()
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getReporting_Plugins()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='plugins' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<ReportPlugin> getPlugins();
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting#getPlugins
+ * <em>Plugins</em>}' containment reference list. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isSetPlugins()
+ * @see #getPlugins()
+ * @generated
+ */
+ void unsetPlugins();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting#getPlugins
+ * <em>Plugins</em>}' containment reference list is set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Plugins</em>' containment reference
+ * list is set.
+ * @see #unsetPlugins()
+ * @see #getPlugins()
+ * @generated
+ */
+ boolean isSetPlugins();
+
+} // Reporting
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Repository.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Repository.java
new file mode 100644
index 00000000..32e74f13
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Repository.java
@@ -0,0 +1,320 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Repository</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * A repository contains the information needed for establishing connections
+ * with remote repoistory.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Repository#getReleases <em>Releases
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Repository#getSnapshots <em>Snapshots
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Repository#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Repository#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Repository#getUrl <em>Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Repository#getLayout <em>Layout</em>}
+ * </li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepository()
+ * @model extendedMetaData="name='Repository' kind='elementOnly'"
+ * @generated
+ */
+public interface Repository extends EObject {
+ /**
+ * Returns the value of the '<em><b>Releases</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0 How to handle downloading of releases from this
+ * repository. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Releases</em>' containment reference.
+ * @see #isSetReleases()
+ * @see #unsetReleases()
+ * @see #setReleases(RepositoryPolicy)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepository_Releases()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='releases' namespace='##targetNamespace'"
+ * @generated
+ */
+ RepositoryPolicy getReleases();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getReleases
+ * <em>Releases</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Releases</em>' containment
+ * reference.
+ * @see #isSetReleases()
+ * @see #unsetReleases()
+ * @see #getReleases()
+ * @generated
+ */
+ void setReleases(RepositoryPolicy value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getReleases
+ * <em>Releases</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetReleases()
+ * @see #getReleases()
+ * @see #setReleases(RepositoryPolicy)
+ * @generated
+ */
+ void unsetReleases();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getReleases
+ * <em>Releases</em>}' containment reference is set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Releases</em>' containment
+ * reference is set.
+ * @see #unsetReleases()
+ * @see #getReleases()
+ * @see #setReleases(RepositoryPolicy)
+ * @generated
+ */
+ boolean isSetReleases();
+
+ /**
+ * Returns the value of the '<em><b>Snapshots</b></em>' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0 How to handle downloading of snapshots from
+ * this repository. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Snapshots</em>' containment reference.
+ * @see #isSetSnapshots()
+ * @see #unsetSnapshots()
+ * @see #setSnapshots(RepositoryPolicy)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepository_Snapshots()
+ * @model containment="true" unsettable="true" extendedMetaData=
+ * "kind='element' name='snapshots' namespace='##targetNamespace'"
+ * @generated
+ */
+ RepositoryPolicy getSnapshots();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getSnapshots
+ * <em>Snapshots</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Snapshots</em>' containment
+ * reference.
+ * @see #isSetSnapshots()
+ * @see #unsetSnapshots()
+ * @see #getSnapshots()
+ * @generated
+ */
+ void setSnapshots(RepositoryPolicy value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getSnapshots
+ * <em>Snapshots</em>}' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isSetSnapshots()
+ * @see #getSnapshots()
+ * @see #setSnapshots(RepositoryPolicy)
+ * @generated
+ */
+ void unsetSnapshots();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getSnapshots
+ * <em>Snapshots</em>}' containment reference is set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Snapshots</em>' containment
+ * reference is set.
+ * @see #unsetSnapshots()
+ * @see #getSnapshots()
+ * @see #setSnapshots(RepositoryPolicy)
+ * @generated
+ */
+ boolean isSetSnapshots();
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * A unique identifier for a repository. This is used to match the
+ * repository to configuration in the &lt;code&gt;settings.xml&lt;/code&gt;
+ * file, for example.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepository_Id()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='id' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getId <em>Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Human readable name of the repository.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepository_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getName <em>Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The url of the repository, in the form
+ * &lt;code&gt;protocol://hostname/path&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepository_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getUrl <em>Url</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Layout</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The type of layout this repository uses for locating and storing
+ * artifacts - can be &lt;code&gt;legacy&lt;/code&gt; or
+ * &lt;code&gt;default&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Layout</em>' attribute.
+ * @see #isSetLayout()
+ * @see #unsetLayout()
+ * @see #setLayout(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepository_Layout()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='layout' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getLayout();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getLayout <em>Layout</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Layout</em>' attribute.
+ * @see #isSetLayout()
+ * @see #unsetLayout()
+ * @see #getLayout()
+ * @generated
+ */
+ void setLayout(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getLayout <em>Layout</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetLayout()
+ * @see #getLayout()
+ * @see #setLayout(String)
+ * @generated
+ */
+ void unsetLayout();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository#getLayout <em>Layout</em>}
+ * ' attribute is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Layout</em>' attribute is set.
+ * @see #unsetLayout()
+ * @see #getLayout()
+ * @see #setLayout(String)
+ * @generated
+ */
+ boolean isSetLayout();
+
+} // Repository
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/RepositoryPolicy.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/RepositoryPolicy.java
new file mode 100644
index 00000000..69bd03e1
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/RepositoryPolicy.java
@@ -0,0 +1,165 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Repository Policy</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 Download policy <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getEnabled <em>
+ * Enabled</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getUpdatePolicy <em>
+ * Update Policy</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getChecksumPolicy
+ * <em>Checksum Policy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepositoryPolicy()
+ * @model extendedMetaData="name='RepositoryPolicy' kind='elementOnly'"
+ * @generated
+ */
+public interface RepositoryPolicy extends EObject {
+ /**
+ * Returns the value of the '<em><b>Enabled</b></em>' attribute. The default
+ * value is <code>"true"</code>. <!-- begin-user-doc --> <!-- end-user-doc
+ * --> <!-- begin-model-doc --> 4.0.0 Whether to use this repository for
+ * downloading this type of artifact. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Enabled</em>' attribute.
+ * @see #isSetEnabled()
+ * @see #unsetEnabled()
+ * @see #setEnabled(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepositoryPolicy_Enabled()
+ * @model default="true" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='enabled' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getEnabled();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getEnabled
+ * <em>Enabled</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Enabled</em>' attribute.
+ * @see #isSetEnabled()
+ * @see #unsetEnabled()
+ * @see #getEnabled()
+ * @generated
+ */
+ void setEnabled(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getEnabled
+ * <em>Enabled</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #isSetEnabled()
+ * @see #getEnabled()
+ * @see #setEnabled(String)
+ * @generated
+ */
+ void unsetEnabled();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getEnabled
+ * <em>Enabled</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Enabled</em>' attribute is set.
+ * @see #unsetEnabled()
+ * @see #getEnabled()
+ * @see #setEnabled(String)
+ * @generated
+ */
+ boolean isSetEnabled();
+
+ /**
+ * Returns the value of the '<em><b>Update Policy</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The frequency for downloading updates - can be
+ * &lt;code&gt;always,&lt;/code&gt; &lt;code&gt;daily&lt;/code&gt;
+ * (default), &lt;code&gt;interval:XXX&lt;/code&gt; (in minutes) or
+ * &lt;code&gt;never&lt;/code&gt; (only if it doesn't exist locally).
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Update Policy</em>' attribute.
+ * @see #setUpdatePolicy(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepositoryPolicy_UpdatePolicy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='updatePolicy' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUpdatePolicy();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getUpdatePolicy
+ * <em>Update Policy</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Update Policy</em>' attribute.
+ * @see #getUpdatePolicy()
+ * @generated
+ */
+ void setUpdatePolicy(String value);
+
+ /**
+ * Returns the value of the '<em><b>Checksum Policy</b></em>' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc -->
+ * 4.0.0
+ *
+ * What to do when verification of an artifact checksum fails. Valid values
+ * are &lt;code&gt;ignore&lt;/code&gt; , &lt;code&gt;fail&lt;/code&gt; or
+ * &lt;code&gt;warn&lt;/code&gt; (the default).
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Checksum Policy</em>' attribute.
+ * @see #setChecksumPolicy(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getRepositoryPolicy_ChecksumPolicy()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='checksumPolicy' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getChecksumPolicy();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy#getChecksumPolicy
+ * <em>Checksum Policy</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Checksum Policy</em>' attribute.
+ * @see #getChecksumPolicy()
+ * @generated
+ */
+ void setChecksumPolicy(String value);
+
+} // RepositoryPolicy
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Resource.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Resource.java
new file mode 100644
index 00000000..d52ea7dc
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Resource.java
@@ -0,0 +1,217 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Resource</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 3.0.0+
+ *
+ * This element describes all of the classpath resources associated with a
+ * project or unit tests.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Resource#getTargetPath <em>Target
+ * Path</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Resource#getFiltering <em>Filtering
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Resource#getDirectory <em>Directory
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Resource#getIncludes <em>Includes
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Resource#getExcludes <em>Excludes
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getResource()
+ * @model extendedMetaData="name='Resource' kind='elementOnly'"
+ * @generated
+ */
+public interface Resource extends EObject {
+ /**
+ * Returns the value of the '<em><b>Target Path</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * Describe the resource target path. For example, if you want that resource
+ * to appear in a specific package
+ * (&lt;code&gt;org.apache.maven.messages&lt;/code&gt;), you must specify
+ * this element with this value:
+ * &lt;code&gt;org/apache/maven/messages&lt;/code&gt;. This is not required
+ * if you simply put the resources in that directory structure at the
+ * source, however.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Target Path</em>' attribute.
+ * @see #setTargetPath(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getResource_TargetPath()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='targetPath' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getTargetPath();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Resource#getTargetPath
+ * <em>Target Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Target Path</em>' attribute.
+ * @see #getTargetPath()
+ * @generated
+ */
+ void setTargetPath(String value);
+
+ /**
+ * Returns the value of the '<em><b>Filtering</b></em>' attribute. The
+ * default value is <code>"false"</code>. <!-- begin-user-doc --> <!--
+ * end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * Whether resources are filtered to replace tokens with parameterised
+ * values or not. The values are taken from the
+ * &lt;code&gt;properties&lt;/code&gt; element and from the properties in
+ * the files listed in the &lt;code&gt;filters&lt;/code&gt; element.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Filtering</em>' attribute.
+ * @see #isSetFiltering()
+ * @see #unsetFiltering()
+ * @see #setFiltering(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getResource_Filtering()
+ * @model default="false" unsettable="true"
+ * dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='filtering' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getFiltering();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Resource#getFiltering
+ * <em>Filtering</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Filtering</em>' attribute.
+ * @see #isSetFiltering()
+ * @see #unsetFiltering()
+ * @see #getFiltering()
+ * @generated
+ */
+ void setFiltering(String value);
+
+ /**
+ * Unsets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Resource#getFiltering
+ * <em>Filtering</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #isSetFiltering()
+ * @see #getFiltering()
+ * @see #setFiltering(String)
+ * @generated
+ */
+ void unsetFiltering();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Resource#getFiltering
+ * <em>Filtering</em>}' attribute is set. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return whether the value of the '<em>Filtering</em>' attribute is set.
+ * @see #unsetFiltering()
+ * @see #getFiltering()
+ * @see #setFiltering(String)
+ * @generated
+ */
+ boolean isSetFiltering();
+
+ /**
+ * Returns the value of the '<em><b>Directory</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 3.0.0+
+ *
+ * Describe the directory where the resources are stored. The path is
+ * relative to the POM.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Directory</em>' attribute.
+ * @see #setDirectory(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getResource_Directory()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='directory' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getDirectory();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Resource#getDirectory
+ * <em>Directory</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @param value
+ * the new value of the '<em>Directory</em>' attribute.
+ * @see #getDirectory()
+ * @generated
+ */
+ void setDirectory(String value);
+
+ /**
+ * Returns the value of the '<em><b>Includes</b></em>' attribute list. The
+ * list contents are of type {@link java.lang.String}. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Includes</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Includes</em>' attribute list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getResource_Includes()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getIncludes();
+
+ /**
+ * Returns the value of the '<em><b>Excludes</b></em>' attribute list. The
+ * list contents are of type {@link java.lang.String}. <!-- begin-user-doc
+ * -->
+ * <p>
+ * If the meaning of the '<em>Excludes</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Excludes</em>' attribute list.
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getResource_Excludes()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * @generated
+ */
+ EList<String> getExcludes();
+
+} // Resource
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Scm.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Scm.java
new file mode 100644
index 00000000..eaac755a
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Scm.java
@@ -0,0 +1,191 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Scm</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0 <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Scm#getConnection <em>Connection
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Scm#getDeveloperConnection <em>
+ * Developer Connection</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Scm#getTag <em>Tag</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Scm#getUrl <em>Url</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getScm()
+ * @model extendedMetaData="name='Scm' kind='elementOnly'"
+ * @generated
+ */
+public interface Scm extends EObject {
+ /**
+ * Returns the value of the '<em><b>Connection</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The source control management system URL that describes the repository
+ * and how to connect to the repository. For more information, see the &lt;a
+ * href="http://maven.apache.org/scm/scm-url-format.html"&gt;URL
+ * format&lt;/a&gt; and &lt;a
+ * href="http://maven.apache.org/scm/scms-overview.html"&gt;list of
+ * supported SCMs&lt;/a&gt;. This connection is read-only.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Connection</em>' attribute.
+ * @see #setConnection(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getScm_Connection()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='connection' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getConnection();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Scm#getConnection
+ * <em>Connection</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Connection</em>' attribute.
+ * @see #getConnection()
+ * @generated
+ */
+ void setConnection(String value);
+
+ /**
+ * Returns the value of the '<em><b>Developer Connection</b></em>'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
+ * begin-model-doc --> 4.0.0
+ *
+ * Just like &lt;code&gt;connection&lt;/code&gt;, but for developers, i.e.
+ * this scm connection will not be read only.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Developer Connection</em>' attribute.
+ * @see #setDeveloperConnection(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getScm_DeveloperConnection()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='developerConnection' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getDeveloperConnection();
+
+ /**
+ * Sets the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Scm#getDeveloperConnection
+ * <em>Developer Connection</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Developer Connection</em>'
+ * attribute.
+ * @see #getDeveloperConnection()
+ * @generated
+ */
+ void setDeveloperConnection(String value);
+
+ /**
+ * Returns the value of the '<em><b>Tag</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The tag of current code. By default, it's set to HEAD during development.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Tag</em>' attribute.
+ * @see #isSetTag()
+ * @see #unsetTag()
+ * @see #setTag(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getScm_Tag()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
+ * extendedMetaData
+ * ="kind='element' name='tag' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getTag();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.m2e.model.edit.pom.Scm#getTag
+ * <em>Tag</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Tag</em>' attribute.
+ * @see #isSetTag()
+ * @see #unsetTag()
+ * @see #getTag()
+ * @generated
+ */
+ void setTag(String value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.m2e.model.edit.pom.Scm#getTag
+ * <em>Tag</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #isSetTag()
+ * @see #getTag()
+ * @see #setTag(String)
+ * @generated
+ */
+ void unsetTag();
+
+ /**
+ * Returns whether the value of the '
+ * {@link org.eclipse.m2e.model.edit.pom.Scm#getTag <em>Tag</em>}' attribute
+ * is set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return whether the value of the '<em>Tag</em>' attribute is set.
+ * @see #unsetTag()
+ * @see #getTag()
+ * @see #setTag(String)
+ * @generated
+ */
+ boolean isSetTag();
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The URL to the project's browsable SCM repository, such as ViewVC or
+ * Fisheye. <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getScm_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.m2e.model.edit.pom.Scm#getUrl
+ * <em>Url</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+} // Scm
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Site.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Site.java
new file mode 100644
index 00000000..8520dff4
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/Site.java
@@ -0,0 +1,127 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Site</b></em>'. <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc --> 4.0.0
+ *
+ * Contains the information needed for deploying websites.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Site#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Site#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.Site#getUrl <em>Url</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getSite()
+ * @model extendedMetaData="name='Site' kind='elementOnly'"
+ * @generated
+ */
+public interface Site extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * A unique identifier for a deployment locataion. This is used to match the
+ * site to configuration in the &lt;code&gt;settings.xml&lt;/code&gt; file,
+ * for example.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getSite_Id()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='id' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.m2e.model.edit.pom.Site#getId
+ * <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * Human readable name of the deployment location.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getSite_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.m2e.model.edit.pom.Site#getName
+ * <em>Name</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Url</b></em>' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> 4.0.0
+ *
+ * The url of the location where website is deployed, in the form
+ * &lt;code&gt;protocol://hostname/path&lt;/code&gt;.
+ *
+ * <!-- end-model-doc -->
+ *
+ * @return the value of the '<em>Url</em>' attribute.
+ * @see #setUrl(String)
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage#getSite_Url()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" extendedMetaData=
+ * "kind='element' name='url' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getUrl();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.m2e.model.edit.pom.Site#getUrl
+ * <em>Url</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Url</em>' attribute.
+ * @see #getUrl()
+ * @generated
+ */
+ void setUrl(String value);
+
+} // Site
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationFileImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationFileImpl.java
new file mode 100644
index 00000000..9af20d7f
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationFileImpl.java
@@ -0,0 +1,232 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.ActivationFile;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Activation File</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationFileImpl#getMissing
+ * <em>Missing</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationFileImpl#getExists
+ * <em>Exists</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ActivationFileImpl extends EObjectImpl implements ActivationFile {
+ /**
+ * The default value of the '{@link #getMissing() <em>Missing</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMissing()
+ * @generated
+ * @ordered
+ */
+ protected static final String MISSING_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMissing() <em>Missing</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMissing()
+ * @generated
+ * @ordered
+ */
+ protected String missing = MISSING_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getExists() <em>Exists</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExists()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXISTS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getExists() <em>Exists</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExists()
+ * @generated
+ * @ordered
+ */
+ protected String exists = EXISTS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivationFileImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.ACTIVATION_FILE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getMissing() {
+ return missing;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setMissing(String newMissing) {
+ String oldMissing = missing;
+ missing = newMissing;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION_FILE__MISSING, oldMissing, missing));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getExists() {
+ return exists;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExists(String newExists) {
+ String oldExists = exists;
+ exists = newExists;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION_FILE__EXISTS, oldExists, exists));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_FILE__MISSING:
+ return getMissing();
+ case PomPackage.ACTIVATION_FILE__EXISTS:
+ return getExists();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_FILE__MISSING:
+ setMissing((String) newValue);
+ return;
+ case PomPackage.ACTIVATION_FILE__EXISTS:
+ setExists((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_FILE__MISSING:
+ setMissing(MISSING_EDEFAULT);
+ return;
+ case PomPackage.ACTIVATION_FILE__EXISTS:
+ setExists(EXISTS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_FILE__MISSING:
+ return MISSING_EDEFAULT == null ? missing != null
+ : !MISSING_EDEFAULT.equals(missing);
+ case PomPackage.ACTIVATION_FILE__EXISTS:
+ return EXISTS_EDEFAULT == null ? exists != null : !EXISTS_EDEFAULT
+ .equals(exists);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (missing: "); //$NON-NLS-1$
+ result.append(missing);
+ result.append(", exists: "); //$NON-NLS-1$
+ result.append(exists);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ActivationFileImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationImpl.java
new file mode 100644
index 00000000..f4f2cc03
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationImpl.java
@@ -0,0 +1,738 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.Activation;
+import org.eclipse.m2e.model.edit.pom.ActivationFile;
+import org.eclipse.m2e.model.edit.pom.ActivationOS;
+import org.eclipse.m2e.model.edit.pom.ActivationProperty;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Activation</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ActivationImpl#getActiveByDefault
+ * <em>Active By Default</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationImpl#getJdk <em>Jdk
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationImpl#getOs <em>Os
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationImpl#getProperty <em>
+ * Property</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationImpl#getFile <em>File
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ActivationImpl extends EObjectImpl implements Activation {
+ /**
+ * The default value of the '{@link #getActiveByDefault()
+ * <em>Active By Default</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getActiveByDefault()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACTIVE_BY_DEFAULT_EDEFAULT = "false"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getActiveByDefault()
+ * <em>Active By Default</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getActiveByDefault()
+ * @generated
+ * @ordered
+ */
+ protected String activeByDefault = ACTIVE_BY_DEFAULT_EDEFAULT;
+
+ /**
+ * This is true if the Active By Default attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean activeByDefaultESet;
+
+ /**
+ * The default value of the '{@link #getJdk() <em>Jdk</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getJdk()
+ * @generated
+ * @ordered
+ */
+ protected static final String JDK_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getJdk() <em>Jdk</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getJdk()
+ * @generated
+ * @ordered
+ */
+ protected String jdk = JDK_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOs() <em>Os</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOs()
+ * @generated
+ * @ordered
+ */
+ protected ActivationOS os;
+
+ /**
+ * This is true if the Os containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean osESet;
+
+ /**
+ * The cached value of the '{@link #getProperty() <em>Property</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getProperty()
+ * @generated
+ * @ordered
+ */
+ protected ActivationProperty property;
+
+ /**
+ * This is true if the Property containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean propertyESet;
+
+ /**
+ * The cached value of the '{@link #getFile() <em>File</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFile()
+ * @generated
+ * @ordered
+ */
+ protected ActivationFile file;
+
+ /**
+ * This is true if the File containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean fileESet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.ACTIVATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getActiveByDefault() {
+ return activeByDefault;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setActiveByDefault(String newActiveByDefault) {
+ String oldActiveByDefault = activeByDefault;
+ activeByDefault = newActiveByDefault;
+ boolean oldActiveByDefaultESet = activeByDefaultESet;
+ activeByDefaultESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION__ACTIVE_BY_DEFAULT,
+ oldActiveByDefault, activeByDefault,
+ !oldActiveByDefaultESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetActiveByDefault() {
+ String oldActiveByDefault = activeByDefault;
+ boolean oldActiveByDefaultESet = activeByDefaultESet;
+ activeByDefault = ACTIVE_BY_DEFAULT_EDEFAULT;
+ activeByDefaultESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.ACTIVATION__ACTIVE_BY_DEFAULT,
+ oldActiveByDefault, ACTIVE_BY_DEFAULT_EDEFAULT,
+ oldActiveByDefaultESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetActiveByDefault() {
+ return activeByDefaultESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getJdk() {
+ return jdk;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setJdk(String newJdk) {
+ String oldJdk = jdk;
+ jdk = newJdk;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION__JDK, oldJdk, jdk));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationOS getOs() {
+ return os;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetOs(ActivationOS newOs,
+ NotificationChain msgs) {
+ ActivationOS oldOs = os;
+ os = newOs;
+ boolean oldOsESet = osESet;
+ osESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.ACTIVATION__OS, oldOs, newOs,
+ !oldOsESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOs(ActivationOS newOs) {
+ if (newOs != os) {
+ NotificationChain msgs = null;
+ if (os != null)
+ msgs = ((InternalEObject) os).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.ACTIVATION__OS,
+ null, msgs);
+ if (newOs != null)
+ msgs = ((InternalEObject) newOs).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.ACTIVATION__OS,
+ null, msgs);
+ msgs = basicSetOs(newOs, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldOsESet = osESet;
+ osESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION__OS, newOs, newOs, !oldOsESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetOs(NotificationChain msgs) {
+ ActivationOS oldOs = os;
+ os = null;
+ boolean oldOsESet = osESet;
+ osESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.ACTIVATION__OS, oldOs, null,
+ oldOsESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetOs() {
+ if (os != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) os).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.ACTIVATION__OS, null,
+ msgs);
+ msgs = basicUnsetOs(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldOsESet = osESet;
+ osESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.ACTIVATION__OS, null, null, oldOsESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetOs() {
+ return osESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationProperty getProperty() {
+ return property;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetProperty(ActivationProperty newProperty,
+ NotificationChain msgs) {
+ ActivationProperty oldProperty = property;
+ property = newProperty;
+ boolean oldPropertyESet = propertyESet;
+ propertyESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.ACTIVATION__PROPERTY,
+ oldProperty, newProperty, !oldPropertyESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setProperty(ActivationProperty newProperty) {
+ if (newProperty != property) {
+ NotificationChain msgs = null;
+ if (property != null)
+ msgs = ((InternalEObject) property).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.ACTIVATION__PROPERTY, null, msgs);
+ if (newProperty != null)
+ msgs = ((InternalEObject) newProperty).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.ACTIVATION__PROPERTY, null, msgs);
+ msgs = basicSetProperty(newProperty, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldPropertyESet = propertyESet;
+ propertyESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION__PROPERTY, newProperty,
+ newProperty, !oldPropertyESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetProperty(NotificationChain msgs) {
+ ActivationProperty oldProperty = property;
+ property = null;
+ boolean oldPropertyESet = propertyESet;
+ propertyESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.ACTIVATION__PROPERTY,
+ oldProperty, null, oldPropertyESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetProperty() {
+ if (property != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) property).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.ACTIVATION__PROPERTY,
+ null, msgs);
+ msgs = basicUnsetProperty(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldPropertyESet = propertyESet;
+ propertyESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.ACTIVATION__PROPERTY, null, null,
+ oldPropertyESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetProperty() {
+ return propertyESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationFile getFile() {
+ return file;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetFile(ActivationFile newFile,
+ NotificationChain msgs) {
+ ActivationFile oldFile = file;
+ file = newFile;
+ boolean oldFileESet = fileESet;
+ fileESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.ACTIVATION__FILE, oldFile,
+ newFile, !oldFileESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFile(ActivationFile newFile) {
+ if (newFile != file) {
+ NotificationChain msgs = null;
+ if (file != null)
+ msgs = ((InternalEObject) file).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.ACTIVATION__FILE,
+ null, msgs);
+ if (newFile != null)
+ msgs = ((InternalEObject) newFile).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.ACTIVATION__FILE,
+ null, msgs);
+ msgs = basicSetFile(newFile, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldFileESet = fileESet;
+ fileESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION__FILE, newFile, newFile,
+ !oldFileESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetFile(NotificationChain msgs) {
+ ActivationFile oldFile = file;
+ file = null;
+ boolean oldFileESet = fileESet;
+ fileESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.ACTIVATION__FILE, oldFile,
+ null, oldFileESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetFile() {
+ if (file != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) file).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.ACTIVATION__FILE, null,
+ msgs);
+ msgs = basicUnsetFile(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldFileESet = fileESet;
+ fileESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.ACTIVATION__FILE, null, null, oldFileESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetFile() {
+ return fileESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION__OS:
+ return basicUnsetOs(msgs);
+ case PomPackage.ACTIVATION__PROPERTY:
+ return basicUnsetProperty(msgs);
+ case PomPackage.ACTIVATION__FILE:
+ return basicUnsetFile(msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION__ACTIVE_BY_DEFAULT:
+ return getActiveByDefault();
+ case PomPackage.ACTIVATION__JDK:
+ return getJdk();
+ case PomPackage.ACTIVATION__OS:
+ return getOs();
+ case PomPackage.ACTIVATION__PROPERTY:
+ return getProperty();
+ case PomPackage.ACTIVATION__FILE:
+ return getFile();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION__ACTIVE_BY_DEFAULT:
+ setActiveByDefault((String) newValue);
+ return;
+ case PomPackage.ACTIVATION__JDK:
+ setJdk((String) newValue);
+ return;
+ case PomPackage.ACTIVATION__OS:
+ setOs((ActivationOS) newValue);
+ return;
+ case PomPackage.ACTIVATION__PROPERTY:
+ setProperty((ActivationProperty) newValue);
+ return;
+ case PomPackage.ACTIVATION__FILE:
+ setFile((ActivationFile) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION__ACTIVE_BY_DEFAULT:
+ unsetActiveByDefault();
+ return;
+ case PomPackage.ACTIVATION__JDK:
+ setJdk(JDK_EDEFAULT);
+ return;
+ case PomPackage.ACTIVATION__OS:
+ unsetOs();
+ return;
+ case PomPackage.ACTIVATION__PROPERTY:
+ unsetProperty();
+ return;
+ case PomPackage.ACTIVATION__FILE:
+ unsetFile();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION__ACTIVE_BY_DEFAULT:
+ return isSetActiveByDefault();
+ case PomPackage.ACTIVATION__JDK:
+ return JDK_EDEFAULT == null ? jdk != null : !JDK_EDEFAULT
+ .equals(jdk);
+ case PomPackage.ACTIVATION__OS:
+ return isSetOs();
+ case PomPackage.ACTIVATION__PROPERTY:
+ return isSetProperty();
+ case PomPackage.ACTIVATION__FILE:
+ return isSetFile();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (activeByDefault: "); //$NON-NLS-1$
+ if (activeByDefaultESet)
+ result.append(activeByDefault);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", jdk: "); //$NON-NLS-1$
+ result.append(jdk);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ActivationImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationOSImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationOSImpl.java
new file mode 100644
index 00000000..778b6ae4
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationOSImpl.java
@@ -0,0 +1,346 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.ActivationOS;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Activation OS</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationOSImpl#getName <em>
+ * Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationOSImpl#getFamily <em>
+ * Family</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationOSImpl#getArch <em>
+ * Arch</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationOSImpl#getVersion <em>
+ * Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ActivationOSImpl extends EObjectImpl implements ActivationOS {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFamily() <em>Family</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFamily()
+ * @generated
+ * @ordered
+ */
+ protected static final String FAMILY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFamily() <em>Family</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFamily()
+ * @generated
+ * @ordered
+ */
+ protected String family = FAMILY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArch() <em>Arch</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArch()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARCH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArch() <em>Arch</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArch()
+ * @generated
+ * @ordered
+ */
+ protected String arch = ARCH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivationOSImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.ACTIVATION_OS;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION_OS__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getFamily() {
+ return family;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFamily(String newFamily) {
+ String oldFamily = family;
+ family = newFamily;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION_OS__FAMILY, oldFamily, family));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArch() {
+ return arch;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArch(String newArch) {
+ String oldArch = arch;
+ arch = newArch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION_OS__ARCH, oldArch, arch));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVersion(String newVersion) {
+ String oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION_OS__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_OS__NAME:
+ return getName();
+ case PomPackage.ACTIVATION_OS__FAMILY:
+ return getFamily();
+ case PomPackage.ACTIVATION_OS__ARCH:
+ return getArch();
+ case PomPackage.ACTIVATION_OS__VERSION:
+ return getVersion();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_OS__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.ACTIVATION_OS__FAMILY:
+ setFamily((String) newValue);
+ return;
+ case PomPackage.ACTIVATION_OS__ARCH:
+ setArch((String) newValue);
+ return;
+ case PomPackage.ACTIVATION_OS__VERSION:
+ setVersion((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_OS__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.ACTIVATION_OS__FAMILY:
+ setFamily(FAMILY_EDEFAULT);
+ return;
+ case PomPackage.ACTIVATION_OS__ARCH:
+ setArch(ARCH_EDEFAULT);
+ return;
+ case PomPackage.ACTIVATION_OS__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_OS__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.ACTIVATION_OS__FAMILY:
+ return FAMILY_EDEFAULT == null ? family != null : !FAMILY_EDEFAULT
+ .equals(family);
+ case PomPackage.ACTIVATION_OS__ARCH:
+ return ARCH_EDEFAULT == null ? arch != null : !ARCH_EDEFAULT
+ .equals(arch);
+ case PomPackage.ACTIVATION_OS__VERSION:
+ return VERSION_EDEFAULT == null ? version != null
+ : !VERSION_EDEFAULT.equals(version);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", family: "); //$NON-NLS-1$
+ result.append(family);
+ result.append(", arch: "); //$NON-NLS-1$
+ result.append(arch);
+ result.append(", version: "); //$NON-NLS-1$
+ result.append(version);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ActivationOSImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationPropertyImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationPropertyImpl.java
new file mode 100644
index 00000000..f24a0fc7
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ActivationPropertyImpl.java
@@ -0,0 +1,233 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.ActivationProperty;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Activation Property</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationPropertyImpl#getName
+ * <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ActivationPropertyImpl#getValue
+ * <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ActivationPropertyImpl extends EObjectImpl implements
+ ActivationProperty {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivationPropertyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.ACTIVATION_PROPERTY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION_PROPERTY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ACTIVATION_PROPERTY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_PROPERTY__NAME:
+ return getName();
+ case PomPackage.ACTIVATION_PROPERTY__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_PROPERTY__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.ACTIVATION_PROPERTY__VALUE:
+ setValue((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_PROPERTY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.ACTIVATION_PROPERTY__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.ACTIVATION_PROPERTY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.ACTIVATION_PROPERTY__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT
+ .equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ActivationPropertyImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/BuildBaseImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/BuildBaseImpl.java
new file mode 100644
index 00000000..4eb5a60b
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/BuildBaseImpl.java
@@ -0,0 +1,691 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.BuildBase;
+import org.eclipse.m2e.model.edit.pom.Plugin;
+import org.eclipse.m2e.model.edit.pom.PluginManagement;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Resource;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Build Base</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl#getDefaultGoal
+ * <em>Default Goal</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl#getResources <em>
+ * Resources</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl#getTestResources
+ * <em>Test Resources</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl#getDirectory <em>
+ * Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl#getFinalName <em>
+ * Final Name</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl#getPluginManagement
+ * <em>Plugin Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl#getPlugins <em>
+ * Plugins</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildBaseImpl#getFilters <em>
+ * Filters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BuildBaseImpl extends EObjectImpl implements BuildBase {
+ /**
+ * The default value of the '{@link #getDefaultGoal() <em>Default Goal</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDefaultGoal()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEFAULT_GOAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDefaultGoal() <em>Default Goal</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDefaultGoal()
+ * @generated
+ * @ordered
+ */
+ protected String defaultGoal = DEFAULT_GOAL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getResources() <em>Resources</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<Resource> resources;
+
+ /**
+ * The cached value of the '{@link #getTestResources()
+ * <em>Test Resources</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getTestResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<Resource> testResources;
+
+ /**
+ * The default value of the '{@link #getDirectory() <em>Directory</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDirectory()
+ * @generated
+ * @ordered
+ */
+ protected static final String DIRECTORY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDirectory() <em>Directory</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDirectory()
+ * @generated
+ * @ordered
+ */
+ protected String directory = DIRECTORY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFinalName() <em>Final Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFinalName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FINAL_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFinalName() <em>Final Name</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFinalName()
+ * @generated
+ * @ordered
+ */
+ protected String finalName = FINAL_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPluginManagement()
+ * <em>Plugin Management</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getPluginManagement()
+ * @generated
+ * @ordered
+ */
+ protected PluginManagement pluginManagement;
+
+ /**
+ * This is true if the Plugin Management containment reference has been set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean pluginManagementESet;
+
+ /**
+ * The cached value of the '{@link #getPlugins() <em>Plugins</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPlugins()
+ * @generated
+ * @ordered
+ */
+ protected EList<Plugin> plugins;
+
+ /**
+ * The cached value of the '{@link #getFilters() <em>Filters</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFilters()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> filters;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BuildBaseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.BUILD_BASE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDefaultGoal() {
+ return defaultGoal;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDefaultGoal(String newDefaultGoal) {
+ String oldDefaultGoal = defaultGoal;
+ defaultGoal = newDefaultGoal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.BUILD_BASE__DEFAULT_GOAL, oldDefaultGoal,
+ defaultGoal));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Resource> getResources() {
+ if (resources == null) {
+ resources = new EObjectContainmentEList.Unsettable<Resource>(
+ Resource.class, this, PomPackage.BUILD_BASE__RESOURCES);
+ }
+ return resources;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetResources() {
+ if (resources != null)
+ ((InternalEList.Unsettable<?>) resources).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetResources() {
+ return resources != null
+ && ((InternalEList.Unsettable<?>) resources).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Resource> getTestResources() {
+ if (testResources == null) {
+ testResources = new EObjectContainmentEList.Unsettable<Resource>(
+ Resource.class, this, PomPackage.BUILD_BASE__TEST_RESOURCES);
+ }
+ return testResources;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetTestResources() {
+ if (testResources != null)
+ ((InternalEList.Unsettable<?>) testResources).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetTestResources() {
+ return testResources != null
+ && ((InternalEList.Unsettable<?>) testResources).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDirectory() {
+ return directory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDirectory(String newDirectory) {
+ String oldDirectory = directory;
+ directory = newDirectory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.BUILD_BASE__DIRECTORY, oldDirectory, directory));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getFinalName() {
+ return finalName;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFinalName(String newFinalName) {
+ String oldFinalName = finalName;
+ finalName = newFinalName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.BUILD_BASE__FINAL_NAME, oldFinalName, finalName));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PluginManagement getPluginManagement() {
+ return pluginManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPluginManagement(
+ PluginManagement newPluginManagement, NotificationChain msgs) {
+ PluginManagement oldPluginManagement = pluginManagement;
+ pluginManagement = newPluginManagement;
+ boolean oldPluginManagementESet = pluginManagementESet;
+ pluginManagementESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT,
+ oldPluginManagement, newPluginManagement,
+ !oldPluginManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPluginManagement(PluginManagement newPluginManagement) {
+ if (newPluginManagement != pluginManagement) {
+ NotificationChain msgs = null;
+ if (pluginManagement != null)
+ msgs = ((InternalEObject) pluginManagement).eInverseRemove(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT,
+ null, msgs);
+ if (newPluginManagement != null)
+ msgs = ((InternalEObject) newPluginManagement).eInverseAdd(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT,
+ null, msgs);
+ msgs = basicSetPluginManagement(newPluginManagement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldPluginManagementESet = pluginManagementESet;
+ pluginManagementESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT,
+ newPluginManagement, newPluginManagement,
+ !oldPluginManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetPluginManagement(NotificationChain msgs) {
+ PluginManagement oldPluginManagement = pluginManagement;
+ pluginManagement = null;
+ boolean oldPluginManagementESet = pluginManagementESet;
+ pluginManagementESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET,
+ PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT,
+ oldPluginManagement, null, oldPluginManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetPluginManagement() {
+ if (pluginManagement != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) pluginManagement).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT, null,
+ msgs);
+ msgs = basicUnsetPluginManagement(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldPluginManagementESet = pluginManagementESet;
+ pluginManagementESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT, null, null,
+ oldPluginManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetPluginManagement() {
+ return pluginManagementESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Plugin> getPlugins() {
+ if (plugins == null) {
+ plugins = new EObjectContainmentEList.Unsettable<Plugin>(
+ Plugin.class, this, PomPackage.BUILD_BASE__PLUGINS);
+ }
+ return plugins;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetPlugins() {
+ if (plugins != null)
+ ((InternalEList.Unsettable<?>) plugins).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetPlugins() {
+ return plugins != null
+ && ((InternalEList.Unsettable<?>) plugins).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getFilters() {
+ if (filters == null) {
+ filters = new EDataTypeEList<String>(String.class, this,
+ PomPackage.BUILD_BASE__FILTERS);
+ }
+ return filters;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.BUILD_BASE__RESOURCES:
+ return ((InternalEList<?>) getResources()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.BUILD_BASE__TEST_RESOURCES:
+ return ((InternalEList<?>) getTestResources()).basicRemove(
+ otherEnd, msgs);
+ case PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT:
+ return basicUnsetPluginManagement(msgs);
+ case PomPackage.BUILD_BASE__PLUGINS:
+ return ((InternalEList<?>) getPlugins())
+ .basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.BUILD_BASE__DEFAULT_GOAL:
+ return getDefaultGoal();
+ case PomPackage.BUILD_BASE__RESOURCES:
+ return getResources();
+ case PomPackage.BUILD_BASE__TEST_RESOURCES:
+ return getTestResources();
+ case PomPackage.BUILD_BASE__DIRECTORY:
+ return getDirectory();
+ case PomPackage.BUILD_BASE__FINAL_NAME:
+ return getFinalName();
+ case PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT:
+ return getPluginManagement();
+ case PomPackage.BUILD_BASE__PLUGINS:
+ return getPlugins();
+ case PomPackage.BUILD_BASE__FILTERS:
+ return getFilters();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.BUILD_BASE__DEFAULT_GOAL:
+ setDefaultGoal((String) newValue);
+ return;
+ case PomPackage.BUILD_BASE__RESOURCES:
+ getResources().clear();
+ getResources().addAll((Collection<? extends Resource>) newValue);
+ return;
+ case PomPackage.BUILD_BASE__TEST_RESOURCES:
+ getTestResources().clear();
+ getTestResources()
+ .addAll((Collection<? extends Resource>) newValue);
+ return;
+ case PomPackage.BUILD_BASE__DIRECTORY:
+ setDirectory((String) newValue);
+ return;
+ case PomPackage.BUILD_BASE__FINAL_NAME:
+ setFinalName((String) newValue);
+ return;
+ case PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT:
+ setPluginManagement((PluginManagement) newValue);
+ return;
+ case PomPackage.BUILD_BASE__PLUGINS:
+ getPlugins().clear();
+ getPlugins().addAll((Collection<? extends Plugin>) newValue);
+ return;
+ case PomPackage.BUILD_BASE__FILTERS:
+ getFilters().clear();
+ getFilters().addAll((Collection<? extends String>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.BUILD_BASE__DEFAULT_GOAL:
+ setDefaultGoal(DEFAULT_GOAL_EDEFAULT);
+ return;
+ case PomPackage.BUILD_BASE__RESOURCES:
+ unsetResources();
+ return;
+ case PomPackage.BUILD_BASE__TEST_RESOURCES:
+ unsetTestResources();
+ return;
+ case PomPackage.BUILD_BASE__DIRECTORY:
+ setDirectory(DIRECTORY_EDEFAULT);
+ return;
+ case PomPackage.BUILD_BASE__FINAL_NAME:
+ setFinalName(FINAL_NAME_EDEFAULT);
+ return;
+ case PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT:
+ unsetPluginManagement();
+ return;
+ case PomPackage.BUILD_BASE__PLUGINS:
+ unsetPlugins();
+ return;
+ case PomPackage.BUILD_BASE__FILTERS:
+ getFilters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.BUILD_BASE__DEFAULT_GOAL:
+ return DEFAULT_GOAL_EDEFAULT == null ? defaultGoal != null
+ : !DEFAULT_GOAL_EDEFAULT.equals(defaultGoal);
+ case PomPackage.BUILD_BASE__RESOURCES:
+ return isSetResources();
+ case PomPackage.BUILD_BASE__TEST_RESOURCES:
+ return isSetTestResources();
+ case PomPackage.BUILD_BASE__DIRECTORY:
+ return DIRECTORY_EDEFAULT == null ? directory != null
+ : !DIRECTORY_EDEFAULT.equals(directory);
+ case PomPackage.BUILD_BASE__FINAL_NAME:
+ return FINAL_NAME_EDEFAULT == null ? finalName != null
+ : !FINAL_NAME_EDEFAULT.equals(finalName);
+ case PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT:
+ return isSetPluginManagement();
+ case PomPackage.BUILD_BASE__PLUGINS:
+ return isSetPlugins();
+ case PomPackage.BUILD_BASE__FILTERS:
+ return filters != null && !filters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (defaultGoal: "); //$NON-NLS-1$
+ result.append(defaultGoal);
+ result.append(", directory: "); //$NON-NLS-1$
+ result.append(directory);
+ result.append(", finalName: "); //$NON-NLS-1$
+ result.append(finalName);
+ result.append(", filters: "); //$NON-NLS-1$
+ result.append(filters);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BuildBaseImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/BuildImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/BuildImpl.java
new file mode 100644
index 00000000..b1961f08
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/BuildImpl.java
@@ -0,0 +1,506 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Build;
+import org.eclipse.m2e.model.edit.pom.Extension;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Build</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildImpl#getSourceDirectory
+ * <em>Source Directory</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.BuildImpl#getScriptSourceDirectory
+ * <em>Script Source Directory</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.BuildImpl#getTestSourceDirectory
+ * <em>Test Source Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildImpl#getOutputDirectory
+ * <em>Output Directory</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.BuildImpl#getTestOutputDirectory
+ * <em>Test Output Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.BuildImpl#getExtensions <em>
+ * Extensions</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BuildImpl extends BuildBaseImpl implements Build {
+ /**
+ * The default value of the '{@link #getSourceDirectory()
+ * <em>Source Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSourceDirectory()
+ * @generated
+ * @ordered
+ */
+ protected static final String SOURCE_DIRECTORY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSourceDirectory()
+ * <em>Source Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSourceDirectory()
+ * @generated
+ * @ordered
+ */
+ protected String sourceDirectory = SOURCE_DIRECTORY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getScriptSourceDirectory()
+ * <em>Script Source Directory</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getScriptSourceDirectory()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCRIPT_SOURCE_DIRECTORY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getScriptSourceDirectory()
+ * <em>Script Source Directory</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getScriptSourceDirectory()
+ * @generated
+ * @ordered
+ */
+ protected String scriptSourceDirectory = SCRIPT_SOURCE_DIRECTORY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTestSourceDirectory()
+ * <em>Test Source Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getTestSourceDirectory()
+ * @generated
+ * @ordered
+ */
+ protected static final String TEST_SOURCE_DIRECTORY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTestSourceDirectory()
+ * <em>Test Source Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getTestSourceDirectory()
+ * @generated
+ * @ordered
+ */
+ protected String testSourceDirectory = TEST_SOURCE_DIRECTORY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOutputDirectory()
+ * <em>Output Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOutputDirectory()
+ * @generated
+ * @ordered
+ */
+ protected static final String OUTPUT_DIRECTORY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOutputDirectory()
+ * <em>Output Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOutputDirectory()
+ * @generated
+ * @ordered
+ */
+ protected String outputDirectory = OUTPUT_DIRECTORY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTestOutputDirectory()
+ * <em>Test Output Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getTestOutputDirectory()
+ * @generated
+ * @ordered
+ */
+ protected static final String TEST_OUTPUT_DIRECTORY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTestOutputDirectory()
+ * <em>Test Output Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getTestOutputDirectory()
+ * @generated
+ * @ordered
+ */
+ protected String testOutputDirectory = TEST_OUTPUT_DIRECTORY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExtensions() <em>Extensions</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExtensions()
+ * @generated
+ * @ordered
+ */
+ protected EList<Extension> extensions;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BuildImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.BUILD;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSourceDirectory() {
+ return sourceDirectory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSourceDirectory(String newSourceDirectory) {
+ String oldSourceDirectory = sourceDirectory;
+ sourceDirectory = newSourceDirectory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.BUILD__SOURCE_DIRECTORY, oldSourceDirectory,
+ sourceDirectory));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getScriptSourceDirectory() {
+ return scriptSourceDirectory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setScriptSourceDirectory(String newScriptSourceDirectory) {
+ String oldScriptSourceDirectory = scriptSourceDirectory;
+ scriptSourceDirectory = newScriptSourceDirectory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.BUILD__SCRIPT_SOURCE_DIRECTORY,
+ oldScriptSourceDirectory, scriptSourceDirectory));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getTestSourceDirectory() {
+ return testSourceDirectory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTestSourceDirectory(String newTestSourceDirectory) {
+ String oldTestSourceDirectory = testSourceDirectory;
+ testSourceDirectory = newTestSourceDirectory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.BUILD__TEST_SOURCE_DIRECTORY,
+ oldTestSourceDirectory, testSourceDirectory));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOutputDirectory() {
+ return outputDirectory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOutputDirectory(String newOutputDirectory) {
+ String oldOutputDirectory = outputDirectory;
+ outputDirectory = newOutputDirectory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.BUILD__OUTPUT_DIRECTORY, oldOutputDirectory,
+ outputDirectory));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getTestOutputDirectory() {
+ return testOutputDirectory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTestOutputDirectory(String newTestOutputDirectory) {
+ String oldTestOutputDirectory = testOutputDirectory;
+ testOutputDirectory = newTestOutputDirectory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.BUILD__TEST_OUTPUT_DIRECTORY,
+ oldTestOutputDirectory, testOutputDirectory));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Extension> getExtensions() {
+ if (extensions == null) {
+ extensions = new EObjectContainmentEList.Unsettable<Extension>(
+ Extension.class, this, PomPackage.BUILD__EXTENSIONS);
+ }
+ return extensions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetExtensions() {
+ if (extensions != null)
+ ((InternalEList.Unsettable<?>) extensions).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetExtensions() {
+ return extensions != null
+ && ((InternalEList.Unsettable<?>) extensions).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.BUILD__EXTENSIONS:
+ return ((InternalEList<?>) getExtensions()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.BUILD__SOURCE_DIRECTORY:
+ return getSourceDirectory();
+ case PomPackage.BUILD__SCRIPT_SOURCE_DIRECTORY:
+ return getScriptSourceDirectory();
+ case PomPackage.BUILD__TEST_SOURCE_DIRECTORY:
+ return getTestSourceDirectory();
+ case PomPackage.BUILD__OUTPUT_DIRECTORY:
+ return getOutputDirectory();
+ case PomPackage.BUILD__TEST_OUTPUT_DIRECTORY:
+ return getTestOutputDirectory();
+ case PomPackage.BUILD__EXTENSIONS:
+ return getExtensions();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.BUILD__SOURCE_DIRECTORY:
+ setSourceDirectory((String) newValue);
+ return;
+ case PomPackage.BUILD__SCRIPT_SOURCE_DIRECTORY:
+ setScriptSourceDirectory((String) newValue);
+ return;
+ case PomPackage.BUILD__TEST_SOURCE_DIRECTORY:
+ setTestSourceDirectory((String) newValue);
+ return;
+ case PomPackage.BUILD__OUTPUT_DIRECTORY:
+ setOutputDirectory((String) newValue);
+ return;
+ case PomPackage.BUILD__TEST_OUTPUT_DIRECTORY:
+ setTestOutputDirectory((String) newValue);
+ return;
+ case PomPackage.BUILD__EXTENSIONS:
+ getExtensions().clear();
+ getExtensions().addAll((Collection<? extends Extension>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.BUILD__SOURCE_DIRECTORY:
+ setSourceDirectory(SOURCE_DIRECTORY_EDEFAULT);
+ return;
+ case PomPackage.BUILD__SCRIPT_SOURCE_DIRECTORY:
+ setScriptSourceDirectory(SCRIPT_SOURCE_DIRECTORY_EDEFAULT);
+ return;
+ case PomPackage.BUILD__TEST_SOURCE_DIRECTORY:
+ setTestSourceDirectory(TEST_SOURCE_DIRECTORY_EDEFAULT);
+ return;
+ case PomPackage.BUILD__OUTPUT_DIRECTORY:
+ setOutputDirectory(OUTPUT_DIRECTORY_EDEFAULT);
+ return;
+ case PomPackage.BUILD__TEST_OUTPUT_DIRECTORY:
+ setTestOutputDirectory(TEST_OUTPUT_DIRECTORY_EDEFAULT);
+ return;
+ case PomPackage.BUILD__EXTENSIONS:
+ unsetExtensions();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.BUILD__SOURCE_DIRECTORY:
+ return SOURCE_DIRECTORY_EDEFAULT == null ? sourceDirectory != null
+ : !SOURCE_DIRECTORY_EDEFAULT.equals(sourceDirectory);
+ case PomPackage.BUILD__SCRIPT_SOURCE_DIRECTORY:
+ return SCRIPT_SOURCE_DIRECTORY_EDEFAULT == null ? scriptSourceDirectory != null
+ : !SCRIPT_SOURCE_DIRECTORY_EDEFAULT
+ .equals(scriptSourceDirectory);
+ case PomPackage.BUILD__TEST_SOURCE_DIRECTORY:
+ return TEST_SOURCE_DIRECTORY_EDEFAULT == null ? testSourceDirectory != null
+ : !TEST_SOURCE_DIRECTORY_EDEFAULT
+ .equals(testSourceDirectory);
+ case PomPackage.BUILD__OUTPUT_DIRECTORY:
+ return OUTPUT_DIRECTORY_EDEFAULT == null ? outputDirectory != null
+ : !OUTPUT_DIRECTORY_EDEFAULT.equals(outputDirectory);
+ case PomPackage.BUILD__TEST_OUTPUT_DIRECTORY:
+ return TEST_OUTPUT_DIRECTORY_EDEFAULT == null ? testOutputDirectory != null
+ : !TEST_OUTPUT_DIRECTORY_EDEFAULT
+ .equals(testOutputDirectory);
+ case PomPackage.BUILD__EXTENSIONS:
+ return isSetExtensions();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (sourceDirectory: "); //$NON-NLS-1$
+ result.append(sourceDirectory);
+ result.append(", scriptSourceDirectory: "); //$NON-NLS-1$
+ result.append(scriptSourceDirectory);
+ result.append(", testSourceDirectory: "); //$NON-NLS-1$
+ result.append(testSourceDirectory);
+ result.append(", outputDirectory: "); //$NON-NLS-1$
+ result.append(outputDirectory);
+ result.append(", testOutputDirectory: "); //$NON-NLS-1$
+ result.append(testOutputDirectory);
+ result.append(')');
+ return result.toString();
+ }
+
+} // BuildImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/CiManagementImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/CiManagementImpl.java
new file mode 100644
index 00000000..2508a02a
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/CiManagementImpl.java
@@ -0,0 +1,315 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.CiManagement;
+import org.eclipse.m2e.model.edit.pom.Notifier;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Ci Management</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.CiManagementImpl#getSystem <em>
+ * System</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.CiManagementImpl#getUrl <em>Url
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.CiManagementImpl#getNotifiers
+ * <em>Notifiers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CiManagementImpl extends EObjectImpl implements CiManagement {
+ /**
+ * The default value of the '{@link #getSystem() <em>System</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSystem()
+ * @generated
+ * @ordered
+ */
+ protected static final String SYSTEM_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSystem() <em>System</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSystem()
+ * @generated
+ * @ordered
+ */
+ protected String system = SYSTEM_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getNotifiers() <em>Notifiers</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getNotifiers()
+ * @generated
+ * @ordered
+ */
+ protected EList<Notifier> notifiers;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CiManagementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.CI_MANAGEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSystem() {
+ return system;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSystem(String newSystem) {
+ String oldSystem = system;
+ system = newSystem;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.CI_MANAGEMENT__SYSTEM, oldSystem, system));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.CI_MANAGEMENT__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Notifier> getNotifiers() {
+ if (notifiers == null) {
+ notifiers = new EObjectContainmentEList.Unsettable<Notifier>(
+ Notifier.class, this, PomPackage.CI_MANAGEMENT__NOTIFIERS);
+ }
+ return notifiers;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetNotifiers() {
+ if (notifiers != null)
+ ((InternalEList.Unsettable<?>) notifiers).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetNotifiers() {
+ return notifiers != null
+ && ((InternalEList.Unsettable<?>) notifiers).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.CI_MANAGEMENT__NOTIFIERS:
+ return ((InternalEList<?>) getNotifiers()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.CI_MANAGEMENT__SYSTEM:
+ return getSystem();
+ case PomPackage.CI_MANAGEMENT__URL:
+ return getUrl();
+ case PomPackage.CI_MANAGEMENT__NOTIFIERS:
+ return getNotifiers();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.CI_MANAGEMENT__SYSTEM:
+ setSystem((String) newValue);
+ return;
+ case PomPackage.CI_MANAGEMENT__URL:
+ setUrl((String) newValue);
+ return;
+ case PomPackage.CI_MANAGEMENT__NOTIFIERS:
+ getNotifiers().clear();
+ getNotifiers().addAll((Collection<? extends Notifier>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.CI_MANAGEMENT__SYSTEM:
+ setSystem(SYSTEM_EDEFAULT);
+ return;
+ case PomPackage.CI_MANAGEMENT__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ case PomPackage.CI_MANAGEMENT__NOTIFIERS:
+ unsetNotifiers();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.CI_MANAGEMENT__SYSTEM:
+ return SYSTEM_EDEFAULT == null ? system != null : !SYSTEM_EDEFAULT
+ .equals(system);
+ case PomPackage.CI_MANAGEMENT__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ case PomPackage.CI_MANAGEMENT__NOTIFIERS:
+ return isSetNotifiers();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (system: "); //$NON-NLS-1$
+ result.append(system);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(')');
+ return result.toString();
+ }
+
+} // CiManagementImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ConfigurationImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ConfigurationImpl.java
new file mode 100644
index 00000000..065da650
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ConfigurationImpl.java
@@ -0,0 +1,242 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.Configuration;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Configuration</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ConfigurationImpl#getConfigurationNode <em>Configuration Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated NOT
+ */
+public class ConfigurationImpl extends EObjectImpl implements Configuration {
+ private Node configurationNode;
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Node getConfigurationNode() {
+ return configurationNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConfigurationNode(Node newConfigurationNode) {
+ this.configurationNode = newConfigurationNode;
+ }
+
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (configurationNode: "); //$NON-NLS-1$
+ result.append(configurationNode);
+ result.append(')');
+ return result.toString();
+ }
+
+ public String getStringValue(String xpath) throws RuntimeException {
+
+ NodeList children = configurationNode.getChildNodes();
+ for (int i=0; i<children.getLength(); i++) {
+ Node current = children.item(i);
+ if (current.getNodeName().equals(xpath)) {
+ return children.item(i).getChildNodes().item(0).getNodeValue();
+ }
+ }
+ return null;
+ }
+
+ public void setStringValue(String xpath, String value) throws RuntimeException {
+ NodeList children = configurationNode.getChildNodes();
+ boolean set = false;
+ for (int i=0; i<children.getLength(); i++) {
+ Node current = children.item(i);
+ if (current.getNodeName().equals(xpath)) {
+ while(current.getFirstChild() != null) {
+ current.removeChild(current.getFirstChild());
+ }
+ current.appendChild(current.getOwnerDocument().createTextNode(value));
+ set = true;
+ break;
+ }
+ }
+ if(!set) {
+ Element e = configurationNode.getOwnerDocument().createElement(xpath);
+ e.appendChild(configurationNode.getOwnerDocument().createTextNode(value));
+ configurationNode.appendChild(e);
+ }
+ }
+
+ public List<String> getListValue(String xpath) throws RuntimeException {
+ NodeList children = configurationNode.getChildNodes();
+ for (int i=0; i<children.getLength(); i++) {
+ Node current = children.item(i);
+ if (current.getNodeName().equals(xpath)) {
+ NodeList items = current.getChildNodes();
+ List<String> res = new ArrayList<String>();
+ for (int j=0; j<items.getLength(); j++) {
+ if (items.item(j).getNodeType() == Node.ELEMENT_NODE) {
+ res.add(items.item(j).getChildNodes().item(0).getNodeValue());
+ }
+ }
+ return res;
+ }
+ }
+ return null;
+ }
+
+ public List<Node> getListNodes(String xpath) {
+ return getListNodes(configurationNode, xpath);
+ }
+
+ public List<Node> getListNodes(Node node, String xpath) {
+ NodeList children = node.getChildNodes();
+ for (int i=0; i<children.getLength(); i++) {
+ Node current = children.item(i);
+ if (current.getNodeName().equals(xpath)) {
+ List<Node> res = new ArrayList<Node>();
+ NodeList items = current.getChildNodes();
+ for (int j=0; j<items.getLength(); j++) {
+ if (items.item(j).getNodeType() == Node.ELEMENT_NODE) {
+ res.add(items.item(j).getChildNodes().item(0));
+ }
+ }
+ return res;
+ }
+ }
+ return null;
+ }
+
+ public Node getNode(String xpath) {
+ return getNode(configurationNode, xpath);
+ }
+
+ public Node getNode(Node node, String xpath) {
+ NodeList children = node.getChildNodes();
+ for (int i=0; i<children.getLength(); i++) {
+ Node current = children.item(i);
+ if (current.getNodeName().equals(xpath)) {
+ return current;
+ }
+ }
+ return null;
+ }
+
+ public void setNodeValues(String xpath, String names[], String[] values) {
+ setNodeValues(configurationNode, xpath, names, values);
+ }
+
+ public void setNodeValues(String xpath, String name, String[] values) {
+ String[] names = new String[values.length];
+ for (int i=0; i<names.length; i++) {
+ names[i] = name;
+ }
+ setNodeValues(xpath, names, values);
+ }
+
+ public Node createNode(String xpath) {
+ Node element = configurationNode.getOwnerDocument().createElement(xpath);
+ configurationNode.appendChild(element);
+ return element;
+ }
+
+ public void removeNode(String xpath) {
+ configurationNode.removeChild(getNode(xpath));
+ }
+
+ public void setNodeValues(Node node, String xpath, String[] names, String[] values) {
+ Node parent = getNode(node, xpath);
+
+ if (parent == null) {
+ //create node
+ parent = node.getOwnerDocument().createElement(xpath);
+ node.appendChild(parent);
+ }
+
+ List<Node> nodes = getListNodes(node, xpath);
+
+ //append missing nodes if required
+ int diff = values.length - nodes.size();
+ for (int i=0; i<diff; i++) {
+ Node element = parent.getOwnerDocument().createElement(names[i]);
+ parent.appendChild(element);
+ Text text = parent.getOwnerDocument().createTextNode(""); //$NON-NLS-1$
+ element.appendChild(text);
+ nodes.add(text);
+ }
+
+ //remove extra nodes if required
+ for (int i=0; i<-diff; i++) {
+ Node element = nodes.remove(nodes.size() - 1 - i);
+ parent.removeChild(element.getParentNode());
+ }
+
+ //set values
+ for (int i=0; i<nodes.size(); i++) {
+ nodes.get(i).setNodeValue(values[i]);
+ }
+ }
+
+ public void doNotify(int eventType, Object changedFeature, Object oldValue, Object newValue) {
+ // A catch-all notificator.
+ // The configuration section can differ with every plugin, so we cannot really have a
+ // static EMF model. So we'll just notify the subscribers and let them act accordingly.
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, eventType, PomPackage.CONFIGURATION, oldValue, newValue));
+ }
+} // ConfigurationImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ContributorImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ContributorImpl.java
new file mode 100644
index 00000000..9c0f585e
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ContributorImpl.java
@@ -0,0 +1,609 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Contributor;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Contributor</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl#getName <em>Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl#getEmail <em>
+ * Email</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl#getUrl <em>Url
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl#getOrganization
+ * <em>Organization</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl#getOrganizationUrl
+ * <em>Organization Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl#getTimezone <em>
+ * Timezone</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl#getProperties
+ * <em>Properties</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ContributorImpl#getRoles <em>
+ * Roles</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ContributorImpl extends EObjectImpl implements Contributor {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getEmail() <em>Email</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEmail()
+ * @generated
+ * @ordered
+ */
+ protected static final String EMAIL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEmail() <em>Email</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEmail()
+ * @generated
+ * @ordered
+ */
+ protected String email = EMAIL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOrganization()
+ * <em>Organization</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORGANIZATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOrganization() <em>Organization</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected String organization = ORGANIZATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOrganizationUrl()
+ * <em>Organization Url</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOrganizationUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORGANIZATION_URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOrganizationUrl()
+ * <em>Organization Url</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOrganizationUrl()
+ * @generated
+ * @ordered
+ */
+ protected String organizationUrl = ORGANIZATION_URL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTimezone() <em>Timezone</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTimezone()
+ * @generated
+ * @ordered
+ */
+ protected static final String TIMEZONE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTimezone() <em>Timezone</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTimezone()
+ * @generated
+ * @ordered
+ */
+ protected String timezone = TIMEZONE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getProperties() <em>Properties</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<PropertyElement> properties;
+
+ /**
+ * The cached value of the '{@link #getRoles() <em>Roles</em>}' attribute
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRoles()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> roles;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ContributorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.CONTRIBUTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.CONTRIBUTOR__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getEmail() {
+ return email;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEmail(String newEmail) {
+ String oldEmail = email;
+ email = newEmail;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.CONTRIBUTOR__EMAIL, oldEmail, email));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.CONTRIBUTOR__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOrganization() {
+ return organization;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOrganization(String newOrganization) {
+ String oldOrganization = organization;
+ organization = newOrganization;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.CONTRIBUTOR__ORGANIZATION, oldOrganization,
+ organization));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOrganizationUrl() {
+ return organizationUrl;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOrganizationUrl(String newOrganizationUrl) {
+ String oldOrganizationUrl = organizationUrl;
+ organizationUrl = newOrganizationUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.CONTRIBUTOR__ORGANIZATION_URL,
+ oldOrganizationUrl, organizationUrl));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getTimezone() {
+ return timezone;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTimezone(String newTimezone) {
+ String oldTimezone = timezone;
+ timezone = newTimezone;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.CONTRIBUTOR__TIMEZONE, oldTimezone, timezone));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<PropertyElement> getProperties() {
+ if (properties == null) {
+ properties = new EObjectContainmentEList.Unsettable<PropertyElement>(
+ PropertyElement.class, this,
+ PomPackage.CONTRIBUTOR__PROPERTIES);
+ }
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetProperties() {
+ if (properties != null)
+ ((InternalEList.Unsettable<?>) properties).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetProperties() {
+ return properties != null
+ && ((InternalEList.Unsettable<?>) properties).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getRoles() {
+ if (roles == null) {
+ roles = new EDataTypeEList.Unsettable<String>(String.class, this,
+ PomPackage.CONTRIBUTOR__ROLES);
+ }
+ return roles;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetRoles() {
+ if (roles != null)
+ ((InternalEList.Unsettable<?>) roles).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetRoles() {
+ return roles != null && ((InternalEList.Unsettable<?>) roles).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.CONTRIBUTOR__PROPERTIES:
+ return ((InternalEList<?>) getProperties()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.CONTRIBUTOR__NAME:
+ return getName();
+ case PomPackage.CONTRIBUTOR__EMAIL:
+ return getEmail();
+ case PomPackage.CONTRIBUTOR__URL:
+ return getUrl();
+ case PomPackage.CONTRIBUTOR__ORGANIZATION:
+ return getOrganization();
+ case PomPackage.CONTRIBUTOR__ORGANIZATION_URL:
+ return getOrganizationUrl();
+ case PomPackage.CONTRIBUTOR__TIMEZONE:
+ return getTimezone();
+ case PomPackage.CONTRIBUTOR__PROPERTIES:
+ return getProperties();
+ case PomPackage.CONTRIBUTOR__ROLES:
+ return getRoles();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.CONTRIBUTOR__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.CONTRIBUTOR__EMAIL:
+ setEmail((String) newValue);
+ return;
+ case PomPackage.CONTRIBUTOR__URL:
+ setUrl((String) newValue);
+ return;
+ case PomPackage.CONTRIBUTOR__ORGANIZATION:
+ setOrganization((String) newValue);
+ return;
+ case PomPackage.CONTRIBUTOR__ORGANIZATION_URL:
+ setOrganizationUrl((String) newValue);
+ return;
+ case PomPackage.CONTRIBUTOR__TIMEZONE:
+ setTimezone((String) newValue);
+ return;
+ case PomPackage.CONTRIBUTOR__PROPERTIES:
+ getProperties().clear();
+ getProperties().addAll(
+ (Collection<? extends PropertyElement>) newValue);
+ return;
+ case PomPackage.CONTRIBUTOR__ROLES:
+ getRoles().clear();
+ getRoles().addAll((Collection<? extends String>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.CONTRIBUTOR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.CONTRIBUTOR__EMAIL:
+ setEmail(EMAIL_EDEFAULT);
+ return;
+ case PomPackage.CONTRIBUTOR__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ case PomPackage.CONTRIBUTOR__ORGANIZATION:
+ setOrganization(ORGANIZATION_EDEFAULT);
+ return;
+ case PomPackage.CONTRIBUTOR__ORGANIZATION_URL:
+ setOrganizationUrl(ORGANIZATION_URL_EDEFAULT);
+ return;
+ case PomPackage.CONTRIBUTOR__TIMEZONE:
+ setTimezone(TIMEZONE_EDEFAULT);
+ return;
+ case PomPackage.CONTRIBUTOR__PROPERTIES:
+ unsetProperties();
+ return;
+ case PomPackage.CONTRIBUTOR__ROLES:
+ unsetRoles();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.CONTRIBUTOR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.CONTRIBUTOR__EMAIL:
+ return EMAIL_EDEFAULT == null ? email != null : !EMAIL_EDEFAULT
+ .equals(email);
+ case PomPackage.CONTRIBUTOR__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ case PomPackage.CONTRIBUTOR__ORGANIZATION:
+ return ORGANIZATION_EDEFAULT == null ? organization != null
+ : !ORGANIZATION_EDEFAULT.equals(organization);
+ case PomPackage.CONTRIBUTOR__ORGANIZATION_URL:
+ return ORGANIZATION_URL_EDEFAULT == null ? organizationUrl != null
+ : !ORGANIZATION_URL_EDEFAULT.equals(organizationUrl);
+ case PomPackage.CONTRIBUTOR__TIMEZONE:
+ return TIMEZONE_EDEFAULT == null ? timezone != null
+ : !TIMEZONE_EDEFAULT.equals(timezone);
+ case PomPackage.CONTRIBUTOR__PROPERTIES:
+ return isSetProperties();
+ case PomPackage.CONTRIBUTOR__ROLES:
+ return isSetRoles();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", email: "); //$NON-NLS-1$
+ result.append(email);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(", organization: "); //$NON-NLS-1$
+ result.append(organization);
+ result.append(", organizationUrl: "); //$NON-NLS-1$
+ result.append(organizationUrl);
+ result.append(", timezone: "); //$NON-NLS-1$
+ result.append(timezone);
+ result.append(", roles: "); //$NON-NLS-1$
+ result.append(roles);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ContributorImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DependencyImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DependencyImpl.java
new file mode 100644
index 00000000..ff52abe9
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DependencyImpl.java
@@ -0,0 +1,737 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Dependency;
+import org.eclipse.m2e.model.edit.pom.Exclusion;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Dependency</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl#getGroupId <em>
+ * Group Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl#getArtifactId
+ * <em>Artifact Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl#getVersion <em>
+ * Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl#getType <em>Type
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl#getClassifier
+ * <em>Classifier</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl#getScope <em>
+ * Scope</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl#getSystemPath
+ * <em>System Path</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl#getExclusions
+ * <em>Exclusions</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DependencyImpl#getOptional <em>
+ * Optional</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DependencyImpl extends EObjectImpl implements Dependency {
+ /**
+ * The default value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected static final String GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected String groupId = GROUP_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARTIFACT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected String artifactId = ARTIFACT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * This is true if the Type attribute has been set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean typeESet;
+
+ /**
+ * The default value of the '{@link #getClassifier() <em>Classifier</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getClassifier()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASSIFIER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassifier() <em>Classifier</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getClassifier()
+ * @generated
+ * @ordered
+ */
+ protected String classifier = CLASSIFIER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getScope() <em>Scope</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getScope()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCOPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getScope() <em>Scope</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getScope()
+ * @generated
+ * @ordered
+ */
+ protected String scope = SCOPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSystemPath() <em>System Path</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSystemPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String SYSTEM_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSystemPath() <em>System Path</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSystemPath()
+ * @generated
+ * @ordered
+ */
+ protected String systemPath = SYSTEM_PATH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExclusions() <em>Exclusions</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExclusions()
+ * @generated
+ * @ordered
+ */
+ protected EList<Exclusion> exclusions;
+
+ /**
+ * The default value of the '{@link #getOptional() <em>Optional</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOptional()
+ * @generated
+ * @ordered
+ */
+ protected static final String OPTIONAL_EDEFAULT = "false"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getOptional() <em>Optional</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOptional()
+ * @generated
+ * @ordered
+ */
+ protected String optional = OPTIONAL_EDEFAULT;
+
+ /**
+ * This is true if the Optional attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean optionalESet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DependencyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.DEPENDENCY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGroupId(String newGroupId) {
+ String oldGroupId = groupId;
+ groupId = newGroupId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPENDENCY__GROUP_ID, oldGroupId, groupId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArtifactId(String newArtifactId) {
+ String oldArtifactId = artifactId;
+ artifactId = newArtifactId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPENDENCY__ARTIFACT_ID, oldArtifactId,
+ artifactId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVersion(String newVersion) {
+ String oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPENDENCY__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ boolean oldTypeESet = typeESet;
+ typeESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPENDENCY__TYPE, oldType, type, !oldTypeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetType() {
+ String oldType = type;
+ boolean oldTypeESet = typeESet;
+ type = TYPE_EDEFAULT;
+ typeESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.DEPENDENCY__TYPE, oldType, TYPE_EDEFAULT,
+ oldTypeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetType() {
+ return typeESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getClassifier() {
+ return classifier;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setClassifier(String newClassifier) {
+ String oldClassifier = classifier;
+ classifier = newClassifier;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPENDENCY__CLASSIFIER, oldClassifier,
+ classifier));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getScope() {
+ return scope;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setScope(String newScope) {
+ String oldScope = scope;
+ scope = newScope;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPENDENCY__SCOPE, oldScope, scope));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSystemPath() {
+ return systemPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSystemPath(String newSystemPath) {
+ String oldSystemPath = systemPath;
+ systemPath = newSystemPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPENDENCY__SYSTEM_PATH, oldSystemPath,
+ systemPath));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Exclusion> getExclusions() {
+ if (exclusions == null) {
+ exclusions = new EObjectContainmentEList.Unsettable<Exclusion>(
+ Exclusion.class, this, PomPackage.DEPENDENCY__EXCLUSIONS);
+ }
+ return exclusions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetExclusions() {
+ if (exclusions != null)
+ ((InternalEList.Unsettable<?>) exclusions).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetExclusions() {
+ return exclusions != null
+ && ((InternalEList.Unsettable<?>) exclusions).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOptional() {
+ return optional;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOptional(String newOptional) {
+ String oldOptional = optional;
+ optional = newOptional;
+ boolean oldOptionalESet = optionalESet;
+ optionalESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPENDENCY__OPTIONAL, oldOptional, optional,
+ !oldOptionalESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetOptional() {
+ String oldOptional = optional;
+ boolean oldOptionalESet = optionalESet;
+ optional = OPTIONAL_EDEFAULT;
+ optionalESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.DEPENDENCY__OPTIONAL, oldOptional,
+ OPTIONAL_EDEFAULT, oldOptionalESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetOptional() {
+ return optionalESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY__EXCLUSIONS:
+ return ((InternalEList<?>) getExclusions()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY__GROUP_ID:
+ return getGroupId();
+ case PomPackage.DEPENDENCY__ARTIFACT_ID:
+ return getArtifactId();
+ case PomPackage.DEPENDENCY__VERSION:
+ return getVersion();
+ case PomPackage.DEPENDENCY__TYPE:
+ return getType();
+ case PomPackage.DEPENDENCY__CLASSIFIER:
+ return getClassifier();
+ case PomPackage.DEPENDENCY__SCOPE:
+ return getScope();
+ case PomPackage.DEPENDENCY__SYSTEM_PATH:
+ return getSystemPath();
+ case PomPackage.DEPENDENCY__EXCLUSIONS:
+ return getExclusions();
+ case PomPackage.DEPENDENCY__OPTIONAL:
+ return getOptional();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY__GROUP_ID:
+ setGroupId((String) newValue);
+ return;
+ case PomPackage.DEPENDENCY__ARTIFACT_ID:
+ setArtifactId((String) newValue);
+ return;
+ case PomPackage.DEPENDENCY__VERSION:
+ setVersion((String) newValue);
+ return;
+ case PomPackage.DEPENDENCY__TYPE:
+ setType((String) newValue);
+ return;
+ case PomPackage.DEPENDENCY__CLASSIFIER:
+ setClassifier((String) newValue);
+ return;
+ case PomPackage.DEPENDENCY__SCOPE:
+ setScope((String) newValue);
+ return;
+ case PomPackage.DEPENDENCY__SYSTEM_PATH:
+ setSystemPath((String) newValue);
+ return;
+ case PomPackage.DEPENDENCY__EXCLUSIONS:
+ getExclusions().clear();
+ getExclusions().addAll((Collection<? extends Exclusion>) newValue);
+ return;
+ case PomPackage.DEPENDENCY__OPTIONAL:
+ setOptional((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY__GROUP_ID:
+ setGroupId(GROUP_ID_EDEFAULT);
+ return;
+ case PomPackage.DEPENDENCY__ARTIFACT_ID:
+ setArtifactId(ARTIFACT_ID_EDEFAULT);
+ return;
+ case PomPackage.DEPENDENCY__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ case PomPackage.DEPENDENCY__TYPE:
+ unsetType();
+ return;
+ case PomPackage.DEPENDENCY__CLASSIFIER:
+ setClassifier(CLASSIFIER_EDEFAULT);
+ return;
+ case PomPackage.DEPENDENCY__SCOPE:
+ setScope(SCOPE_EDEFAULT);
+ return;
+ case PomPackage.DEPENDENCY__SYSTEM_PATH:
+ setSystemPath(SYSTEM_PATH_EDEFAULT);
+ return;
+ case PomPackage.DEPENDENCY__EXCLUSIONS:
+ unsetExclusions();
+ return;
+ case PomPackage.DEPENDENCY__OPTIONAL:
+ unsetOptional();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY__GROUP_ID:
+ return GROUP_ID_EDEFAULT == null ? groupId != null
+ : !GROUP_ID_EDEFAULT.equals(groupId);
+ case PomPackage.DEPENDENCY__ARTIFACT_ID:
+ return ARTIFACT_ID_EDEFAULT == null ? artifactId != null
+ : !ARTIFACT_ID_EDEFAULT.equals(artifactId);
+ case PomPackage.DEPENDENCY__VERSION:
+ return VERSION_EDEFAULT == null ? version != null
+ : !VERSION_EDEFAULT.equals(version);
+ case PomPackage.DEPENDENCY__TYPE:
+ return isSetType();
+ case PomPackage.DEPENDENCY__CLASSIFIER:
+ return CLASSIFIER_EDEFAULT == null ? classifier != null
+ : !CLASSIFIER_EDEFAULT.equals(classifier);
+ case PomPackage.DEPENDENCY__SCOPE:
+ return SCOPE_EDEFAULT == null ? scope != null : !SCOPE_EDEFAULT
+ .equals(scope);
+ case PomPackage.DEPENDENCY__SYSTEM_PATH:
+ return SYSTEM_PATH_EDEFAULT == null ? systemPath != null
+ : !SYSTEM_PATH_EDEFAULT.equals(systemPath);
+ case PomPackage.DEPENDENCY__EXCLUSIONS:
+ return isSetExclusions();
+ case PomPackage.DEPENDENCY__OPTIONAL:
+ return isSetOptional();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (groupId: "); //$NON-NLS-1$
+ result.append(groupId);
+ result.append(", artifactId: "); //$NON-NLS-1$
+ result.append(artifactId);
+ result.append(", version: "); //$NON-NLS-1$
+ result.append(version);
+ result.append(", type: "); //$NON-NLS-1$
+ if (typeESet)
+ result.append(type);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", classifier: "); //$NON-NLS-1$
+ result.append(classifier);
+ result.append(", scope: "); //$NON-NLS-1$
+ result.append(scope);
+ result.append(", systemPath: "); //$NON-NLS-1$
+ result.append(systemPath);
+ result.append(", optional: "); //$NON-NLS-1$
+ if (optionalESet)
+ result.append(optional);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(')');
+ return result.toString();
+ }
+
+} // DependencyImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DependencyManagementImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DependencyManagementImpl.java
new file mode 100644
index 00000000..45a89a1a
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DependencyManagementImpl.java
@@ -0,0 +1,189 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Dependency;
+import org.eclipse.m2e.model.edit.pom.DependencyManagement;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Dependency Management</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DependencyManagementImpl#getDependencies
+ * <em>Dependencies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DependencyManagementImpl extends EObjectImpl implements
+ DependencyManagement {
+ /**
+ * The cached value of the '{@link #getDependencies() <em>Dependencies</em>}
+ * ' containment reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getDependencies()
+ * @generated
+ * @ordered
+ */
+ protected EList<Dependency> dependencies;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DependencyManagementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.DEPENDENCY_MANAGEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Dependency> getDependencies() {
+ if (dependencies == null) {
+ dependencies = new EObjectContainmentEList.Unsettable<Dependency>(
+ Dependency.class, this,
+ PomPackage.DEPENDENCY_MANAGEMENT__DEPENDENCIES);
+ }
+ return dependencies;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetDependencies() {
+ if (dependencies != null)
+ ((InternalEList.Unsettable<?>) dependencies).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetDependencies() {
+ return dependencies != null
+ && ((InternalEList.Unsettable<?>) dependencies).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY_MANAGEMENT__DEPENDENCIES:
+ return ((InternalEList<?>) getDependencies()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY_MANAGEMENT__DEPENDENCIES:
+ return getDependencies();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY_MANAGEMENT__DEPENDENCIES:
+ getDependencies().clear();
+ getDependencies().addAll(
+ (Collection<? extends Dependency>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY_MANAGEMENT__DEPENDENCIES:
+ unsetDependencies();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.DEPENDENCY_MANAGEMENT__DEPENDENCIES:
+ return isSetDependencies();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // DependencyManagementImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DeploymentRepositoryImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DeploymentRepositoryImpl.java
new file mode 100644
index 00000000..9110e681
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DeploymentRepositoryImpl.java
@@ -0,0 +1,487 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.DeploymentRepository;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Deployment Repository</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DeploymentRepositoryImpl#getUniqueVersion
+ * <em>Unique Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeploymentRepositoryImpl#getId
+ * <em>Id</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DeploymentRepositoryImpl#getName
+ * <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeploymentRepositoryImpl#getUrl
+ * <em>Url</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DeploymentRepositoryImpl#getLayout
+ * <em>Layout</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DeploymentRepositoryImpl extends EObjectImpl implements
+ DeploymentRepository {
+ /**
+ * The default value of the '{@link #getUniqueVersion()
+ * <em>Unique Version</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getUniqueVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIQUE_VERSION_EDEFAULT = "true"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getUniqueVersion()
+ * <em>Unique Version</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getUniqueVersion()
+ * @generated
+ * @ordered
+ */
+ protected String uniqueVersion = UNIQUE_VERSION_EDEFAULT;
+
+ /**
+ * This is true if the Unique Version attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean uniqueVersionESet;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLayout() <em>Layout</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected static final String LAYOUT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected String layout = LAYOUT_EDEFAULT;
+
+ /**
+ * This is true if the Layout attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean layoutESet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DeploymentRepositoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.DEPLOYMENT_REPOSITORY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUniqueVersion() {
+ return uniqueVersion;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUniqueVersion(String newUniqueVersion) {
+ String oldUniqueVersion = uniqueVersion;
+ uniqueVersion = newUniqueVersion;
+ boolean oldUniqueVersionESet = uniqueVersionESet;
+ uniqueVersionESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPLOYMENT_REPOSITORY__UNIQUE_VERSION,
+ oldUniqueVersion, uniqueVersion, !oldUniqueVersionESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetUniqueVersion() {
+ String oldUniqueVersion = uniqueVersion;
+ boolean oldUniqueVersionESet = uniqueVersionESet;
+ uniqueVersion = UNIQUE_VERSION_EDEFAULT;
+ uniqueVersionESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.DEPLOYMENT_REPOSITORY__UNIQUE_VERSION,
+ oldUniqueVersion, UNIQUE_VERSION_EDEFAULT,
+ oldUniqueVersionESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetUniqueVersion() {
+ return uniqueVersionESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPLOYMENT_REPOSITORY__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPLOYMENT_REPOSITORY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPLOYMENT_REPOSITORY__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLayout(String newLayout) {
+ String oldLayout = layout;
+ layout = newLayout;
+ boolean oldLayoutESet = layoutESet;
+ layoutESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEPLOYMENT_REPOSITORY__LAYOUT, oldLayout,
+ layout, !oldLayoutESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetLayout() {
+ String oldLayout = layout;
+ boolean oldLayoutESet = layoutESet;
+ layout = LAYOUT_EDEFAULT;
+ layoutESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.DEPLOYMENT_REPOSITORY__LAYOUT, oldLayout,
+ LAYOUT_EDEFAULT, oldLayoutESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetLayout() {
+ return layoutESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.DEPLOYMENT_REPOSITORY__UNIQUE_VERSION:
+ return getUniqueVersion();
+ case PomPackage.DEPLOYMENT_REPOSITORY__ID:
+ return getId();
+ case PomPackage.DEPLOYMENT_REPOSITORY__NAME:
+ return getName();
+ case PomPackage.DEPLOYMENT_REPOSITORY__URL:
+ return getUrl();
+ case PomPackage.DEPLOYMENT_REPOSITORY__LAYOUT:
+ return getLayout();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.DEPLOYMENT_REPOSITORY__UNIQUE_VERSION:
+ setUniqueVersion((String) newValue);
+ return;
+ case PomPackage.DEPLOYMENT_REPOSITORY__ID:
+ setId((String) newValue);
+ return;
+ case PomPackage.DEPLOYMENT_REPOSITORY__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.DEPLOYMENT_REPOSITORY__URL:
+ setUrl((String) newValue);
+ return;
+ case PomPackage.DEPLOYMENT_REPOSITORY__LAYOUT:
+ setLayout((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.DEPLOYMENT_REPOSITORY__UNIQUE_VERSION:
+ unsetUniqueVersion();
+ return;
+ case PomPackage.DEPLOYMENT_REPOSITORY__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case PomPackage.DEPLOYMENT_REPOSITORY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.DEPLOYMENT_REPOSITORY__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ case PomPackage.DEPLOYMENT_REPOSITORY__LAYOUT:
+ unsetLayout();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.DEPLOYMENT_REPOSITORY__UNIQUE_VERSION:
+ return isSetUniqueVersion();
+ case PomPackage.DEPLOYMENT_REPOSITORY__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case PomPackage.DEPLOYMENT_REPOSITORY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.DEPLOYMENT_REPOSITORY__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ case PomPackage.DEPLOYMENT_REPOSITORY__LAYOUT:
+ return isSetLayout();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (uniqueVersion: "); //$NON-NLS-1$
+ if (uniqueVersionESet)
+ result.append(uniqueVersion);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(", name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(", layout: "); //$NON-NLS-1$
+ if (layoutESet)
+ result.append(layout);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(')');
+ return result.toString();
+ }
+
+} // DeploymentRepositoryImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DeveloperImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DeveloperImpl.java
new file mode 100644
index 00000000..de8844fa
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DeveloperImpl.java
@@ -0,0 +1,665 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Developer;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Developer</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl#getId <em>Id</em>}
+ * </li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl#getName <em>Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl#getEmail <em>Email
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl#getUrl <em>Url
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl#getOrganization
+ * <em>Organization</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl#getOrganizationUrl
+ * <em>Organization Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl#getTimezone <em>
+ * Timezone</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl#getProperties <em>
+ * Properties</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DeveloperImpl#getRoles <em>Roles
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DeveloperImpl extends EObjectImpl implements Developer {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getEmail() <em>Email</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEmail()
+ * @generated
+ * @ordered
+ */
+ protected static final String EMAIL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEmail() <em>Email</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEmail()
+ * @generated
+ * @ordered
+ */
+ protected String email = EMAIL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOrganization()
+ * <em>Organization</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORGANIZATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOrganization() <em>Organization</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected String organization = ORGANIZATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOrganizationUrl()
+ * <em>Organization Url</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOrganizationUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORGANIZATION_URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOrganizationUrl()
+ * <em>Organization Url</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOrganizationUrl()
+ * @generated
+ * @ordered
+ */
+ protected String organizationUrl = ORGANIZATION_URL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTimezone() <em>Timezone</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTimezone()
+ * @generated
+ * @ordered
+ */
+ protected static final String TIMEZONE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTimezone() <em>Timezone</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTimezone()
+ * @generated
+ * @ordered
+ */
+ protected String timezone = TIMEZONE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getProperties() <em>Properties</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<PropertyElement> properties;
+
+ /**
+ * The cached value of the '{@link #getRoles() <em>Roles</em>}' attribute
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRoles()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> roles;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DeveloperImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.DEVELOPER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEVELOPER__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEVELOPER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getEmail() {
+ return email;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEmail(String newEmail) {
+ String oldEmail = email;
+ email = newEmail;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEVELOPER__EMAIL, oldEmail, email));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEVELOPER__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOrganization() {
+ return organization;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOrganization(String newOrganization) {
+ String oldOrganization = organization;
+ organization = newOrganization;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEVELOPER__ORGANIZATION, oldOrganization,
+ organization));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOrganizationUrl() {
+ return organizationUrl;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOrganizationUrl(String newOrganizationUrl) {
+ String oldOrganizationUrl = organizationUrl;
+ organizationUrl = newOrganizationUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEVELOPER__ORGANIZATION_URL, oldOrganizationUrl,
+ organizationUrl));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getTimezone() {
+ return timezone;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTimezone(String newTimezone) {
+ String oldTimezone = timezone;
+ timezone = newTimezone;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DEVELOPER__TIMEZONE, oldTimezone, timezone));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<PropertyElement> getProperties() {
+ if (properties == null) {
+ properties = new EObjectContainmentEList.Unsettable<PropertyElement>(
+ PropertyElement.class, this,
+ PomPackage.DEVELOPER__PROPERTIES);
+ }
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetProperties() {
+ if (properties != null)
+ ((InternalEList.Unsettable<?>) properties).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetProperties() {
+ return properties != null
+ && ((InternalEList.Unsettable<?>) properties).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getRoles() {
+ if (roles == null) {
+ roles = new EDataTypeEList.Unsettable<String>(String.class, this,
+ PomPackage.DEVELOPER__ROLES);
+ }
+ return roles;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetRoles() {
+ if (roles != null)
+ ((InternalEList.Unsettable<?>) roles).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetRoles() {
+ return roles != null && ((InternalEList.Unsettable<?>) roles).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.DEVELOPER__PROPERTIES:
+ return ((InternalEList<?>) getProperties()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.DEVELOPER__ID:
+ return getId();
+ case PomPackage.DEVELOPER__NAME:
+ return getName();
+ case PomPackage.DEVELOPER__EMAIL:
+ return getEmail();
+ case PomPackage.DEVELOPER__URL:
+ return getUrl();
+ case PomPackage.DEVELOPER__ORGANIZATION:
+ return getOrganization();
+ case PomPackage.DEVELOPER__ORGANIZATION_URL:
+ return getOrganizationUrl();
+ case PomPackage.DEVELOPER__TIMEZONE:
+ return getTimezone();
+ case PomPackage.DEVELOPER__PROPERTIES:
+ return getProperties();
+ case PomPackage.DEVELOPER__ROLES:
+ return getRoles();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.DEVELOPER__ID:
+ setId((String) newValue);
+ return;
+ case PomPackage.DEVELOPER__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.DEVELOPER__EMAIL:
+ setEmail((String) newValue);
+ return;
+ case PomPackage.DEVELOPER__URL:
+ setUrl((String) newValue);
+ return;
+ case PomPackage.DEVELOPER__ORGANIZATION:
+ setOrganization((String) newValue);
+ return;
+ case PomPackage.DEVELOPER__ORGANIZATION_URL:
+ setOrganizationUrl((String) newValue);
+ return;
+ case PomPackage.DEVELOPER__TIMEZONE:
+ setTimezone((String) newValue);
+ return;
+ case PomPackage.DEVELOPER__PROPERTIES:
+ getProperties().clear();
+ getProperties().addAll(
+ (Collection<? extends PropertyElement>) newValue);
+ return;
+ case PomPackage.DEVELOPER__ROLES:
+ getRoles().clear();
+ getRoles().addAll((Collection<? extends String>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.DEVELOPER__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case PomPackage.DEVELOPER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.DEVELOPER__EMAIL:
+ setEmail(EMAIL_EDEFAULT);
+ return;
+ case PomPackage.DEVELOPER__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ case PomPackage.DEVELOPER__ORGANIZATION:
+ setOrganization(ORGANIZATION_EDEFAULT);
+ return;
+ case PomPackage.DEVELOPER__ORGANIZATION_URL:
+ setOrganizationUrl(ORGANIZATION_URL_EDEFAULT);
+ return;
+ case PomPackage.DEVELOPER__TIMEZONE:
+ setTimezone(TIMEZONE_EDEFAULT);
+ return;
+ case PomPackage.DEVELOPER__PROPERTIES:
+ unsetProperties();
+ return;
+ case PomPackage.DEVELOPER__ROLES:
+ unsetRoles();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.DEVELOPER__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case PomPackage.DEVELOPER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.DEVELOPER__EMAIL:
+ return EMAIL_EDEFAULT == null ? email != null : !EMAIL_EDEFAULT
+ .equals(email);
+ case PomPackage.DEVELOPER__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ case PomPackage.DEVELOPER__ORGANIZATION:
+ return ORGANIZATION_EDEFAULT == null ? organization != null
+ : !ORGANIZATION_EDEFAULT.equals(organization);
+ case PomPackage.DEVELOPER__ORGANIZATION_URL:
+ return ORGANIZATION_URL_EDEFAULT == null ? organizationUrl != null
+ : !ORGANIZATION_URL_EDEFAULT.equals(organizationUrl);
+ case PomPackage.DEVELOPER__TIMEZONE:
+ return TIMEZONE_EDEFAULT == null ? timezone != null
+ : !TIMEZONE_EDEFAULT.equals(timezone);
+ case PomPackage.DEVELOPER__PROPERTIES:
+ return isSetProperties();
+ case PomPackage.DEVELOPER__ROLES:
+ return isSetRoles();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(", name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", email: "); //$NON-NLS-1$
+ result.append(email);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(", organization: "); //$NON-NLS-1$
+ result.append(organization);
+ result.append(", organizationUrl: "); //$NON-NLS-1$
+ result.append(organizationUrl);
+ result.append(", timezone: "); //$NON-NLS-1$
+ result.append(timezone);
+ result.append(", roles: "); //$NON-NLS-1$
+ result.append(roles);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DeveloperImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DistributionManagementImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DistributionManagementImpl.java
new file mode 100644
index 00000000..f7e63600
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DistributionManagementImpl.java
@@ -0,0 +1,894 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.DeploymentRepository;
+import org.eclipse.m2e.model.edit.pom.DistributionManagement;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Relocation;
+import org.eclipse.m2e.model.edit.pom.Site;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Distribution Management</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl#getRepository
+ * <em>Repository</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl#getSnapshotRepository
+ * <em>Snapshot Repository</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl#getSite
+ * <em>Site</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl#getDownloadUrl
+ * <em>Download Url</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl#getRelocation
+ * <em>Relocation</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DistributionManagementImpl#getStatus
+ * <em>Status</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DistributionManagementImpl extends EObjectImpl implements
+ DistributionManagement {
+ /**
+ * The cached value of the '{@link #getRepository() <em>Repository</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRepository()
+ * @generated
+ * @ordered
+ */
+ protected DeploymentRepository repository;
+
+ /**
+ * This is true if the Repository containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean repositoryESet;
+
+ /**
+ * The cached value of the '{@link #getSnapshotRepository()
+ * <em>Snapshot Repository</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getSnapshotRepository()
+ * @generated
+ * @ordered
+ */
+ protected DeploymentRepository snapshotRepository;
+
+ /**
+ * This is true if the Snapshot Repository containment reference has been
+ * set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean snapshotRepositoryESet;
+
+ /**
+ * The cached value of the '{@link #getSite() <em>Site</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSite()
+ * @generated
+ * @ordered
+ */
+ protected Site site;
+
+ /**
+ * This is true if the Site containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean siteESet;
+
+ /**
+ * The default value of the '{@link #getDownloadUrl() <em>Download Url</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDownloadUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String DOWNLOAD_URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDownloadUrl() <em>Download Url</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDownloadUrl()
+ * @generated
+ * @ordered
+ */
+ protected String downloadUrl = DOWNLOAD_URL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRelocation() <em>Relocation</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRelocation()
+ * @generated
+ * @ordered
+ */
+ protected Relocation relocation;
+
+ /**
+ * This is true if the Relocation containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean relocationESet;
+
+ /**
+ * The default value of the '{@link #getStatus() <em>Status</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getStatus()
+ * @generated
+ * @ordered
+ */
+ protected String status = STATUS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DistributionManagementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.DISTRIBUTION_MANAGEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DeploymentRepository getRepository() {
+ return repository;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetRepository(
+ DeploymentRepository newRepository, NotificationChain msgs) {
+ DeploymentRepository oldRepository = repository;
+ repository = newRepository;
+ boolean oldRepositoryESet = repositoryESet;
+ repositoryESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY,
+ oldRepository, newRepository, !oldRepositoryESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRepository(DeploymentRepository newRepository) {
+ if (newRepository != repository) {
+ NotificationChain msgs = null;
+ if (repository != null)
+ msgs = ((InternalEObject) repository)
+ .eInverseRemove(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY,
+ null, msgs);
+ if (newRepository != null)
+ msgs = ((InternalEObject) newRepository)
+ .eInverseAdd(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY,
+ null, msgs);
+ msgs = basicSetRepository(newRepository, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldRepositoryESet = repositoryESet;
+ repositoryESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY,
+ newRepository, newRepository, !oldRepositoryESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetRepository(NotificationChain msgs) {
+ DeploymentRepository oldRepository = repository;
+ repository = null;
+ boolean oldRepositoryESet = repositoryESet;
+ repositoryESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY,
+ oldRepository, null, oldRepositoryESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetRepository() {
+ if (repository != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) repository).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY,
+ null, msgs);
+ msgs = basicUnsetRepository(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldRepositoryESet = repositoryESet;
+ repositoryESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY, null,
+ null, oldRepositoryESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetRepository() {
+ return repositoryESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DeploymentRepository getSnapshotRepository() {
+ return snapshotRepository;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSnapshotRepository(
+ DeploymentRepository newSnapshotRepository, NotificationChain msgs) {
+ DeploymentRepository oldSnapshotRepository = snapshotRepository;
+ snapshotRepository = newSnapshotRepository;
+ boolean oldSnapshotRepositoryESet = snapshotRepositoryESet;
+ snapshotRepositoryESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY,
+ oldSnapshotRepository, newSnapshotRepository,
+ !oldSnapshotRepositoryESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSnapshotRepository(DeploymentRepository newSnapshotRepository) {
+ if (newSnapshotRepository != snapshotRepository) {
+ NotificationChain msgs = null;
+ if (snapshotRepository != null)
+ msgs = ((InternalEObject) snapshotRepository)
+ .eInverseRemove(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY,
+ null, msgs);
+ if (newSnapshotRepository != null)
+ msgs = ((InternalEObject) newSnapshotRepository)
+ .eInverseAdd(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY,
+ null, msgs);
+ msgs = basicSetSnapshotRepository(newSnapshotRepository, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldSnapshotRepositoryESet = snapshotRepositoryESet;
+ snapshotRepositoryESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(
+ this,
+ Notification.SET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY,
+ newSnapshotRepository, newSnapshotRepository,
+ !oldSnapshotRepositoryESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetSnapshotRepository(NotificationChain msgs) {
+ DeploymentRepository oldSnapshotRepository = snapshotRepository;
+ snapshotRepository = null;
+ boolean oldSnapshotRepositoryESet = snapshotRepositoryESet;
+ snapshotRepositoryESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY,
+ oldSnapshotRepository, null, oldSnapshotRepositoryESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetSnapshotRepository() {
+ if (snapshotRepository != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) snapshotRepository)
+ .eInverseRemove(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY,
+ null, msgs);
+ msgs = basicUnsetSnapshotRepository(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldSnapshotRepositoryESet = snapshotRepositoryESet;
+ snapshotRepositoryESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(
+ this,
+ Notification.UNSET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY,
+ null, null, oldSnapshotRepositoryESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetSnapshotRepository() {
+ return snapshotRepositoryESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Site getSite() {
+ return site;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSite(Site newSite, NotificationChain msgs) {
+ Site oldSite = site;
+ site = newSite;
+ boolean oldSiteESet = siteESet;
+ siteESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.DISTRIBUTION_MANAGEMENT__SITE,
+ oldSite, newSite, !oldSiteESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSite(Site newSite) {
+ if (newSite != site) {
+ NotificationChain msgs = null;
+ if (site != null)
+ msgs = ((InternalEObject) site).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__SITE,
+ null, msgs);
+ if (newSite != null)
+ msgs = ((InternalEObject) newSite).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__SITE,
+ null, msgs);
+ msgs = basicSetSite(newSite, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldSiteESet = siteESet;
+ siteESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__SITE, newSite,
+ newSite, !oldSiteESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetSite(NotificationChain msgs) {
+ Site oldSite = site;
+ site = null;
+ boolean oldSiteESet = siteESet;
+ siteESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__SITE, oldSite, null,
+ oldSiteESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetSite() {
+ if (site != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) site).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__SITE, null,
+ msgs);
+ msgs = basicUnsetSite(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldSiteESet = siteESet;
+ siteESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__SITE, null, null,
+ oldSiteESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetSite() {
+ return siteESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDownloadUrl() {
+ return downloadUrl;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDownloadUrl(String newDownloadUrl) {
+ String oldDownloadUrl = downloadUrl;
+ downloadUrl = newDownloadUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL,
+ oldDownloadUrl, downloadUrl));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Relocation getRelocation() {
+ return relocation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetRelocation(Relocation newRelocation,
+ NotificationChain msgs) {
+ Relocation oldRelocation = relocation;
+ relocation = newRelocation;
+ boolean oldRelocationESet = relocationESet;
+ relocationESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION,
+ oldRelocation, newRelocation, !oldRelocationESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRelocation(Relocation newRelocation) {
+ if (newRelocation != relocation) {
+ NotificationChain msgs = null;
+ if (relocation != null)
+ msgs = ((InternalEObject) relocation)
+ .eInverseRemove(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION,
+ null, msgs);
+ if (newRelocation != null)
+ msgs = ((InternalEObject) newRelocation)
+ .eInverseAdd(
+ this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION,
+ null, msgs);
+ msgs = basicSetRelocation(newRelocation, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldRelocationESet = relocationESet;
+ relocationESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION,
+ newRelocation, newRelocation, !oldRelocationESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetRelocation(NotificationChain msgs) {
+ Relocation oldRelocation = relocation;
+ relocation = null;
+ boolean oldRelocationESet = relocationESet;
+ relocationESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION,
+ oldRelocation, null, oldRelocationESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetRelocation() {
+ if (relocation != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) relocation).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION,
+ null, msgs);
+ msgs = basicUnsetRelocation(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldRelocationESet = relocationESet;
+ relocationESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION, null,
+ null, oldRelocationESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetRelocation() {
+ return relocationESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getStatus() {
+ return status;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setStatus(String newStatus) {
+ String oldStatus = status;
+ status = newStatus;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.DISTRIBUTION_MANAGEMENT__STATUS, oldStatus,
+ status));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY:
+ return basicUnsetRepository(msgs);
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY:
+ return basicUnsetSnapshotRepository(msgs);
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SITE:
+ return basicUnsetSite(msgs);
+ case PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION:
+ return basicUnsetRelocation(msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY:
+ return getRepository();
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY:
+ return getSnapshotRepository();
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SITE:
+ return getSite();
+ case PomPackage.DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL:
+ return getDownloadUrl();
+ case PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION:
+ return getRelocation();
+ case PomPackage.DISTRIBUTION_MANAGEMENT__STATUS:
+ return getStatus();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY:
+ setRepository((DeploymentRepository) newValue);
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY:
+ setSnapshotRepository((DeploymentRepository) newValue);
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SITE:
+ setSite((Site) newValue);
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL:
+ setDownloadUrl((String) newValue);
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION:
+ setRelocation((Relocation) newValue);
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__STATUS:
+ setStatus((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY:
+ unsetRepository();
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY:
+ unsetSnapshotRepository();
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SITE:
+ unsetSite();
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL:
+ setDownloadUrl(DOWNLOAD_URL_EDEFAULT);
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION:
+ unsetRelocation();
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__STATUS:
+ setStatus(STATUS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY:
+ return isSetRepository();
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY:
+ return isSetSnapshotRepository();
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SITE:
+ return isSetSite();
+ case PomPackage.DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL:
+ return DOWNLOAD_URL_EDEFAULT == null ? downloadUrl != null
+ : !DOWNLOAD_URL_EDEFAULT.equals(downloadUrl);
+ case PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION:
+ return isSetRelocation();
+ case PomPackage.DISTRIBUTION_MANAGEMENT__STATUS:
+ return STATUS_EDEFAULT == null ? status != null : !STATUS_EDEFAULT
+ .equals(status);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (downloadUrl: "); //$NON-NLS-1$
+ result.append(downloadUrl);
+ result.append(", status: "); //$NON-NLS-1$
+ result.append(status);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DistributionManagementImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DocumentRootImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DocumentRootImpl.java
new file mode 100644
index 00000000..0b6d6d44
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/DocumentRootImpl.java
@@ -0,0 +1,317 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.DocumentRoot;
+import org.eclipse.m2e.model.edit.pom.Model;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Document Root</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DocumentRootImpl#getMixed <em>
+ * Mixed</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DocumentRootImpl#getXMLNSPrefixMap
+ * <em>XMLNS Prefix Map</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.DocumentRootImpl#getXSISchemaLocation
+ * <em>XSI Schema Location</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.DocumentRootImpl#getProject <em>
+ * Project</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentRootImpl extends EObjectImpl implements DocumentRoot {
+ /**
+ * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMixed()
+ * @generated
+ * @ordered
+ */
+ protected FeatureMap mixed;
+
+ /**
+ * The cached value of the '{@link #getXMLNSPrefixMap()
+ * <em>XMLNS Prefix Map</em>}' map. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getXMLNSPrefixMap()
+ * @generated
+ * @ordered
+ */
+ protected EMap<String, String> xMLNSPrefixMap;
+
+ /**
+ * The cached value of the '{@link #getXSISchemaLocation()
+ * <em>XSI Schema Location</em>}' map. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getXSISchemaLocation()
+ * @generated
+ * @ordered
+ */
+ protected EMap<String, String> xSISchemaLocation;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DocumentRootImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.DOCUMENT_ROOT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FeatureMap getMixed() {
+ if (mixed == null) {
+ mixed = new BasicFeatureMap(this, PomPackage.DOCUMENT_ROOT__MIXED);
+ }
+ return mixed;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EMap<String, String> getXMLNSPrefixMap() {
+ if (xMLNSPrefixMap == null) {
+ xMLNSPrefixMap = new EcoreEMap<String, String>(
+ EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY,
+ EStringToStringMapEntryImpl.class, this,
+ PomPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+ }
+ return xMLNSPrefixMap;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EMap<String, String> getXSISchemaLocation() {
+ if (xSISchemaLocation == null) {
+ xSISchemaLocation = new EcoreEMap<String, String>(
+ EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY,
+ EStringToStringMapEntryImpl.class, this,
+ PomPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+ }
+ return xSISchemaLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Model getProject() {
+ return (Model) getMixed().get(
+ PomPackage.Literals.DOCUMENT_ROOT__PROJECT, true);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetProject(Model newProject,
+ NotificationChain msgs) {
+ return ((FeatureMap.Internal) getMixed()).basicAdd(
+ PomPackage.Literals.DOCUMENT_ROOT__PROJECT, newProject, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setProject(Model newProject) {
+ ((FeatureMap.Internal) getMixed()).set(
+ PomPackage.Literals.DOCUMENT_ROOT__PROJECT, newProject);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.DOCUMENT_ROOT__MIXED:
+ return ((InternalEList<?>) getMixed()).basicRemove(otherEnd, msgs);
+ case PomPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return ((InternalEList<?>) getXMLNSPrefixMap()).basicRemove(
+ otherEnd, msgs);
+ case PomPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return ((InternalEList<?>) getXSISchemaLocation()).basicRemove(
+ otherEnd, msgs);
+ case PomPackage.DOCUMENT_ROOT__PROJECT:
+ return basicSetProject(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.DOCUMENT_ROOT__MIXED:
+ if (coreType)
+ return getMixed();
+ return ((FeatureMap.Internal) getMixed()).getWrapper();
+ case PomPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ if (coreType)
+ return getXMLNSPrefixMap();
+ else
+ return getXMLNSPrefixMap().map();
+ case PomPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ if (coreType)
+ return getXSISchemaLocation();
+ else
+ return getXSISchemaLocation().map();
+ case PomPackage.DOCUMENT_ROOT__PROJECT:
+ return getProject();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.DOCUMENT_ROOT__MIXED:
+ ((FeatureMap.Internal) getMixed()).set(newValue);
+ return;
+ case PomPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ ((EStructuralFeature.Setting) getXMLNSPrefixMap()).set(newValue);
+ return;
+ case PomPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ ((EStructuralFeature.Setting) getXSISchemaLocation()).set(newValue);
+ return;
+ case PomPackage.DOCUMENT_ROOT__PROJECT:
+ setProject((Model) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.DOCUMENT_ROOT__MIXED:
+ getMixed().clear();
+ return;
+ case PomPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ getXMLNSPrefixMap().clear();
+ return;
+ case PomPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ getXSISchemaLocation().clear();
+ return;
+ case PomPackage.DOCUMENT_ROOT__PROJECT:
+ setProject((Model) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.DOCUMENT_ROOT__MIXED:
+ return mixed != null && !mixed.isEmpty();
+ case PomPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return xMLNSPrefixMap != null && !xMLNSPrefixMap.isEmpty();
+ case PomPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return xSISchemaLocation != null && !xSISchemaLocation.isEmpty();
+ case PomPackage.DOCUMENT_ROOT__PROJECT:
+ return getProject() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mixed: "); //$NON-NLS-1$
+ result.append(mixed);
+ result.append(')');
+ return result.toString();
+ }
+
+} // DocumentRootImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ExclusionImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ExclusionImpl.java
new file mode 100644
index 00000000..3c9dd2e7
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ExclusionImpl.java
@@ -0,0 +1,233 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.Exclusion;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Exclusion</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ExclusionImpl#getArtifactId <em>
+ * Artifact Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ExclusionImpl#getGroupId <em>
+ * Group Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExclusionImpl extends EObjectImpl implements Exclusion {
+ /**
+ * The default value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARTIFACT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected String artifactId = ARTIFACT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected static final String GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected String groupId = GROUP_ID_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExclusionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.EXCLUSION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArtifactId(String newArtifactId) {
+ String oldArtifactId = artifactId;
+ artifactId = newArtifactId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.EXCLUSION__ARTIFACT_ID, oldArtifactId,
+ artifactId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGroupId(String newGroupId) {
+ String oldGroupId = groupId;
+ groupId = newGroupId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.EXCLUSION__GROUP_ID, oldGroupId, groupId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.EXCLUSION__ARTIFACT_ID:
+ return getArtifactId();
+ case PomPackage.EXCLUSION__GROUP_ID:
+ return getGroupId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.EXCLUSION__ARTIFACT_ID:
+ setArtifactId((String) newValue);
+ return;
+ case PomPackage.EXCLUSION__GROUP_ID:
+ setGroupId((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.EXCLUSION__ARTIFACT_ID:
+ setArtifactId(ARTIFACT_ID_EDEFAULT);
+ return;
+ case PomPackage.EXCLUSION__GROUP_ID:
+ setGroupId(GROUP_ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.EXCLUSION__ARTIFACT_ID:
+ return ARTIFACT_ID_EDEFAULT == null ? artifactId != null
+ : !ARTIFACT_ID_EDEFAULT.equals(artifactId);
+ case PomPackage.EXCLUSION__GROUP_ID:
+ return GROUP_ID_EDEFAULT == null ? groupId != null
+ : !GROUP_ID_EDEFAULT.equals(groupId);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (artifactId: "); //$NON-NLS-1$
+ result.append(artifactId);
+ result.append(", groupId: "); //$NON-NLS-1$
+ result.append(groupId);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ExclusionImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ExtensionImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ExtensionImpl.java
new file mode 100644
index 00000000..bd10cf36
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ExtensionImpl.java
@@ -0,0 +1,290 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.Extension;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Extension</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ExtensionImpl#getGroupId <em>
+ * Group Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ExtensionImpl#getArtifactId <em>
+ * Artifact Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ExtensionImpl#getVersion <em>
+ * Version</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExtensionImpl extends EObjectImpl implements Extension {
+ /**
+ * The default value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected static final String GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected String groupId = GROUP_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARTIFACT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected String artifactId = ARTIFACT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExtensionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.EXTENSION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGroupId(String newGroupId) {
+ String oldGroupId = groupId;
+ groupId = newGroupId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.EXTENSION__GROUP_ID, oldGroupId, groupId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArtifactId(String newArtifactId) {
+ String oldArtifactId = artifactId;
+ artifactId = newArtifactId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.EXTENSION__ARTIFACT_ID, oldArtifactId,
+ artifactId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVersion(String newVersion) {
+ String oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.EXTENSION__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.EXTENSION__GROUP_ID:
+ return getGroupId();
+ case PomPackage.EXTENSION__ARTIFACT_ID:
+ return getArtifactId();
+ case PomPackage.EXTENSION__VERSION:
+ return getVersion();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.EXTENSION__GROUP_ID:
+ setGroupId((String) newValue);
+ return;
+ case PomPackage.EXTENSION__ARTIFACT_ID:
+ setArtifactId((String) newValue);
+ return;
+ case PomPackage.EXTENSION__VERSION:
+ setVersion((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.EXTENSION__GROUP_ID:
+ setGroupId(GROUP_ID_EDEFAULT);
+ return;
+ case PomPackage.EXTENSION__ARTIFACT_ID:
+ setArtifactId(ARTIFACT_ID_EDEFAULT);
+ return;
+ case PomPackage.EXTENSION__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.EXTENSION__GROUP_ID:
+ return GROUP_ID_EDEFAULT == null ? groupId != null
+ : !GROUP_ID_EDEFAULT.equals(groupId);
+ case PomPackage.EXTENSION__ARTIFACT_ID:
+ return ARTIFACT_ID_EDEFAULT == null ? artifactId != null
+ : !ARTIFACT_ID_EDEFAULT.equals(artifactId);
+ case PomPackage.EXTENSION__VERSION:
+ return VERSION_EDEFAULT == null ? version != null
+ : !VERSION_EDEFAULT.equals(version);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (groupId: "); //$NON-NLS-1$
+ result.append(groupId);
+ result.append(", artifactId: "); //$NON-NLS-1$
+ result.append(artifactId);
+ result.append(", version: "); //$NON-NLS-1$
+ result.append(version);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ExtensionImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/IssueManagementImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/IssueManagementImpl.java
new file mode 100644
index 00000000..bcda5290
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/IssueManagementImpl.java
@@ -0,0 +1,232 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.IssueManagement;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Issue Management</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.IssueManagementImpl#getSystem
+ * <em>System</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.IssueManagementImpl#getUrl <em>
+ * Url</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IssueManagementImpl extends EObjectImpl implements IssueManagement {
+ /**
+ * The default value of the '{@link #getSystem() <em>System</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSystem()
+ * @generated
+ * @ordered
+ */
+ protected static final String SYSTEM_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSystem() <em>System</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSystem()
+ * @generated
+ * @ordered
+ */
+ protected String system = SYSTEM_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IssueManagementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.ISSUE_MANAGEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSystem() {
+ return system;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSystem(String newSystem) {
+ String oldSystem = system;
+ system = newSystem;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ISSUE_MANAGEMENT__SYSTEM, oldSystem, system));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ISSUE_MANAGEMENT__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.ISSUE_MANAGEMENT__SYSTEM:
+ return getSystem();
+ case PomPackage.ISSUE_MANAGEMENT__URL:
+ return getUrl();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.ISSUE_MANAGEMENT__SYSTEM:
+ setSystem((String) newValue);
+ return;
+ case PomPackage.ISSUE_MANAGEMENT__URL:
+ setUrl((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.ISSUE_MANAGEMENT__SYSTEM:
+ setSystem(SYSTEM_EDEFAULT);
+ return;
+ case PomPackage.ISSUE_MANAGEMENT__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.ISSUE_MANAGEMENT__SYSTEM:
+ return SYSTEM_EDEFAULT == null ? system != null : !SYSTEM_EDEFAULT
+ .equals(system);
+ case PomPackage.ISSUE_MANAGEMENT__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (system: "); //$NON-NLS-1$
+ result.append(system);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(')');
+ return result.toString();
+ }
+
+} // IssueManagementImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/LicenseImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/LicenseImpl.java
new file mode 100644
index 00000000..2e2fdfec
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/LicenseImpl.java
@@ -0,0 +1,348 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.License;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>License</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.LicenseImpl#getName <em>Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.LicenseImpl#getUrl <em>Url</em>}
+ * </li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.LicenseImpl#getDistribution <em>
+ * Distribution</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.LicenseImpl#getComments <em>
+ * Comments</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LicenseImpl extends EObjectImpl implements License {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDistribution()
+ * <em>Distribution</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDistribution()
+ * @generated
+ * @ordered
+ */
+ protected static final String DISTRIBUTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDistribution() <em>Distribution</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDistribution()
+ * @generated
+ * @ordered
+ */
+ protected String distribution = DISTRIBUTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getComments() <em>Comments</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getComments()
+ * @generated
+ * @ordered
+ */
+ protected static final String COMMENTS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getComments() <em>Comments</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getComments()
+ * @generated
+ * @ordered
+ */
+ protected String comments = COMMENTS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LicenseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.LICENSE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.LICENSE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.LICENSE__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDistribution() {
+ return distribution;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDistribution(String newDistribution) {
+ String oldDistribution = distribution;
+ distribution = newDistribution;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.LICENSE__DISTRIBUTION, oldDistribution,
+ distribution));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getComments() {
+ return comments;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setComments(String newComments) {
+ String oldComments = comments;
+ comments = newComments;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.LICENSE__COMMENTS, oldComments, comments));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.LICENSE__NAME:
+ return getName();
+ case PomPackage.LICENSE__URL:
+ return getUrl();
+ case PomPackage.LICENSE__DISTRIBUTION:
+ return getDistribution();
+ case PomPackage.LICENSE__COMMENTS:
+ return getComments();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.LICENSE__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.LICENSE__URL:
+ setUrl((String) newValue);
+ return;
+ case PomPackage.LICENSE__DISTRIBUTION:
+ setDistribution((String) newValue);
+ return;
+ case PomPackage.LICENSE__COMMENTS:
+ setComments((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.LICENSE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.LICENSE__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ case PomPackage.LICENSE__DISTRIBUTION:
+ setDistribution(DISTRIBUTION_EDEFAULT);
+ return;
+ case PomPackage.LICENSE__COMMENTS:
+ setComments(COMMENTS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.LICENSE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.LICENSE__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ case PomPackage.LICENSE__DISTRIBUTION:
+ return DISTRIBUTION_EDEFAULT == null ? distribution != null
+ : !DISTRIBUTION_EDEFAULT.equals(distribution);
+ case PomPackage.LICENSE__COMMENTS:
+ return COMMENTS_EDEFAULT == null ? comments != null
+ : !COMMENTS_EDEFAULT.equals(comments);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(", distribution: "); //$NON-NLS-1$
+ result.append(distribution);
+ result.append(", comments: "); //$NON-NLS-1$
+ result.append(comments);
+ result.append(')');
+ return result.toString();
+ }
+
+} // LicenseImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/MailingListImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/MailingListImpl.java
new file mode 100644
index 00000000..cb7ee9f3
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/MailingListImpl.java
@@ -0,0 +1,472 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.MailingList;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Mailing List</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.MailingListImpl#getName <em>Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.MailingListImpl#getSubscribe
+ * <em>Subscribe</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.MailingListImpl#getUnsubscribe
+ * <em>Unsubscribe</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.MailingListImpl#getPost <em>Post
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.MailingListImpl#getArchive <em>
+ * Archive</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.MailingListImpl#getOtherArchives
+ * <em>Other Archives</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MailingListImpl extends EObjectImpl implements MailingList {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSubscribe() <em>Subscribe</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubscribe()
+ * @generated
+ * @ordered
+ */
+ protected static final String SUBSCRIBE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSubscribe() <em>Subscribe</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubscribe()
+ * @generated
+ * @ordered
+ */
+ protected String subscribe = SUBSCRIBE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnsubscribe() <em>Unsubscribe</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUnsubscribe()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNSUBSCRIBE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnsubscribe() <em>Unsubscribe</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUnsubscribe()
+ * @generated
+ * @ordered
+ */
+ protected String unsubscribe = UNSUBSCRIBE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPost() <em>Post</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPost()
+ * @generated
+ * @ordered
+ */
+ protected static final String POST_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPost() <em>Post</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPost()
+ * @generated
+ * @ordered
+ */
+ protected String post = POST_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArchive() <em>Archive</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArchive()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARCHIVE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArchive() <em>Archive</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArchive()
+ * @generated
+ * @ordered
+ */
+ protected String archive = ARCHIVE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOtherArchives()
+ * <em>Other Archives</em>}' attribute list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOtherArchives()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> otherArchives;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MailingListImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.MAILING_LIST;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MAILING_LIST__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSubscribe() {
+ return subscribe;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSubscribe(String newSubscribe) {
+ String oldSubscribe = subscribe;
+ subscribe = newSubscribe;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MAILING_LIST__SUBSCRIBE, oldSubscribe, subscribe));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUnsubscribe() {
+ return unsubscribe;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUnsubscribe(String newUnsubscribe) {
+ String oldUnsubscribe = unsubscribe;
+ unsubscribe = newUnsubscribe;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MAILING_LIST__UNSUBSCRIBE, oldUnsubscribe,
+ unsubscribe));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getPost() {
+ return post;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPost(String newPost) {
+ String oldPost = post;
+ post = newPost;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MAILING_LIST__POST, oldPost, post));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArchive() {
+ return archive;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArchive(String newArchive) {
+ String oldArchive = archive;
+ archive = newArchive;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MAILING_LIST__ARCHIVE, oldArchive, archive));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getOtherArchives() {
+ if (otherArchives == null) {
+ otherArchives = new EDataTypeEList.Unsettable<String>(String.class,
+ this, PomPackage.MAILING_LIST__OTHER_ARCHIVES);
+ }
+ return otherArchives;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetOtherArchives() {
+ if (otherArchives != null)
+ ((InternalEList.Unsettable<?>) otherArchives).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetOtherArchives() {
+ return otherArchives != null
+ && ((InternalEList.Unsettable<?>) otherArchives).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.MAILING_LIST__NAME:
+ return getName();
+ case PomPackage.MAILING_LIST__SUBSCRIBE:
+ return getSubscribe();
+ case PomPackage.MAILING_LIST__UNSUBSCRIBE:
+ return getUnsubscribe();
+ case PomPackage.MAILING_LIST__POST:
+ return getPost();
+ case PomPackage.MAILING_LIST__ARCHIVE:
+ return getArchive();
+ case PomPackage.MAILING_LIST__OTHER_ARCHIVES:
+ return getOtherArchives();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.MAILING_LIST__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.MAILING_LIST__SUBSCRIBE:
+ setSubscribe((String) newValue);
+ return;
+ case PomPackage.MAILING_LIST__UNSUBSCRIBE:
+ setUnsubscribe((String) newValue);
+ return;
+ case PomPackage.MAILING_LIST__POST:
+ setPost((String) newValue);
+ return;
+ case PomPackage.MAILING_LIST__ARCHIVE:
+ setArchive((String) newValue);
+ return;
+ case PomPackage.MAILING_LIST__OTHER_ARCHIVES:
+ getOtherArchives().clear();
+ getOtherArchives().addAll((Collection<? extends String>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.MAILING_LIST__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.MAILING_LIST__SUBSCRIBE:
+ setSubscribe(SUBSCRIBE_EDEFAULT);
+ return;
+ case PomPackage.MAILING_LIST__UNSUBSCRIBE:
+ setUnsubscribe(UNSUBSCRIBE_EDEFAULT);
+ return;
+ case PomPackage.MAILING_LIST__POST:
+ setPost(POST_EDEFAULT);
+ return;
+ case PomPackage.MAILING_LIST__ARCHIVE:
+ setArchive(ARCHIVE_EDEFAULT);
+ return;
+ case PomPackage.MAILING_LIST__OTHER_ARCHIVES:
+ unsetOtherArchives();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.MAILING_LIST__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.MAILING_LIST__SUBSCRIBE:
+ return SUBSCRIBE_EDEFAULT == null ? subscribe != null
+ : !SUBSCRIBE_EDEFAULT.equals(subscribe);
+ case PomPackage.MAILING_LIST__UNSUBSCRIBE:
+ return UNSUBSCRIBE_EDEFAULT == null ? unsubscribe != null
+ : !UNSUBSCRIBE_EDEFAULT.equals(unsubscribe);
+ case PomPackage.MAILING_LIST__POST:
+ return POST_EDEFAULT == null ? post != null : !POST_EDEFAULT
+ .equals(post);
+ case PomPackage.MAILING_LIST__ARCHIVE:
+ return ARCHIVE_EDEFAULT == null ? archive != null
+ : !ARCHIVE_EDEFAULT.equals(archive);
+ case PomPackage.MAILING_LIST__OTHER_ARCHIVES:
+ return isSetOtherArchives();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", subscribe: "); //$NON-NLS-1$
+ result.append(subscribe);
+ result.append(", unsubscribe: "); //$NON-NLS-1$
+ result.append(unsubscribe);
+ result.append(", post: "); //$NON-NLS-1$
+ result.append(post);
+ result.append(", archive: "); //$NON-NLS-1$
+ result.append(archive);
+ result.append(", otherArchives: "); //$NON-NLS-1$
+ result.append(otherArchives);
+ result.append(')');
+ return result.toString();
+ }
+
+} // MailingListImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ModelImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ModelImpl.java
new file mode 100644
index 00000000..18e5bd55
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ModelImpl.java
@@ -0,0 +1,2791 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Build;
+import org.eclipse.m2e.model.edit.pom.CiManagement;
+import org.eclipse.m2e.model.edit.pom.Contributor;
+import org.eclipse.m2e.model.edit.pom.Dependency;
+import org.eclipse.m2e.model.edit.pom.DependencyManagement;
+import org.eclipse.m2e.model.edit.pom.Developer;
+import org.eclipse.m2e.model.edit.pom.DistributionManagement;
+import org.eclipse.m2e.model.edit.pom.IssueManagement;
+import org.eclipse.m2e.model.edit.pom.License;
+import org.eclipse.m2e.model.edit.pom.MailingList;
+import org.eclipse.m2e.model.edit.pom.Model;
+import org.eclipse.m2e.model.edit.pom.Organization;
+import org.eclipse.m2e.model.edit.pom.Parent;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Prerequisites;
+import org.eclipse.m2e.model.edit.pom.Profile;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+import org.eclipse.m2e.model.edit.pom.Reporting;
+import org.eclipse.m2e.model.edit.pom.Repository;
+import org.eclipse.m2e.model.edit.pom.Scm;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Model</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getParent <em>Parent
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getModelVersion <em>
+ * Model Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getGroupId <em>Group
+ * Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getArtifactId <em>
+ * Artifact Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getPackaging <em>
+ * Packaging</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getName <em>Name</em>}
+ * </li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getVersion <em>Version
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getDescription <em>
+ * Description</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getUrl <em>Url</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getPrerequisites <em>
+ * Prerequisites</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getIssueManagement
+ * <em>Issue Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getCiManagement <em>Ci
+ * Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getInceptionYear <em>
+ * Inception Year</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getMailingLists <em>
+ * Mailing Lists</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getDevelopers <em>
+ * Developers</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getContributors <em>
+ * Contributors</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getLicenses <em>
+ * Licenses</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getScm <em>Scm</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getOrganization <em>
+ * Organization</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getBuild <em>Build
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getProfiles <em>
+ * Profiles</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getRepositories <em>
+ * Repositories</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getPluginRepositories
+ * <em>Plugin Repositories</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getDependencies <em>
+ * Dependencies</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getReporting <em>
+ * Reporting</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getDependencyManagement
+ * <em>Dependency Management</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getDistributionManagement
+ * <em>Distribution Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getProperties <em>
+ * Properties</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ModelImpl#getModules <em>Modules
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModelImpl extends EObjectImpl implements Model {
+ /**
+ * The cached value of the '{@link #getParent() <em>Parent</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getParent()
+ * @generated
+ * @ordered
+ */
+ protected Parent parent;
+
+ /**
+ * This is true if the Parent containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean parentESet;
+
+ /**
+ * The default value of the '{@link #getModelVersion()
+ * <em>Model Version</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getModelVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String MODEL_VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getModelVersion()
+ * <em>Model Version</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getModelVersion()
+ * @generated
+ * @ordered
+ */
+ protected String modelVersion = MODEL_VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected static final String GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected String groupId = GROUP_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARTIFACT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected String artifactId = ARTIFACT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPackaging() <em>Packaging</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPackaging()
+ * @generated
+ * @ordered
+ */
+ protected static final String PACKAGING_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPackaging() <em>Packaging</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPackaging()
+ * @generated
+ * @ordered
+ */
+ protected String packaging = PACKAGING_EDEFAULT;
+
+ /**
+ * This is true if the Packaging attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean packagingESet;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPrerequisites()
+ * <em>Prerequisites</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getPrerequisites()
+ * @generated
+ * @ordered
+ */
+ protected Prerequisites prerequisites;
+
+ /**
+ * This is true if the Prerequisites containment reference has been set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean prerequisitesESet;
+
+ /**
+ * The cached value of the '{@link #getIssueManagement()
+ * <em>Issue Management</em>}' containment reference. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getIssueManagement()
+ * @generated
+ * @ordered
+ */
+ protected IssueManagement issueManagement;
+
+ /**
+ * This is true if the Issue Management containment reference has been set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean issueManagementESet;
+
+ /**
+ * The cached value of the '{@link #getCiManagement()
+ * <em>Ci Management</em>}' containment reference. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getCiManagement()
+ * @generated
+ * @ordered
+ */
+ protected CiManagement ciManagement;
+
+ /**
+ * This is true if the Ci Management containment reference has been set.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean ciManagementESet;
+
+ /**
+ * The default value of the '{@link #getInceptionYear()
+ * <em>Inception Year</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getInceptionYear()
+ * @generated
+ * @ordered
+ */
+ protected static final String INCEPTION_YEAR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInceptionYear()
+ * <em>Inception Year</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getInceptionYear()
+ * @generated
+ * @ordered
+ */
+ protected String inceptionYear = INCEPTION_YEAR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMailingLists()
+ * <em>Mailing Lists</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getMailingLists()
+ * @generated
+ * @ordered
+ */
+ protected EList<MailingList> mailingLists;
+
+ /**
+ * The cached value of the '{@link #getDevelopers() <em>Developers</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDevelopers()
+ * @generated
+ * @ordered
+ */
+ protected EList<Developer> developers;
+
+ /**
+ * The cached value of the '{@link #getContributors() <em>Contributors</em>}
+ * ' containment reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getContributors()
+ * @generated
+ * @ordered
+ */
+ protected EList<Contributor> contributors;
+
+ /**
+ * The cached value of the '{@link #getLicenses() <em>Licenses</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLicenses()
+ * @generated
+ * @ordered
+ */
+ protected EList<License> licenses;
+
+ /**
+ * The cached value of the '{@link #getScm() <em>Scm</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getScm()
+ * @generated
+ * @ordered
+ */
+ protected Scm scm;
+
+ /**
+ * This is true if the Scm containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean scmESet;
+
+ /**
+ * The cached value of the '{@link #getOrganization() <em>Organization</em>}
+ * ' containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected Organization organization;
+
+ /**
+ * This is true if the Organization containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean organizationESet;
+
+ /**
+ * The cached value of the '{@link #getBuild() <em>Build</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBuild()
+ * @generated
+ * @ordered
+ */
+ protected Build build;
+
+ /**
+ * This is true if the Build containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean buildESet;
+
+ /**
+ * The cached value of the '{@link #getProfiles() <em>Profiles</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getProfiles()
+ * @generated
+ * @ordered
+ */
+ protected EList<Profile> profiles;
+
+ /**
+ * The cached value of the '{@link #getRepositories() <em>Repositories</em>}
+ * ' containment reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getRepositories()
+ * @generated
+ * @ordered
+ */
+ protected EList<Repository> repositories;
+
+ /**
+ * The cached value of the '{@link #getPluginRepositories()
+ * <em>Plugin Repositories</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPluginRepositories()
+ * @generated
+ * @ordered
+ */
+ protected EList<Repository> pluginRepositories;
+
+ /**
+ * The cached value of the '{@link #getDependencies() <em>Dependencies</em>}
+ * ' containment reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getDependencies()
+ * @generated
+ * @ordered
+ */
+ protected EList<Dependency> dependencies;
+
+ /**
+ * The cached value of the '{@link #getReporting() <em>Reporting</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReporting()
+ * @generated
+ * @ordered
+ */
+ protected Reporting reporting;
+
+ /**
+ * This is true if the Reporting containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean reportingESet;
+
+ /**
+ * The cached value of the '{@link #getDependencyManagement()
+ * <em>Dependency Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDependencyManagement()
+ * @generated
+ * @ordered
+ */
+ protected DependencyManagement dependencyManagement;
+
+ /**
+ * This is true if the Dependency Management containment reference has been
+ * set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean dependencyManagementESet;
+
+ /**
+ * The cached value of the '{@link #getDistributionManagement()
+ * <em>Distribution Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDistributionManagement()
+ * @generated
+ * @ordered
+ */
+ protected DistributionManagement distributionManagement;
+
+ /**
+ * This is true if the Distribution Management containment reference has
+ * been set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean distributionManagementESet;
+
+ /**
+ * The cached value of the '{@link #getProperties() <em>Properties</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<PropertyElement> properties;
+
+ /**
+ * The cached value of the '{@link #getModules() <em>Modules</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getModules()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> modules;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Parent getParent() {
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetParent(Parent newParent,
+ NotificationChain msgs) {
+ Parent oldParent = parent;
+ parent = newParent;
+ boolean oldParentESet = parentESet;
+ parentESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.MODEL__PARENT, oldParent,
+ newParent, !oldParentESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setParent(Parent newParent) {
+ if (newParent != parent) {
+ NotificationChain msgs = null;
+ if (parent != null)
+ msgs = ((InternalEObject) parent).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__PARENT,
+ null, msgs);
+ if (newParent != null)
+ msgs = ((InternalEObject) newParent).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__PARENT,
+ null, msgs);
+ msgs = basicSetParent(newParent, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldParentESet = parentESet;
+ parentESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__PARENT, newParent, newParent,
+ !oldParentESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetParent(NotificationChain msgs) {
+ Parent oldParent = parent;
+ parent = null;
+ boolean oldParentESet = parentESet;
+ parentESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.MODEL__PARENT, oldParent,
+ null, oldParentESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetParent() {
+ if (parent != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) parent).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__PARENT, null,
+ msgs);
+ msgs = basicUnsetParent(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldParentESet = parentESet;
+ parentESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__PARENT, null, null, oldParentESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetParent() {
+ return parentESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getModelVersion() {
+ return modelVersion;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setModelVersion(String newModelVersion) {
+ String oldModelVersion = modelVersion;
+ modelVersion = newModelVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__MODEL_VERSION, oldModelVersion,
+ modelVersion));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGroupId(String newGroupId) {
+ String oldGroupId = groupId;
+ groupId = newGroupId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__GROUP_ID, oldGroupId, groupId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArtifactId(String newArtifactId) {
+ String oldArtifactId = artifactId;
+ artifactId = newArtifactId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__ARTIFACT_ID, oldArtifactId, artifactId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getPackaging() {
+ return packaging;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPackaging(String newPackaging) {
+ String oldPackaging = packaging;
+ packaging = newPackaging;
+ boolean oldPackagingESet = packagingESet;
+ packagingESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__PACKAGING, oldPackaging, packaging,
+ !oldPackagingESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetPackaging() {
+ String oldPackaging = packaging;
+ boolean oldPackagingESet = packagingESet;
+ packaging = PACKAGING_EDEFAULT;
+ packagingESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__PACKAGING, oldPackaging,
+ PACKAGING_EDEFAULT, oldPackagingESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetPackaging() {
+ return packagingESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVersion(String newVersion) {
+ String oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Prerequisites getPrerequisites() {
+ return prerequisites;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetPrerequisites(
+ Prerequisites newPrerequisites, NotificationChain msgs) {
+ Prerequisites oldPrerequisites = prerequisites;
+ prerequisites = newPrerequisites;
+ boolean oldPrerequisitesESet = prerequisitesESet;
+ prerequisitesESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.MODEL__PREREQUISITES,
+ oldPrerequisites, newPrerequisites, !oldPrerequisitesESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPrerequisites(Prerequisites newPrerequisites) {
+ if (newPrerequisites != prerequisites) {
+ NotificationChain msgs = null;
+ if (prerequisites != null)
+ msgs = ((InternalEObject) prerequisites).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__PREREQUISITES, null, msgs);
+ if (newPrerequisites != null)
+ msgs = ((InternalEObject) newPrerequisites).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__PREREQUISITES, null, msgs);
+ msgs = basicSetPrerequisites(newPrerequisites, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldPrerequisitesESet = prerequisitesESet;
+ prerequisitesESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__PREREQUISITES, newPrerequisites,
+ newPrerequisites, !oldPrerequisitesESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetPrerequisites(NotificationChain msgs) {
+ Prerequisites oldPrerequisites = prerequisites;
+ prerequisites = null;
+ boolean oldPrerequisitesESet = prerequisitesESet;
+ prerequisitesESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.MODEL__PREREQUISITES,
+ oldPrerequisites, null, oldPrerequisitesESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetPrerequisites() {
+ if (prerequisites != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) prerequisites).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__PREREQUISITES,
+ null, msgs);
+ msgs = basicUnsetPrerequisites(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldPrerequisitesESet = prerequisitesESet;
+ prerequisitesESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__PREREQUISITES, null, null,
+ oldPrerequisitesESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetPrerequisites() {
+ return prerequisitesESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IssueManagement getIssueManagement() {
+ return issueManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetIssueManagement(
+ IssueManagement newIssueManagement, NotificationChain msgs) {
+ IssueManagement oldIssueManagement = issueManagement;
+ issueManagement = newIssueManagement;
+ boolean oldIssueManagementESet = issueManagementESet;
+ issueManagementESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.MODEL__ISSUE_MANAGEMENT,
+ oldIssueManagement, newIssueManagement,
+ !oldIssueManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setIssueManagement(IssueManagement newIssueManagement) {
+ if (newIssueManagement != issueManagement) {
+ NotificationChain msgs = null;
+ if (issueManagement != null)
+ msgs = ((InternalEObject) issueManagement).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__ISSUE_MANAGEMENT, null,
+ msgs);
+ if (newIssueManagement != null)
+ msgs = ((InternalEObject) newIssueManagement).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__ISSUE_MANAGEMENT, null,
+ msgs);
+ msgs = basicSetIssueManagement(newIssueManagement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldIssueManagementESet = issueManagementESet;
+ issueManagementESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__ISSUE_MANAGEMENT, newIssueManagement,
+ newIssueManagement, !oldIssueManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetIssueManagement(NotificationChain msgs) {
+ IssueManagement oldIssueManagement = issueManagement;
+ issueManagement = null;
+ boolean oldIssueManagementESet = issueManagementESet;
+ issueManagementESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.MODEL__ISSUE_MANAGEMENT,
+ oldIssueManagement, null, oldIssueManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetIssueManagement() {
+ if (issueManagement != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) issueManagement)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__ISSUE_MANAGEMENT, null, msgs);
+ msgs = basicUnsetIssueManagement(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldIssueManagementESet = issueManagementESet;
+ issueManagementESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__ISSUE_MANAGEMENT, null, null,
+ oldIssueManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetIssueManagement() {
+ return issueManagementESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CiManagement getCiManagement() {
+ return ciManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetCiManagement(CiManagement newCiManagement,
+ NotificationChain msgs) {
+ CiManagement oldCiManagement = ciManagement;
+ ciManagement = newCiManagement;
+ boolean oldCiManagementESet = ciManagementESet;
+ ciManagementESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.MODEL__CI_MANAGEMENT,
+ oldCiManagement, newCiManagement, !oldCiManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setCiManagement(CiManagement newCiManagement) {
+ if (newCiManagement != ciManagement) {
+ NotificationChain msgs = null;
+ if (ciManagement != null)
+ msgs = ((InternalEObject) ciManagement).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__CI_MANAGEMENT, null, msgs);
+ if (newCiManagement != null)
+ msgs = ((InternalEObject) newCiManagement).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__CI_MANAGEMENT, null, msgs);
+ msgs = basicSetCiManagement(newCiManagement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldCiManagementESet = ciManagementESet;
+ ciManagementESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__CI_MANAGEMENT, newCiManagement,
+ newCiManagement, !oldCiManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetCiManagement(NotificationChain msgs) {
+ CiManagement oldCiManagement = ciManagement;
+ ciManagement = null;
+ boolean oldCiManagementESet = ciManagementESet;
+ ciManagementESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.MODEL__CI_MANAGEMENT,
+ oldCiManagement, null, oldCiManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetCiManagement() {
+ if (ciManagement != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) ciManagement).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__CI_MANAGEMENT,
+ null, msgs);
+ msgs = basicUnsetCiManagement(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldCiManagementESet = ciManagementESet;
+ ciManagementESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__CI_MANAGEMENT, null, null,
+ oldCiManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetCiManagement() {
+ return ciManagementESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getInceptionYear() {
+ return inceptionYear;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setInceptionYear(String newInceptionYear) {
+ String oldInceptionYear = inceptionYear;
+ inceptionYear = newInceptionYear;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__INCEPTION_YEAR, oldInceptionYear,
+ inceptionYear));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<MailingList> getMailingLists() {
+ if (mailingLists == null) {
+ mailingLists = new EObjectContainmentEList.Unsettable<MailingList>(
+ MailingList.class, this, PomPackage.MODEL__MAILING_LISTS);
+ }
+ return mailingLists;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetMailingLists() {
+ if (mailingLists != null)
+ ((InternalEList.Unsettable<?>) mailingLists).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetMailingLists() {
+ return mailingLists != null
+ && ((InternalEList.Unsettable<?>) mailingLists).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Developer> getDevelopers() {
+ if (developers == null) {
+ developers = new EObjectContainmentEList.Unsettable<Developer>(
+ Developer.class, this, PomPackage.MODEL__DEVELOPERS);
+ }
+ return developers;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetDevelopers() {
+ if (developers != null)
+ ((InternalEList.Unsettable<?>) developers).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetDevelopers() {
+ return developers != null
+ && ((InternalEList.Unsettable<?>) developers).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Contributor> getContributors() {
+ if (contributors == null) {
+ contributors = new EObjectContainmentEList.Unsettable<Contributor>(
+ Contributor.class, this, PomPackage.MODEL__CONTRIBUTORS);
+ }
+ return contributors;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetContributors() {
+ if (contributors != null)
+ ((InternalEList.Unsettable<?>) contributors).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetContributors() {
+ return contributors != null
+ && ((InternalEList.Unsettable<?>) contributors).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<License> getLicenses() {
+ if (licenses == null) {
+ licenses = new EObjectContainmentEList<License>(License.class,
+ this, PomPackage.MODEL__LICENSES);
+ }
+ return licenses;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Scm getScm() {
+ return scm;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetScm(Scm newScm, NotificationChain msgs) {
+ Scm oldScm = scm;
+ scm = newScm;
+ boolean oldScmESet = scmESet;
+ scmESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.MODEL__SCM, oldScm, newScm,
+ !oldScmESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setScm(Scm newScm) {
+ if (newScm != scm) {
+ NotificationChain msgs = null;
+ if (scm != null)
+ msgs = ((InternalEObject) scm).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__SCM, null,
+ msgs);
+ if (newScm != null)
+ msgs = ((InternalEObject) newScm).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__SCM, null,
+ msgs);
+ msgs = basicSetScm(newScm, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldScmESet = scmESet;
+ scmESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__SCM, newScm, newScm, !oldScmESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetScm(NotificationChain msgs) {
+ Scm oldScm = scm;
+ scm = null;
+ boolean oldScmESet = scmESet;
+ scmESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.MODEL__SCM, oldScm, null,
+ oldScmESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetScm() {
+ if (scm != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) scm).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__SCM, null, msgs);
+ msgs = basicUnsetScm(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldScmESet = scmESet;
+ scmESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__SCM, null, null, oldScmESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetScm() {
+ return scmESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Organization getOrganization() {
+ return organization;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetOrganization(Organization newOrganization,
+ NotificationChain msgs) {
+ Organization oldOrganization = organization;
+ organization = newOrganization;
+ boolean oldOrganizationESet = organizationESet;
+ organizationESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.MODEL__ORGANIZATION,
+ oldOrganization, newOrganization, !oldOrganizationESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOrganization(Organization newOrganization) {
+ if (newOrganization != organization) {
+ NotificationChain msgs = null;
+ if (organization != null)
+ msgs = ((InternalEObject) organization)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__ORGANIZATION, null, msgs);
+ if (newOrganization != null)
+ msgs = ((InternalEObject) newOrganization)
+ .eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__ORGANIZATION, null, msgs);
+ msgs = basicSetOrganization(newOrganization, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldOrganizationESet = organizationESet;
+ organizationESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__ORGANIZATION, newOrganization,
+ newOrganization, !oldOrganizationESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetOrganization(NotificationChain msgs) {
+ Organization oldOrganization = organization;
+ organization = null;
+ boolean oldOrganizationESet = organizationESet;
+ organizationESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.MODEL__ORGANIZATION,
+ oldOrganization, null, oldOrganizationESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetOrganization() {
+ if (organization != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) organization).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__ORGANIZATION,
+ null, msgs);
+ msgs = basicUnsetOrganization(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldOrganizationESet = organizationESet;
+ organizationESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__ORGANIZATION, null, null,
+ oldOrganizationESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetOrganization() {
+ return organizationESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Build getBuild() {
+ return build;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetBuild(Build newBuild,
+ NotificationChain msgs) {
+ Build oldBuild = build;
+ build = newBuild;
+ boolean oldBuildESet = buildESet;
+ buildESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.MODEL__BUILD, oldBuild,
+ newBuild, !oldBuildESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBuild(Build newBuild) {
+ if (newBuild != build) {
+ NotificationChain msgs = null;
+ if (build != null)
+ msgs = ((InternalEObject) build).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__BUILD, null,
+ msgs);
+ if (newBuild != null)
+ msgs = ((InternalEObject) newBuild).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__BUILD, null,
+ msgs);
+ msgs = basicSetBuild(newBuild, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldBuildESet = buildESet;
+ buildESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__BUILD, newBuild, newBuild,
+ !oldBuildESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetBuild(NotificationChain msgs) {
+ Build oldBuild = build;
+ build = null;
+ boolean oldBuildESet = buildESet;
+ buildESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.MODEL__BUILD, oldBuild,
+ null, oldBuildESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetBuild() {
+ if (build != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) build).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__BUILD, null,
+ msgs);
+ msgs = basicUnsetBuild(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldBuildESet = buildESet;
+ buildESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__BUILD, null, null, oldBuildESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetBuild() {
+ return buildESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Profile> getProfiles() {
+ if (profiles == null) {
+ profiles = new EObjectContainmentEList.Unsettable<Profile>(
+ Profile.class, this, PomPackage.MODEL__PROFILES);
+ }
+ return profiles;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetProfiles() {
+ if (profiles != null)
+ ((InternalEList.Unsettable<?>) profiles).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetProfiles() {
+ return profiles != null
+ && ((InternalEList.Unsettable<?>) profiles).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Repository> getRepositories() {
+ if (repositories == null) {
+ repositories = new EObjectContainmentEList.Unsettable<Repository>(
+ Repository.class, this, PomPackage.MODEL__REPOSITORIES);
+ }
+ return repositories;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetRepositories() {
+ if (repositories != null)
+ ((InternalEList.Unsettable<?>) repositories).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetRepositories() {
+ return repositories != null
+ && ((InternalEList.Unsettable<?>) repositories).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Repository> getPluginRepositories() {
+ if (pluginRepositories == null) {
+ pluginRepositories = new EObjectContainmentEList.Unsettable<Repository>(
+ Repository.class, this,
+ PomPackage.MODEL__PLUGIN_REPOSITORIES);
+ }
+ return pluginRepositories;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetPluginRepositories() {
+ if (pluginRepositories != null)
+ ((InternalEList.Unsettable<?>) pluginRepositories).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetPluginRepositories() {
+ return pluginRepositories != null
+ && ((InternalEList.Unsettable<?>) pluginRepositories).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Dependency> getDependencies() {
+ if (dependencies == null) {
+ dependencies = new EObjectContainmentEList.Unsettable<Dependency>(
+ Dependency.class, this, PomPackage.MODEL__DEPENDENCIES);
+ }
+ return dependencies;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetDependencies() {
+ if (dependencies != null)
+ ((InternalEList.Unsettable<?>) dependencies).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetDependencies() {
+ return dependencies != null
+ && ((InternalEList.Unsettable<?>) dependencies).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Reporting getReporting() {
+ return reporting;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetReporting(Reporting newReporting,
+ NotificationChain msgs) {
+ Reporting oldReporting = reporting;
+ reporting = newReporting;
+ boolean oldReportingESet = reportingESet;
+ reportingESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.MODEL__REPORTING,
+ oldReporting, newReporting, !oldReportingESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReporting(Reporting newReporting) {
+ if (newReporting != reporting) {
+ NotificationChain msgs = null;
+ if (reporting != null)
+ msgs = ((InternalEObject) reporting).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__REPORTING,
+ null, msgs);
+ if (newReporting != null)
+ msgs = ((InternalEObject) newReporting).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__REPORTING,
+ null, msgs);
+ msgs = basicSetReporting(newReporting, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldReportingESet = reportingESet;
+ reportingESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__REPORTING, newReporting,
+ newReporting, !oldReportingESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetReporting(NotificationChain msgs) {
+ Reporting oldReporting = reporting;
+ reporting = null;
+ boolean oldReportingESet = reportingESet;
+ reportingESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.MODEL__REPORTING,
+ oldReporting, null, oldReportingESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetReporting() {
+ if (reporting != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) reporting).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.MODEL__REPORTING, null,
+ msgs);
+ msgs = basicUnsetReporting(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldReportingESet = reportingESet;
+ reportingESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__REPORTING, null, null,
+ oldReportingESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetReporting() {
+ return reportingESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DependencyManagement getDependencyManagement() {
+ return dependencyManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDependencyManagement(
+ DependencyManagement newDependencyManagement, NotificationChain msgs) {
+ DependencyManagement oldDependencyManagement = dependencyManagement;
+ dependencyManagement = newDependencyManagement;
+ boolean oldDependencyManagementESet = dependencyManagementESet;
+ dependencyManagementESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.MODEL__DEPENDENCY_MANAGEMENT,
+ oldDependencyManagement, newDependencyManagement,
+ !oldDependencyManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDependencyManagement(
+ DependencyManagement newDependencyManagement) {
+ if (newDependencyManagement != dependencyManagement) {
+ NotificationChain msgs = null;
+ if (dependencyManagement != null)
+ msgs = ((InternalEObject) dependencyManagement).eInverseRemove(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__DEPENDENCY_MANAGEMENT,
+ null, msgs);
+ if (newDependencyManagement != null)
+ msgs = ((InternalEObject) newDependencyManagement).eInverseAdd(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__DEPENDENCY_MANAGEMENT,
+ null, msgs);
+ msgs = basicSetDependencyManagement(newDependencyManagement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldDependencyManagementESet = dependencyManagementESet;
+ dependencyManagementESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__DEPENDENCY_MANAGEMENT,
+ newDependencyManagement, newDependencyManagement,
+ !oldDependencyManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetDependencyManagement(
+ NotificationChain msgs) {
+ DependencyManagement oldDependencyManagement = dependencyManagement;
+ dependencyManagement = null;
+ boolean oldDependencyManagementESet = dependencyManagementESet;
+ dependencyManagementESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET,
+ PomPackage.MODEL__DEPENDENCY_MANAGEMENT,
+ oldDependencyManagement, null, oldDependencyManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetDependencyManagement() {
+ if (dependencyManagement != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) dependencyManagement).eInverseRemove(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__DEPENDENCY_MANAGEMENT, null,
+ msgs);
+ msgs = basicUnsetDependencyManagement(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldDependencyManagementESet = dependencyManagementESet;
+ dependencyManagementESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__DEPENDENCY_MANAGEMENT, null, null,
+ oldDependencyManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetDependencyManagement() {
+ return dependencyManagementESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DistributionManagement getDistributionManagement() {
+ return distributionManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDistributionManagement(
+ DistributionManagement newDistributionManagement,
+ NotificationChain msgs) {
+ DistributionManagement oldDistributionManagement = distributionManagement;
+ distributionManagement = newDistributionManagement;
+ boolean oldDistributionManagementESet = distributionManagementESet;
+ distributionManagementESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET,
+ PomPackage.MODEL__DISTRIBUTION_MANAGEMENT,
+ oldDistributionManagement, newDistributionManagement,
+ !oldDistributionManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDistributionManagement(
+ DistributionManagement newDistributionManagement) {
+ if (newDistributionManagement != distributionManagement) {
+ NotificationChain msgs = null;
+ if (distributionManagement != null)
+ msgs = ((InternalEObject) distributionManagement)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__DISTRIBUTION_MANAGEMENT,
+ null, msgs);
+ if (newDistributionManagement != null)
+ msgs = ((InternalEObject) newDistributionManagement)
+ .eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__DISTRIBUTION_MANAGEMENT,
+ null, msgs);
+ msgs = basicSetDistributionManagement(newDistributionManagement,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldDistributionManagementESet = distributionManagementESet;
+ distributionManagementESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.MODEL__DISTRIBUTION_MANAGEMENT,
+ newDistributionManagement, newDistributionManagement,
+ !oldDistributionManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetDistributionManagement(
+ NotificationChain msgs) {
+ DistributionManagement oldDistributionManagement = distributionManagement;
+ distributionManagement = null;
+ boolean oldDistributionManagementESet = distributionManagementESet;
+ distributionManagementESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET,
+ PomPackage.MODEL__DISTRIBUTION_MANAGEMENT,
+ oldDistributionManagement, null,
+ oldDistributionManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetDistributionManagement() {
+ if (distributionManagement != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) distributionManagement).eInverseRemove(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.MODEL__DISTRIBUTION_MANAGEMENT, null,
+ msgs);
+ msgs = basicUnsetDistributionManagement(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldDistributionManagementESet = distributionManagementESet;
+ distributionManagementESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.MODEL__DISTRIBUTION_MANAGEMENT, null, null,
+ oldDistributionManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetDistributionManagement() {
+ return distributionManagementESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<PropertyElement> getProperties() {
+ if (properties == null) {
+ properties = new EObjectContainmentEList.Unsettable<PropertyElement>(
+ PropertyElement.class, this, PomPackage.MODEL__PROPERTIES);
+ }
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetProperties() {
+ if (properties != null)
+ ((InternalEList.Unsettable<?>) properties).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetProperties() {
+ return properties != null
+ && ((InternalEList.Unsettable<?>) properties).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getModules() {
+ if (modules == null) {
+ modules = new EDataTypeEList<String>(String.class, this,
+ PomPackage.MODEL__MODULES);
+ }
+ return modules;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.MODEL__PARENT:
+ return basicUnsetParent(msgs);
+ case PomPackage.MODEL__PREREQUISITES:
+ return basicUnsetPrerequisites(msgs);
+ case PomPackage.MODEL__ISSUE_MANAGEMENT:
+ return basicUnsetIssueManagement(msgs);
+ case PomPackage.MODEL__CI_MANAGEMENT:
+ return basicUnsetCiManagement(msgs);
+ case PomPackage.MODEL__MAILING_LISTS:
+ return ((InternalEList<?>) getMailingLists()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.MODEL__DEVELOPERS:
+ return ((InternalEList<?>) getDevelopers()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.MODEL__CONTRIBUTORS:
+ return ((InternalEList<?>) getContributors()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.MODEL__LICENSES:
+ return ((InternalEList<?>) getLicenses()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.MODEL__SCM:
+ return basicUnsetScm(msgs);
+ case PomPackage.MODEL__ORGANIZATION:
+ return basicUnsetOrganization(msgs);
+ case PomPackage.MODEL__BUILD:
+ return basicUnsetBuild(msgs);
+ case PomPackage.MODEL__PROFILES:
+ return ((InternalEList<?>) getProfiles()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.MODEL__REPOSITORIES:
+ return ((InternalEList<?>) getRepositories()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.MODEL__PLUGIN_REPOSITORIES:
+ return ((InternalEList<?>) getPluginRepositories()).basicRemove(
+ otherEnd, msgs);
+ case PomPackage.MODEL__DEPENDENCIES:
+ return ((InternalEList<?>) getDependencies()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.MODEL__REPORTING:
+ return basicUnsetReporting(msgs);
+ case PomPackage.MODEL__DEPENDENCY_MANAGEMENT:
+ return basicUnsetDependencyManagement(msgs);
+ case PomPackage.MODEL__DISTRIBUTION_MANAGEMENT:
+ return basicUnsetDistributionManagement(msgs);
+ case PomPackage.MODEL__PROPERTIES:
+ return ((InternalEList<?>) getProperties()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.MODEL__PARENT:
+ return getParent();
+ case PomPackage.MODEL__MODEL_VERSION:
+ return getModelVersion();
+ case PomPackage.MODEL__GROUP_ID:
+ return getGroupId();
+ case PomPackage.MODEL__ARTIFACT_ID:
+ return getArtifactId();
+ case PomPackage.MODEL__PACKAGING:
+ return getPackaging();
+ case PomPackage.MODEL__NAME:
+ return getName();
+ case PomPackage.MODEL__VERSION:
+ return getVersion();
+ case PomPackage.MODEL__DESCRIPTION:
+ return getDescription();
+ case PomPackage.MODEL__URL:
+ return getUrl();
+ case PomPackage.MODEL__PREREQUISITES:
+ return getPrerequisites();
+ case PomPackage.MODEL__ISSUE_MANAGEMENT:
+ return getIssueManagement();
+ case PomPackage.MODEL__CI_MANAGEMENT:
+ return getCiManagement();
+ case PomPackage.MODEL__INCEPTION_YEAR:
+ return getInceptionYear();
+ case PomPackage.MODEL__MAILING_LISTS:
+ return getMailingLists();
+ case PomPackage.MODEL__DEVELOPERS:
+ return getDevelopers();
+ case PomPackage.MODEL__CONTRIBUTORS:
+ return getContributors();
+ case PomPackage.MODEL__LICENSES:
+ return getLicenses();
+ case PomPackage.MODEL__SCM:
+ return getScm();
+ case PomPackage.MODEL__ORGANIZATION:
+ return getOrganization();
+ case PomPackage.MODEL__BUILD:
+ return getBuild();
+ case PomPackage.MODEL__PROFILES:
+ return getProfiles();
+ case PomPackage.MODEL__REPOSITORIES:
+ return getRepositories();
+ case PomPackage.MODEL__PLUGIN_REPOSITORIES:
+ return getPluginRepositories();
+ case PomPackage.MODEL__DEPENDENCIES:
+ return getDependencies();
+ case PomPackage.MODEL__REPORTING:
+ return getReporting();
+ case PomPackage.MODEL__DEPENDENCY_MANAGEMENT:
+ return getDependencyManagement();
+ case PomPackage.MODEL__DISTRIBUTION_MANAGEMENT:
+ return getDistributionManagement();
+ case PomPackage.MODEL__PROPERTIES:
+ return getProperties();
+ case PomPackage.MODEL__MODULES:
+ return getModules();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.MODEL__PARENT:
+ setParent((Parent) newValue);
+ return;
+ case PomPackage.MODEL__MODEL_VERSION:
+ setModelVersion((String) newValue);
+ return;
+ case PomPackage.MODEL__GROUP_ID:
+ setGroupId((String) newValue);
+ return;
+ case PomPackage.MODEL__ARTIFACT_ID:
+ setArtifactId((String) newValue);
+ return;
+ case PomPackage.MODEL__PACKAGING:
+ setPackaging((String) newValue);
+ return;
+ case PomPackage.MODEL__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.MODEL__VERSION:
+ setVersion((String) newValue);
+ return;
+ case PomPackage.MODEL__DESCRIPTION:
+ setDescription((String) newValue);
+ return;
+ case PomPackage.MODEL__URL:
+ setUrl((String) newValue);
+ return;
+ case PomPackage.MODEL__PREREQUISITES:
+ setPrerequisites((Prerequisites) newValue);
+ return;
+ case PomPackage.MODEL__ISSUE_MANAGEMENT:
+ setIssueManagement((IssueManagement) newValue);
+ return;
+ case PomPackage.MODEL__CI_MANAGEMENT:
+ setCiManagement((CiManagement) newValue);
+ return;
+ case PomPackage.MODEL__INCEPTION_YEAR:
+ setInceptionYear((String) newValue);
+ return;
+ case PomPackage.MODEL__MAILING_LISTS:
+ getMailingLists().clear();
+ getMailingLists().addAll(
+ (Collection<? extends MailingList>) newValue);
+ return;
+ case PomPackage.MODEL__DEVELOPERS:
+ getDevelopers().clear();
+ getDevelopers().addAll((Collection<? extends Developer>) newValue);
+ return;
+ case PomPackage.MODEL__CONTRIBUTORS:
+ getContributors().clear();
+ getContributors().addAll(
+ (Collection<? extends Contributor>) newValue);
+ return;
+ case PomPackage.MODEL__LICENSES:
+ getLicenses().clear();
+ getLicenses().addAll((Collection<? extends License>) newValue);
+ return;
+ case PomPackage.MODEL__SCM:
+ setScm((Scm) newValue);
+ return;
+ case PomPackage.MODEL__ORGANIZATION:
+ setOrganization((Organization) newValue);
+ return;
+ case PomPackage.MODEL__BUILD:
+ setBuild((Build) newValue);
+ return;
+ case PomPackage.MODEL__PROFILES:
+ getProfiles().clear();
+ getProfiles().addAll((Collection<? extends Profile>) newValue);
+ return;
+ case PomPackage.MODEL__REPOSITORIES:
+ getRepositories().clear();
+ getRepositories().addAll(
+ (Collection<? extends Repository>) newValue);
+ return;
+ case PomPackage.MODEL__PLUGIN_REPOSITORIES:
+ getPluginRepositories().clear();
+ getPluginRepositories().addAll(
+ (Collection<? extends Repository>) newValue);
+ return;
+ case PomPackage.MODEL__DEPENDENCIES:
+ getDependencies().clear();
+ getDependencies().addAll(
+ (Collection<? extends Dependency>) newValue);
+ return;
+ case PomPackage.MODEL__REPORTING:
+ setReporting((Reporting) newValue);
+ return;
+ case PomPackage.MODEL__DEPENDENCY_MANAGEMENT:
+ setDependencyManagement((DependencyManagement) newValue);
+ return;
+ case PomPackage.MODEL__DISTRIBUTION_MANAGEMENT:
+ setDistributionManagement((DistributionManagement) newValue);
+ return;
+ case PomPackage.MODEL__PROPERTIES:
+ getProperties().clear();
+ getProperties().addAll(
+ (Collection<? extends PropertyElement>) newValue);
+ return;
+ case PomPackage.MODEL__MODULES:
+ getModules().clear();
+ getModules().addAll((Collection<? extends String>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.MODEL__PARENT:
+ unsetParent();
+ return;
+ case PomPackage.MODEL__MODEL_VERSION:
+ setModelVersion(MODEL_VERSION_EDEFAULT);
+ return;
+ case PomPackage.MODEL__GROUP_ID:
+ setGroupId(GROUP_ID_EDEFAULT);
+ return;
+ case PomPackage.MODEL__ARTIFACT_ID:
+ setArtifactId(ARTIFACT_ID_EDEFAULT);
+ return;
+ case PomPackage.MODEL__PACKAGING:
+ unsetPackaging();
+ return;
+ case PomPackage.MODEL__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.MODEL__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ case PomPackage.MODEL__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case PomPackage.MODEL__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ case PomPackage.MODEL__PREREQUISITES:
+ unsetPrerequisites();
+ return;
+ case PomPackage.MODEL__ISSUE_MANAGEMENT:
+ unsetIssueManagement();
+ return;
+ case PomPackage.MODEL__CI_MANAGEMENT:
+ unsetCiManagement();
+ return;
+ case PomPackage.MODEL__INCEPTION_YEAR:
+ setInceptionYear(INCEPTION_YEAR_EDEFAULT);
+ return;
+ case PomPackage.MODEL__MAILING_LISTS:
+ unsetMailingLists();
+ return;
+ case PomPackage.MODEL__DEVELOPERS:
+ unsetDevelopers();
+ return;
+ case PomPackage.MODEL__CONTRIBUTORS:
+ unsetContributors();
+ return;
+ case PomPackage.MODEL__LICENSES:
+ getLicenses().clear();
+ return;
+ case PomPackage.MODEL__SCM:
+ unsetScm();
+ return;
+ case PomPackage.MODEL__ORGANIZATION:
+ unsetOrganization();
+ return;
+ case PomPackage.MODEL__BUILD:
+ unsetBuild();
+ return;
+ case PomPackage.MODEL__PROFILES:
+ unsetProfiles();
+ return;
+ case PomPackage.MODEL__REPOSITORIES:
+ unsetRepositories();
+ return;
+ case PomPackage.MODEL__PLUGIN_REPOSITORIES:
+ unsetPluginRepositories();
+ return;
+ case PomPackage.MODEL__DEPENDENCIES:
+ unsetDependencies();
+ return;
+ case PomPackage.MODEL__REPORTING:
+ unsetReporting();
+ return;
+ case PomPackage.MODEL__DEPENDENCY_MANAGEMENT:
+ unsetDependencyManagement();
+ return;
+ case PomPackage.MODEL__DISTRIBUTION_MANAGEMENT:
+ unsetDistributionManagement();
+ return;
+ case PomPackage.MODEL__PROPERTIES:
+ unsetProperties();
+ return;
+ case PomPackage.MODEL__MODULES:
+ getModules().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.MODEL__PARENT:
+ return isSetParent();
+ case PomPackage.MODEL__MODEL_VERSION:
+ return MODEL_VERSION_EDEFAULT == null ? modelVersion != null
+ : !MODEL_VERSION_EDEFAULT.equals(modelVersion);
+ case PomPackage.MODEL__GROUP_ID:
+ return GROUP_ID_EDEFAULT == null ? groupId != null
+ : !GROUP_ID_EDEFAULT.equals(groupId);
+ case PomPackage.MODEL__ARTIFACT_ID:
+ return ARTIFACT_ID_EDEFAULT == null ? artifactId != null
+ : !ARTIFACT_ID_EDEFAULT.equals(artifactId);
+ case PomPackage.MODEL__PACKAGING:
+ return isSetPackaging();
+ case PomPackage.MODEL__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.MODEL__VERSION:
+ return VERSION_EDEFAULT == null ? version != null
+ : !VERSION_EDEFAULT.equals(version);
+ case PomPackage.MODEL__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null
+ : !DESCRIPTION_EDEFAULT.equals(description);
+ case PomPackage.MODEL__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ case PomPackage.MODEL__PREREQUISITES:
+ return isSetPrerequisites();
+ case PomPackage.MODEL__ISSUE_MANAGEMENT:
+ return isSetIssueManagement();
+ case PomPackage.MODEL__CI_MANAGEMENT:
+ return isSetCiManagement();
+ case PomPackage.MODEL__INCEPTION_YEAR:
+ return INCEPTION_YEAR_EDEFAULT == null ? inceptionYear != null
+ : !INCEPTION_YEAR_EDEFAULT.equals(inceptionYear);
+ case PomPackage.MODEL__MAILING_LISTS:
+ return isSetMailingLists();
+ case PomPackage.MODEL__DEVELOPERS:
+ return isSetDevelopers();
+ case PomPackage.MODEL__CONTRIBUTORS:
+ return isSetContributors();
+ case PomPackage.MODEL__LICENSES:
+ return licenses != null && !licenses.isEmpty();
+ case PomPackage.MODEL__SCM:
+ return isSetScm();
+ case PomPackage.MODEL__ORGANIZATION:
+ return isSetOrganization();
+ case PomPackage.MODEL__BUILD:
+ return isSetBuild();
+ case PomPackage.MODEL__PROFILES:
+ return isSetProfiles();
+ case PomPackage.MODEL__REPOSITORIES:
+ return isSetRepositories();
+ case PomPackage.MODEL__PLUGIN_REPOSITORIES:
+ return isSetPluginRepositories();
+ case PomPackage.MODEL__DEPENDENCIES:
+ return isSetDependencies();
+ case PomPackage.MODEL__REPORTING:
+ return isSetReporting();
+ case PomPackage.MODEL__DEPENDENCY_MANAGEMENT:
+ return isSetDependencyManagement();
+ case PomPackage.MODEL__DISTRIBUTION_MANAGEMENT:
+ return isSetDistributionManagement();
+ case PomPackage.MODEL__PROPERTIES:
+ return isSetProperties();
+ case PomPackage.MODEL__MODULES:
+ return modules != null && !modules.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (modelVersion: "); //$NON-NLS-1$
+ result.append(modelVersion);
+ result.append(", groupId: "); //$NON-NLS-1$
+ result.append(groupId);
+ result.append(", artifactId: "); //$NON-NLS-1$
+ result.append(artifactId);
+ result.append(", packaging: "); //$NON-NLS-1$
+ if (packagingESet)
+ result.append(packaging);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", version: "); //$NON-NLS-1$
+ result.append(version);
+ result.append(", description: "); //$NON-NLS-1$
+ result.append(description);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(", inceptionYear: "); //$NON-NLS-1$
+ result.append(inceptionYear);
+ result.append(", modules: "); //$NON-NLS-1$
+ result.append(modules);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ModelImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/NotifierImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/NotifierImpl.java
new file mode 100644
index 00000000..d4333ace
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/NotifierImpl.java
@@ -0,0 +1,747 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Notifier;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Notifier</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.NotifierImpl#getType <em>Type
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.NotifierImpl#getSendOnError <em>
+ * Send On Error</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.NotifierImpl#getSendOnFailure
+ * <em>Send On Failure</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.NotifierImpl#getSendOnSuccess
+ * <em>Send On Success</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.NotifierImpl#getSendOnWarning
+ * <em>Send On Warning</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.NotifierImpl#getAddress <em>
+ * Address</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.NotifierImpl#getConfiguration
+ * <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NotifierImpl extends EObjectImpl implements Notifier {
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * This is true if the Type attribute has been set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean typeESet;
+
+ /**
+ * The default value of the '{@link #getSendOnError()
+ * <em>Send On Error</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSendOnError()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEND_ON_ERROR_EDEFAULT = "true"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getSendOnError() <em>Send On Error</em>}
+ * ' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSendOnError()
+ * @generated
+ * @ordered
+ */
+ protected String sendOnError = SEND_ON_ERROR_EDEFAULT;
+
+ /**
+ * This is true if the Send On Error attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean sendOnErrorESet;
+
+ /**
+ * The default value of the '{@link #getSendOnFailure()
+ * <em>Send On Failure</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSendOnFailure()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEND_ON_FAILURE_EDEFAULT = "true"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getSendOnFailure()
+ * <em>Send On Failure</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSendOnFailure()
+ * @generated
+ * @ordered
+ */
+ protected String sendOnFailure = SEND_ON_FAILURE_EDEFAULT;
+
+ /**
+ * This is true if the Send On Failure attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean sendOnFailureESet;
+
+ /**
+ * The default value of the '{@link #getSendOnSuccess()
+ * <em>Send On Success</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSendOnSuccess()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEND_ON_SUCCESS_EDEFAULT = "true"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getSendOnSuccess()
+ * <em>Send On Success</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSendOnSuccess()
+ * @generated
+ * @ordered
+ */
+ protected String sendOnSuccess = SEND_ON_SUCCESS_EDEFAULT;
+
+ /**
+ * This is true if the Send On Success attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean sendOnSuccessESet;
+
+ /**
+ * The default value of the '{@link #getSendOnWarning()
+ * <em>Send On Warning</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSendOnWarning()
+ * @generated
+ * @ordered
+ */
+ protected static final String SEND_ON_WARNING_EDEFAULT = "true"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getSendOnWarning()
+ * <em>Send On Warning</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getSendOnWarning()
+ * @generated
+ * @ordered
+ */
+ protected String sendOnWarning = SEND_ON_WARNING_EDEFAULT;
+
+ /**
+ * This is true if the Send On Warning attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean sendOnWarningESet;
+
+ /**
+ * The default value of the '{@link #getAddress() <em>Address</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected static final String ADDRESS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAddress() <em>Address</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getAddress()
+ * @generated
+ * @ordered
+ */
+ protected String address = ADDRESS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getConfiguration()
+ * <em>Configuration</em>}' containment reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected EList<PropertyElement> configuration;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NotifierImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.NOTIFIER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ boolean oldTypeESet = typeESet;
+ typeESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.NOTIFIER__TYPE, oldType, type, !oldTypeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetType() {
+ String oldType = type;
+ boolean oldTypeESet = typeESet;
+ type = TYPE_EDEFAULT;
+ typeESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.NOTIFIER__TYPE, oldType, TYPE_EDEFAULT,
+ oldTypeESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetType() {
+ return typeESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSendOnError() {
+ return sendOnError;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSendOnError(String newSendOnError) {
+ String oldSendOnError = sendOnError;
+ sendOnError = newSendOnError;
+ boolean oldSendOnErrorESet = sendOnErrorESet;
+ sendOnErrorESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.NOTIFIER__SEND_ON_ERROR, oldSendOnError,
+ sendOnError, !oldSendOnErrorESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetSendOnError() {
+ String oldSendOnError = sendOnError;
+ boolean oldSendOnErrorESet = sendOnErrorESet;
+ sendOnError = SEND_ON_ERROR_EDEFAULT;
+ sendOnErrorESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.NOTIFIER__SEND_ON_ERROR, oldSendOnError,
+ SEND_ON_ERROR_EDEFAULT, oldSendOnErrorESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetSendOnError() {
+ return sendOnErrorESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSendOnFailure() {
+ return sendOnFailure;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSendOnFailure(String newSendOnFailure) {
+ String oldSendOnFailure = sendOnFailure;
+ sendOnFailure = newSendOnFailure;
+ boolean oldSendOnFailureESet = sendOnFailureESet;
+ sendOnFailureESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.NOTIFIER__SEND_ON_FAILURE, oldSendOnFailure,
+ sendOnFailure, !oldSendOnFailureESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetSendOnFailure() {
+ String oldSendOnFailure = sendOnFailure;
+ boolean oldSendOnFailureESet = sendOnFailureESet;
+ sendOnFailure = SEND_ON_FAILURE_EDEFAULT;
+ sendOnFailureESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.NOTIFIER__SEND_ON_FAILURE, oldSendOnFailure,
+ SEND_ON_FAILURE_EDEFAULT, oldSendOnFailureESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetSendOnFailure() {
+ return sendOnFailureESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSendOnSuccess() {
+ return sendOnSuccess;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSendOnSuccess(String newSendOnSuccess) {
+ String oldSendOnSuccess = sendOnSuccess;
+ sendOnSuccess = newSendOnSuccess;
+ boolean oldSendOnSuccessESet = sendOnSuccessESet;
+ sendOnSuccessESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.NOTIFIER__SEND_ON_SUCCESS, oldSendOnSuccess,
+ sendOnSuccess, !oldSendOnSuccessESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetSendOnSuccess() {
+ String oldSendOnSuccess = sendOnSuccess;
+ boolean oldSendOnSuccessESet = sendOnSuccessESet;
+ sendOnSuccess = SEND_ON_SUCCESS_EDEFAULT;
+ sendOnSuccessESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.NOTIFIER__SEND_ON_SUCCESS, oldSendOnSuccess,
+ SEND_ON_SUCCESS_EDEFAULT, oldSendOnSuccessESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetSendOnSuccess() {
+ return sendOnSuccessESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getSendOnWarning() {
+ return sendOnWarning;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSendOnWarning(String newSendOnWarning) {
+ String oldSendOnWarning = sendOnWarning;
+ sendOnWarning = newSendOnWarning;
+ boolean oldSendOnWarningESet = sendOnWarningESet;
+ sendOnWarningESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.NOTIFIER__SEND_ON_WARNING, oldSendOnWarning,
+ sendOnWarning, !oldSendOnWarningESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetSendOnWarning() {
+ String oldSendOnWarning = sendOnWarning;
+ boolean oldSendOnWarningESet = sendOnWarningESet;
+ sendOnWarning = SEND_ON_WARNING_EDEFAULT;
+ sendOnWarningESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.NOTIFIER__SEND_ON_WARNING, oldSendOnWarning,
+ SEND_ON_WARNING_EDEFAULT, oldSendOnWarningESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetSendOnWarning() {
+ return sendOnWarningESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getAddress() {
+ return address;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setAddress(String newAddress) {
+ String oldAddress = address;
+ address = newAddress;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.NOTIFIER__ADDRESS, oldAddress, address));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<PropertyElement> getConfiguration() {
+ if (configuration == null) {
+ configuration = new EObjectContainmentEList.Unsettable<PropertyElement>(
+ PropertyElement.class, this,
+ PomPackage.NOTIFIER__CONFIGURATION);
+ }
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetConfiguration() {
+ if (configuration != null)
+ ((InternalEList.Unsettable<?>) configuration).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetConfiguration() {
+ return configuration != null
+ && ((InternalEList.Unsettable<?>) configuration).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.NOTIFIER__CONFIGURATION:
+ return ((InternalEList<?>) getConfiguration()).basicRemove(
+ otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.NOTIFIER__TYPE:
+ return getType();
+ case PomPackage.NOTIFIER__SEND_ON_ERROR:
+ return getSendOnError();
+ case PomPackage.NOTIFIER__SEND_ON_FAILURE:
+ return getSendOnFailure();
+ case PomPackage.NOTIFIER__SEND_ON_SUCCESS:
+ return getSendOnSuccess();
+ case PomPackage.NOTIFIER__SEND_ON_WARNING:
+ return getSendOnWarning();
+ case PomPackage.NOTIFIER__ADDRESS:
+ return getAddress();
+ case PomPackage.NOTIFIER__CONFIGURATION:
+ return getConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.NOTIFIER__TYPE:
+ setType((String) newValue);
+ return;
+ case PomPackage.NOTIFIER__SEND_ON_ERROR:
+ setSendOnError((String) newValue);
+ return;
+ case PomPackage.NOTIFIER__SEND_ON_FAILURE:
+ setSendOnFailure((String) newValue);
+ return;
+ case PomPackage.NOTIFIER__SEND_ON_SUCCESS:
+ setSendOnSuccess((String) newValue);
+ return;
+ case PomPackage.NOTIFIER__SEND_ON_WARNING:
+ setSendOnWarning((String) newValue);
+ return;
+ case PomPackage.NOTIFIER__ADDRESS:
+ setAddress((String) newValue);
+ return;
+ case PomPackage.NOTIFIER__CONFIGURATION:
+ getConfiguration().clear();
+ getConfiguration().addAll(
+ (Collection<? extends PropertyElement>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.NOTIFIER__TYPE:
+ unsetType();
+ return;
+ case PomPackage.NOTIFIER__SEND_ON_ERROR:
+ unsetSendOnError();
+ return;
+ case PomPackage.NOTIFIER__SEND_ON_FAILURE:
+ unsetSendOnFailure();
+ return;
+ case PomPackage.NOTIFIER__SEND_ON_SUCCESS:
+ unsetSendOnSuccess();
+ return;
+ case PomPackage.NOTIFIER__SEND_ON_WARNING:
+ unsetSendOnWarning();
+ return;
+ case PomPackage.NOTIFIER__ADDRESS:
+ setAddress(ADDRESS_EDEFAULT);
+ return;
+ case PomPackage.NOTIFIER__CONFIGURATION:
+ unsetConfiguration();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.NOTIFIER__TYPE:
+ return isSetType();
+ case PomPackage.NOTIFIER__SEND_ON_ERROR:
+ return isSetSendOnError();
+ case PomPackage.NOTIFIER__SEND_ON_FAILURE:
+ return isSetSendOnFailure();
+ case PomPackage.NOTIFIER__SEND_ON_SUCCESS:
+ return isSetSendOnSuccess();
+ case PomPackage.NOTIFIER__SEND_ON_WARNING:
+ return isSetSendOnWarning();
+ case PomPackage.NOTIFIER__ADDRESS:
+ return ADDRESS_EDEFAULT == null ? address != null
+ : !ADDRESS_EDEFAULT.equals(address);
+ case PomPackage.NOTIFIER__CONFIGURATION:
+ return isSetConfiguration();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (type: "); //$NON-NLS-1$
+ if (typeESet)
+ result.append(type);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", sendOnError: "); //$NON-NLS-1$
+ if (sendOnErrorESet)
+ result.append(sendOnError);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", sendOnFailure: "); //$NON-NLS-1$
+ if (sendOnFailureESet)
+ result.append(sendOnFailure);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", sendOnSuccess: "); //$NON-NLS-1$
+ if (sendOnSuccessESet)
+ result.append(sendOnSuccess);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", sendOnWarning: "); //$NON-NLS-1$
+ if (sendOnWarningESet)
+ result.append(sendOnWarning);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", address: "); //$NON-NLS-1$
+ result.append(address);
+ result.append(')');
+ return result.toString();
+ }
+
+} // NotifierImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/OrganizationImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/OrganizationImpl.java
new file mode 100644
index 00000000..869cb7cc
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/OrganizationImpl.java
@@ -0,0 +1,232 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.Organization;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Organization</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.OrganizationImpl#getName <em>
+ * Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.OrganizationImpl#getUrl <em>Url
+ * </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OrganizationImpl extends EObjectImpl implements Organization {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected OrganizationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.ORGANIZATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ORGANIZATION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.ORGANIZATION__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.ORGANIZATION__NAME:
+ return getName();
+ case PomPackage.ORGANIZATION__URL:
+ return getUrl();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.ORGANIZATION__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.ORGANIZATION__URL:
+ setUrl((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.ORGANIZATION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.ORGANIZATION__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.ORGANIZATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.ORGANIZATION__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(')');
+ return result.toString();
+ }
+
+} // OrganizationImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ParentImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ParentImpl.java
new file mode 100644
index 00000000..c98b1228
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ParentImpl.java
@@ -0,0 +1,349 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.Parent;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Parent</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ParentImpl#getArtifactId <em>
+ * Artifact Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ParentImpl#getGroupId <em>Group
+ * Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ParentImpl#getVersion <em>
+ * Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ParentImpl#getRelativePath <em>
+ * Relative Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ParentImpl extends EObjectImpl implements Parent {
+ /**
+ * The default value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARTIFACT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected String artifactId = ARTIFACT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected static final String GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected String groupId = GROUP_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRelativePath()
+ * <em>Relative Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getRelativePath()
+ * @generated
+ * @ordered
+ */
+ protected static final String RELATIVE_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRelativePath()
+ * <em>Relative Path</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getRelativePath()
+ * @generated
+ * @ordered
+ */
+ protected String relativePath = RELATIVE_PATH_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ParentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.PARENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArtifactId(String newArtifactId) {
+ String oldArtifactId = artifactId;
+ artifactId = newArtifactId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PARENT__ARTIFACT_ID, oldArtifactId, artifactId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGroupId(String newGroupId) {
+ String oldGroupId = groupId;
+ groupId = newGroupId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PARENT__GROUP_ID, oldGroupId, groupId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVersion(String newVersion) {
+ String oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PARENT__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getRelativePath() {
+ return relativePath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRelativePath(String newRelativePath) {
+ String oldRelativePath = relativePath;
+ relativePath = newRelativePath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PARENT__RELATIVE_PATH, oldRelativePath,
+ relativePath));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.PARENT__ARTIFACT_ID:
+ return getArtifactId();
+ case PomPackage.PARENT__GROUP_ID:
+ return getGroupId();
+ case PomPackage.PARENT__VERSION:
+ return getVersion();
+ case PomPackage.PARENT__RELATIVE_PATH:
+ return getRelativePath();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.PARENT__ARTIFACT_ID:
+ setArtifactId((String) newValue);
+ return;
+ case PomPackage.PARENT__GROUP_ID:
+ setGroupId((String) newValue);
+ return;
+ case PomPackage.PARENT__VERSION:
+ setVersion((String) newValue);
+ return;
+ case PomPackage.PARENT__RELATIVE_PATH:
+ setRelativePath((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.PARENT__ARTIFACT_ID:
+ setArtifactId(ARTIFACT_ID_EDEFAULT);
+ return;
+ case PomPackage.PARENT__GROUP_ID:
+ setGroupId(GROUP_ID_EDEFAULT);
+ return;
+ case PomPackage.PARENT__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ case PomPackage.PARENT__RELATIVE_PATH:
+ setRelativePath(RELATIVE_PATH_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.PARENT__ARTIFACT_ID:
+ return ARTIFACT_ID_EDEFAULT == null ? artifactId != null
+ : !ARTIFACT_ID_EDEFAULT.equals(artifactId);
+ case PomPackage.PARENT__GROUP_ID:
+ return GROUP_ID_EDEFAULT == null ? groupId != null
+ : !GROUP_ID_EDEFAULT.equals(groupId);
+ case PomPackage.PARENT__VERSION:
+ return VERSION_EDEFAULT == null ? version != null
+ : !VERSION_EDEFAULT.equals(version);
+ case PomPackage.PARENT__RELATIVE_PATH:
+ return RELATIVE_PATH_EDEFAULT == null ? relativePath != null
+ : !RELATIVE_PATH_EDEFAULT.equals(relativePath);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (artifactId: "); //$NON-NLS-1$
+ result.append(artifactId);
+ result.append(", groupId: "); //$NON-NLS-1$
+ result.append(groupId);
+ result.append(", version: "); //$NON-NLS-1$
+ result.append(version);
+ result.append(", relativePath: "); //$NON-NLS-1$
+ result.append(relativePath);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ParentImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginExecutionImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginExecutionImpl.java
new file mode 100644
index 00000000..0574148b
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginExecutionImpl.java
@@ -0,0 +1,444 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.m2e.model.edit.pom.Configuration;
+import org.eclipse.m2e.model.edit.pom.PluginExecution;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Plugin Execution</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginExecutionImpl#getId <em>Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginExecutionImpl#getPhase
+ * <em>Phase</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.PluginExecutionImpl#getInherited
+ * <em>Inherited</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginExecutionImpl#getGoals
+ * <em>Goals</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.PluginExecutionImpl#getConfiguration
+ * <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PluginExecutionImpl extends EObjectImpl implements PluginExecution {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * This is true if the Id attribute has been set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean idESet;
+
+ /**
+ * The default value of the '{@link #getPhase() <em>Phase</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPhase()
+ * @generated
+ * @ordered
+ */
+ protected static final String PHASE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPhase() <em>Phase</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPhase()
+ * @generated
+ * @ordered
+ */
+ protected String phase = PHASE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInherited() <em>Inherited</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInherited()
+ * @generated
+ * @ordered
+ */
+ protected static final String INHERITED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInherited() <em>Inherited</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInherited()
+ * @generated
+ * @ordered
+ */
+ protected String inherited = INHERITED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getGoals() <em>Goals</em>}' attribute
+ * list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGoals()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> goals;
+
+ /**
+ * The cached value of the '{@link #getConfiguration()
+ * <em>Configuration</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected Configuration configuration;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PluginExecutionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.PLUGIN_EXECUTION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ boolean oldIdESet = idESet;
+ idESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN_EXECUTION__ID, oldId, id, !oldIdESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetId() {
+ String oldId = id;
+ boolean oldIdESet = idESet;
+ id = ID_EDEFAULT;
+ idESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.PLUGIN_EXECUTION__ID, oldId, ID_EDEFAULT,
+ oldIdESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetId() {
+ return idESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getPhase() {
+ return phase;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setPhase(String newPhase) {
+ String oldPhase = phase;
+ phase = newPhase;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN_EXECUTION__PHASE, oldPhase, phase));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getInherited() {
+ return inherited;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setInherited(String newInherited) {
+ String oldInherited = inherited;
+ inherited = newInherited;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN_EXECUTION__INHERITED, oldInherited,
+ inherited));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getGoals() {
+ if (goals == null) {
+ goals = new EDataTypeEList<String>(String.class, this,
+ PomPackage.PLUGIN_EXECUTION__GOALS);
+ }
+ return goals;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Configuration getConfiguration() {
+ if (configuration != null && configuration.eIsProxy()) {
+ InternalEObject oldConfiguration = (InternalEObject) configuration;
+ configuration = (Configuration) eResolveProxy(oldConfiguration);
+ if (configuration != oldConfiguration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ PomPackage.PLUGIN_EXECUTION__CONFIGURATION,
+ oldConfiguration, configuration));
+ }
+ }
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Configuration basicGetConfiguration() {
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setConfiguration(Configuration newConfiguration) {
+ Configuration oldConfiguration = configuration;
+ configuration = newConfiguration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN_EXECUTION__CONFIGURATION,
+ oldConfiguration, configuration));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.PLUGIN_EXECUTION__ID:
+ return getId();
+ case PomPackage.PLUGIN_EXECUTION__PHASE:
+ return getPhase();
+ case PomPackage.PLUGIN_EXECUTION__INHERITED:
+ return getInherited();
+ case PomPackage.PLUGIN_EXECUTION__GOALS:
+ return getGoals();
+ case PomPackage.PLUGIN_EXECUTION__CONFIGURATION:
+ if (resolve)
+ return getConfiguration();
+ return basicGetConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.PLUGIN_EXECUTION__ID:
+ setId((String) newValue);
+ return;
+ case PomPackage.PLUGIN_EXECUTION__PHASE:
+ setPhase((String) newValue);
+ return;
+ case PomPackage.PLUGIN_EXECUTION__INHERITED:
+ setInherited((String) newValue);
+ return;
+ case PomPackage.PLUGIN_EXECUTION__GOALS:
+ getGoals().clear();
+ getGoals().addAll((Collection<? extends String>) newValue);
+ return;
+ case PomPackage.PLUGIN_EXECUTION__CONFIGURATION:
+ setConfiguration((Configuration) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.PLUGIN_EXECUTION__ID:
+ unsetId();
+ return;
+ case PomPackage.PLUGIN_EXECUTION__PHASE:
+ setPhase(PHASE_EDEFAULT);
+ return;
+ case PomPackage.PLUGIN_EXECUTION__INHERITED:
+ setInherited(INHERITED_EDEFAULT);
+ return;
+ case PomPackage.PLUGIN_EXECUTION__GOALS:
+ getGoals().clear();
+ return;
+ case PomPackage.PLUGIN_EXECUTION__CONFIGURATION:
+ setConfiguration((Configuration) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.PLUGIN_EXECUTION__ID:
+ return isSetId();
+ case PomPackage.PLUGIN_EXECUTION__PHASE:
+ return PHASE_EDEFAULT == null ? phase != null : !PHASE_EDEFAULT
+ .equals(phase);
+ case PomPackage.PLUGIN_EXECUTION__INHERITED:
+ return INHERITED_EDEFAULT == null ? inherited != null
+ : !INHERITED_EDEFAULT.equals(inherited);
+ case PomPackage.PLUGIN_EXECUTION__GOALS:
+ return goals != null && !goals.isEmpty();
+ case PomPackage.PLUGIN_EXECUTION__CONFIGURATION:
+ return configuration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ if (idESet)
+ result.append(id);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", phase: "); //$NON-NLS-1$
+ result.append(phase);
+ result.append(", inherited: "); //$NON-NLS-1$
+ result.append(inherited);
+ result.append(", goals: "); //$NON-NLS-1$
+ result.append(goals);
+ result.append(')');
+ return result.toString();
+ }
+
+} // PluginExecutionImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginImpl.java
new file mode 100644
index 00000000..5f1143a8
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginImpl.java
@@ -0,0 +1,695 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Configuration;
+import org.eclipse.m2e.model.edit.pom.Dependency;
+import org.eclipse.m2e.model.edit.pom.Plugin;
+import org.eclipse.m2e.model.edit.pom.PluginExecution;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Plugin</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl#getGroupId <em>Group
+ * Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl#getArtifactId <em>
+ * Artifact Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl#getVersion <em>
+ * Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl#getExtensions <em>
+ * Extensions</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl#getExecutions <em>
+ * Executions</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl#getDependencies <em>
+ * Dependencies</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl#getInherited <em>
+ * Inherited</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginImpl#getConfiguration <em>
+ * Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PluginImpl extends EObjectImpl implements Plugin {
+ /**
+ * The default value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected static final String GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected String groupId = GROUP_ID_EDEFAULT;
+
+ /**
+ * This is true if the Group Id attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean groupIdESet;
+
+ /**
+ * The default value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARTIFACT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected String artifactId = ARTIFACT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getExtensions() <em>Extensions</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExtensions()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXTENSIONS_EDEFAULT = "false"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getExtensions() <em>Extensions</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExtensions()
+ * @generated
+ * @ordered
+ */
+ protected String extensions = EXTENSIONS_EDEFAULT;
+
+ /**
+ * This is true if the Extensions attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean extensionsESet;
+
+ /**
+ * The cached value of the '{@link #getExecutions() <em>Executions</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExecutions()
+ * @generated
+ * @ordered
+ */
+ protected EList<PluginExecution> executions;
+
+ /**
+ * The cached value of the '{@link #getDependencies() <em>Dependencies</em>}
+ * ' containment reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getDependencies()
+ * @generated
+ * @ordered
+ */
+ protected EList<Dependency> dependencies;
+
+ /**
+ * The default value of the '{@link #getInherited() <em>Inherited</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInherited()
+ * @generated
+ * @ordered
+ */
+ protected static final String INHERITED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInherited() <em>Inherited</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInherited()
+ * @generated
+ * @ordered
+ */
+ protected String inherited = INHERITED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getConfiguration()
+ * <em>Configuration</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected Configuration configuration;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PluginImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.PLUGIN;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGroupId(String newGroupId) {
+ String oldGroupId = groupId;
+ groupId = newGroupId;
+ boolean oldGroupIdESet = groupIdESet;
+ groupIdESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN__GROUP_ID, oldGroupId, groupId,
+ !oldGroupIdESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetGroupId() {
+ String oldGroupId = groupId;
+ boolean oldGroupIdESet = groupIdESet;
+ groupId = GROUP_ID_EDEFAULT;
+ groupIdESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.PLUGIN__GROUP_ID, oldGroupId, GROUP_ID_EDEFAULT,
+ oldGroupIdESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetGroupId() {
+ return groupIdESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArtifactId(String newArtifactId) {
+ String oldArtifactId = artifactId;
+ artifactId = newArtifactId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN__ARTIFACT_ID, oldArtifactId, artifactId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVersion(String newVersion) {
+ String oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getExtensions() {
+ return extensions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExtensions(String newExtensions) {
+ String oldExtensions = extensions;
+ extensions = newExtensions;
+ boolean oldExtensionsESet = extensionsESet;
+ extensionsESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN__EXTENSIONS, oldExtensions, extensions,
+ !oldExtensionsESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetExtensions() {
+ String oldExtensions = extensions;
+ boolean oldExtensionsESet = extensionsESet;
+ extensions = EXTENSIONS_EDEFAULT;
+ extensionsESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.PLUGIN__EXTENSIONS, oldExtensions,
+ EXTENSIONS_EDEFAULT, oldExtensionsESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetExtensions() {
+ return extensionsESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<PluginExecution> getExecutions() {
+ if (executions == null) {
+ executions = new EObjectContainmentEList.Unsettable<PluginExecution>(
+ PluginExecution.class, this, PomPackage.PLUGIN__EXECUTIONS);
+ }
+ return executions;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetExecutions() {
+ if (executions != null)
+ ((InternalEList.Unsettable<?>) executions).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetExecutions() {
+ return executions != null
+ && ((InternalEList.Unsettable<?>) executions).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Dependency> getDependencies() {
+ if (dependencies == null) {
+ dependencies = new EObjectContainmentEList.Unsettable<Dependency>(
+ Dependency.class, this, PomPackage.PLUGIN__DEPENDENCIES);
+ }
+ return dependencies;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetDependencies() {
+ if (dependencies != null)
+ ((InternalEList.Unsettable<?>) dependencies).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetDependencies() {
+ return dependencies != null
+ && ((InternalEList.Unsettable<?>) dependencies).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getInherited() {
+ return inherited;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setInherited(String newInherited) {
+ String oldInherited = inherited;
+ inherited = newInherited;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN__INHERITED, oldInherited, inherited));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Configuration getConfiguration() {
+ if (configuration != null && configuration.eIsProxy()) {
+ InternalEObject oldConfiguration = (InternalEObject) configuration;
+ configuration = (Configuration) eResolveProxy(oldConfiguration);
+ if (configuration != oldConfiguration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ PomPackage.PLUGIN__CONFIGURATION, oldConfiguration,
+ configuration));
+ }
+ }
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Configuration basicGetConfiguration() {
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setConfiguration(Configuration newConfiguration) {
+ Configuration oldConfiguration = configuration;
+ configuration = newConfiguration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PLUGIN__CONFIGURATION, oldConfiguration,
+ configuration));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.PLUGIN__EXECUTIONS:
+ return ((InternalEList<?>) getExecutions()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.PLUGIN__DEPENDENCIES:
+ return ((InternalEList<?>) getDependencies()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.PLUGIN__GROUP_ID:
+ return getGroupId();
+ case PomPackage.PLUGIN__ARTIFACT_ID:
+ return getArtifactId();
+ case PomPackage.PLUGIN__VERSION:
+ return getVersion();
+ case PomPackage.PLUGIN__EXTENSIONS:
+ return getExtensions();
+ case PomPackage.PLUGIN__EXECUTIONS:
+ return getExecutions();
+ case PomPackage.PLUGIN__DEPENDENCIES:
+ return getDependencies();
+ case PomPackage.PLUGIN__INHERITED:
+ return getInherited();
+ case PomPackage.PLUGIN__CONFIGURATION:
+ if (resolve)
+ return getConfiguration();
+ return basicGetConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.PLUGIN__GROUP_ID:
+ setGroupId((String) newValue);
+ return;
+ case PomPackage.PLUGIN__ARTIFACT_ID:
+ setArtifactId((String) newValue);
+ return;
+ case PomPackage.PLUGIN__VERSION:
+ setVersion((String) newValue);
+ return;
+ case PomPackage.PLUGIN__EXTENSIONS:
+ setExtensions((String) newValue);
+ return;
+ case PomPackage.PLUGIN__EXECUTIONS:
+ getExecutions().clear();
+ getExecutions().addAll(
+ (Collection<? extends PluginExecution>) newValue);
+ return;
+ case PomPackage.PLUGIN__DEPENDENCIES:
+ getDependencies().clear();
+ getDependencies().addAll(
+ (Collection<? extends Dependency>) newValue);
+ return;
+ case PomPackage.PLUGIN__INHERITED:
+ setInherited((String) newValue);
+ return;
+ case PomPackage.PLUGIN__CONFIGURATION:
+ setConfiguration((Configuration) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.PLUGIN__GROUP_ID:
+ unsetGroupId();
+ return;
+ case PomPackage.PLUGIN__ARTIFACT_ID:
+ setArtifactId(ARTIFACT_ID_EDEFAULT);
+ return;
+ case PomPackage.PLUGIN__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ case PomPackage.PLUGIN__EXTENSIONS:
+ unsetExtensions();
+ return;
+ case PomPackage.PLUGIN__EXECUTIONS:
+ unsetExecutions();
+ return;
+ case PomPackage.PLUGIN__DEPENDENCIES:
+ unsetDependencies();
+ return;
+ case PomPackage.PLUGIN__INHERITED:
+ setInherited(INHERITED_EDEFAULT);
+ return;
+ case PomPackage.PLUGIN__CONFIGURATION:
+ setConfiguration((Configuration) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.PLUGIN__GROUP_ID:
+ return isSetGroupId();
+ case PomPackage.PLUGIN__ARTIFACT_ID:
+ return ARTIFACT_ID_EDEFAULT == null ? artifactId != null
+ : !ARTIFACT_ID_EDEFAULT.equals(artifactId);
+ case PomPackage.PLUGIN__VERSION:
+ return VERSION_EDEFAULT == null ? version != null
+ : !VERSION_EDEFAULT.equals(version);
+ case PomPackage.PLUGIN__EXTENSIONS:
+ return isSetExtensions();
+ case PomPackage.PLUGIN__EXECUTIONS:
+ return isSetExecutions();
+ case PomPackage.PLUGIN__DEPENDENCIES:
+ return isSetDependencies();
+ case PomPackage.PLUGIN__INHERITED:
+ return INHERITED_EDEFAULT == null ? inherited != null
+ : !INHERITED_EDEFAULT.equals(inherited);
+ case PomPackage.PLUGIN__CONFIGURATION:
+ return configuration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (groupId: "); //$NON-NLS-1$
+ if (groupIdESet)
+ result.append(groupId);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", artifactId: "); //$NON-NLS-1$
+ result.append(artifactId);
+ result.append(", version: "); //$NON-NLS-1$
+ result.append(version);
+ result.append(", extensions: "); //$NON-NLS-1$
+ if (extensionsESet)
+ result.append(extensions);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", inherited: "); //$NON-NLS-1$
+ result.append(inherited);
+ result.append(')');
+ return result.toString();
+ }
+
+} // PluginImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginManagementImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginManagementImpl.java
new file mode 100644
index 00000000..5c8add48
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PluginManagementImpl.java
@@ -0,0 +1,165 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Plugin;
+import org.eclipse.m2e.model.edit.pom.PluginManagement;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Plugin Management</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PluginManagementImpl#getPlugins
+ * <em>Plugins</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PluginManagementImpl extends EObjectImpl implements
+ PluginManagement {
+ /**
+ * The cached value of the '{@link #getPlugins() <em>Plugins</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPlugins()
+ * @generated
+ * @ordered
+ */
+ protected EList<Plugin> plugins;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PluginManagementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.PLUGIN_MANAGEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Plugin> getPlugins() {
+ if (plugins == null) {
+ plugins = new EObjectContainmentEList<Plugin>(Plugin.class, this,
+ PomPackage.PLUGIN_MANAGEMENT__PLUGINS);
+ }
+ return plugins;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.PLUGIN_MANAGEMENT__PLUGINS:
+ return ((InternalEList<?>) getPlugins())
+ .basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.PLUGIN_MANAGEMENT__PLUGINS:
+ return getPlugins();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.PLUGIN_MANAGEMENT__PLUGINS:
+ getPlugins().clear();
+ getPlugins().addAll((Collection<? extends Plugin>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.PLUGIN_MANAGEMENT__PLUGINS:
+ getPlugins().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.PLUGIN_MANAGEMENT__PLUGINS:
+ return plugins != null && !plugins.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // PluginManagementImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PomFactoryImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PomFactoryImpl.java
new file mode 100644
index 00000000..b23aefb2
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PomFactoryImpl.java
@@ -0,0 +1,562 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.m2e.model.edit.pom.*;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class PomFactoryImpl extends EFactoryImpl implements PomFactory {
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public static PomFactory init() {
+ try {
+ PomFactory thePomFactory = (PomFactory) EPackage.Registry.INSTANCE
+ .getEFactory("http://maven.apache.org/POM/4.0.0"); //$NON-NLS-1$
+ if (thePomFactory != null) {
+ return thePomFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PomFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public PomFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case PomPackage.ACTIVATION:
+ return createActivation();
+ case PomPackage.ACTIVATION_FILE:
+ return createActivationFile();
+ case PomPackage.ACTIVATION_OS:
+ return createActivationOS();
+ case PomPackage.ACTIVATION_PROPERTY:
+ return createActivationProperty();
+ case PomPackage.BUILD:
+ return createBuild();
+ case PomPackage.BUILD_BASE:
+ return createBuildBase();
+ case PomPackage.CI_MANAGEMENT:
+ return createCiManagement();
+ case PomPackage.CONTRIBUTOR:
+ return createContributor();
+ case PomPackage.DEPENDENCY:
+ return createDependency();
+ case PomPackage.DEPENDENCY_MANAGEMENT:
+ return createDependencyManagement();
+ case PomPackage.DEPLOYMENT_REPOSITORY:
+ return createDeploymentRepository();
+ case PomPackage.DEVELOPER:
+ return createDeveloper();
+ case PomPackage.DISTRIBUTION_MANAGEMENT:
+ return createDistributionManagement();
+ case PomPackage.DOCUMENT_ROOT:
+ return createDocumentRoot();
+ case PomPackage.EXCLUSION:
+ return createExclusion();
+ case PomPackage.EXTENSION:
+ return createExtension();
+ case PomPackage.ISSUE_MANAGEMENT:
+ return createIssueManagement();
+ case PomPackage.LICENSE:
+ return createLicense();
+ case PomPackage.MAILING_LIST:
+ return createMailingList();
+ case PomPackage.MODEL:
+ return createModel();
+ case PomPackage.NOTIFIER:
+ return createNotifier();
+ case PomPackage.ORGANIZATION:
+ return createOrganization();
+ case PomPackage.PARENT:
+ return createParent();
+ case PomPackage.PLUGIN:
+ return createPlugin();
+ case PomPackage.PLUGIN_EXECUTION:
+ return createPluginExecution();
+ case PomPackage.PLUGIN_MANAGEMENT:
+ return createPluginManagement();
+ case PomPackage.PREREQUISITES:
+ return createPrerequisites();
+ case PomPackage.PROFILE:
+ return createProfile();
+ case PomPackage.RELOCATION:
+ return createRelocation();
+ case PomPackage.REPORTING:
+ return createReporting();
+ case PomPackage.REPORT_PLUGIN:
+ return createReportPlugin();
+ case PomPackage.REPORT_SET:
+ return createReportSet();
+ case PomPackage.REPOSITORY:
+ return createRepository();
+ case PomPackage.REPOSITORY_POLICY:
+ return createRepositoryPolicy();
+ case PomPackage.RESOURCE:
+ return createResource();
+ case PomPackage.SCM:
+ return createScm();
+ case PomPackage.SITE:
+ return createSite();
+ case PomPackage.PROPERTY_ELEMENT:
+ return createPropertyElement();
+ case PomPackage.CONFIGURATION:
+ return createConfiguration();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() //$NON-NLS-1$
+ + "' is not a valid classifier"); //$NON-NLS-1$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Activation createActivation() {
+ ActivationImpl activation = new ActivationImpl();
+ return activation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationFile createActivationFile() {
+ ActivationFileImpl activationFile = new ActivationFileImpl();
+ return activationFile;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationOS createActivationOS() {
+ ActivationOSImpl activationOS = new ActivationOSImpl();
+ return activationOS;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationProperty createActivationProperty() {
+ ActivationPropertyImpl activationProperty = new ActivationPropertyImpl();
+ return activationProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Build createBuild() {
+ BuildImpl build = new BuildImpl();
+ return build;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BuildBase createBuildBase() {
+ BuildBaseImpl buildBase = new BuildBaseImpl();
+ return buildBase;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CiManagement createCiManagement() {
+ CiManagementImpl ciManagement = new CiManagementImpl();
+ return ciManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Contributor createContributor() {
+ ContributorImpl contributor = new ContributorImpl();
+ return contributor;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Dependency createDependency() {
+ DependencyImpl dependency = new DependencyImpl();
+ return dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DependencyManagement createDependencyManagement() {
+ DependencyManagementImpl dependencyManagement = new DependencyManagementImpl();
+ return dependencyManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DeploymentRepository createDeploymentRepository() {
+ DeploymentRepositoryImpl deploymentRepository = new DeploymentRepositoryImpl();
+ return deploymentRepository;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Developer createDeveloper() {
+ DeveloperImpl developer = new DeveloperImpl();
+ return developer;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DistributionManagement createDistributionManagement() {
+ DistributionManagementImpl distributionManagement = new DistributionManagementImpl();
+ return distributionManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DocumentRoot createDocumentRoot() {
+ DocumentRootImpl documentRoot = new DocumentRootImpl();
+ return documentRoot;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Exclusion createExclusion() {
+ ExclusionImpl exclusion = new ExclusionImpl();
+ return exclusion;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Extension createExtension() {
+ ExtensionImpl extension = new ExtensionImpl();
+ return extension;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IssueManagement createIssueManagement() {
+ IssueManagementImpl issueManagement = new IssueManagementImpl();
+ return issueManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public License createLicense() {
+ LicenseImpl license = new LicenseImpl();
+ return license;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public MailingList createMailingList() {
+ MailingListImpl mailingList = new MailingListImpl();
+ return mailingList;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Model createModel() {
+ ModelImpl model = new ModelImpl();
+ return model;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Notifier createNotifier() {
+ NotifierImpl notifier = new NotifierImpl();
+ return notifier;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Organization createOrganization() {
+ OrganizationImpl organization = new OrganizationImpl();
+ return organization;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Parent createParent() {
+ ParentImpl parent = new ParentImpl();
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Plugin createPlugin() {
+ PluginImpl plugin = new PluginImpl();
+ return plugin;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PluginExecution createPluginExecution() {
+ PluginExecutionImpl pluginExecution = new PluginExecutionImpl();
+ return pluginExecution;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PluginManagement createPluginManagement() {
+ PluginManagementImpl pluginManagement = new PluginManagementImpl();
+ return pluginManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Prerequisites createPrerequisites() {
+ PrerequisitesImpl prerequisites = new PrerequisitesImpl();
+ return prerequisites;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Profile createProfile() {
+ ProfileImpl profile = new ProfileImpl();
+ return profile;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Relocation createRelocation() {
+ RelocationImpl relocation = new RelocationImpl();
+ return relocation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Reporting createReporting() {
+ ReportingImpl reporting = new ReportingImpl();
+ return reporting;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReportPlugin createReportPlugin() {
+ ReportPluginImpl reportPlugin = new ReportPluginImpl();
+ return reportPlugin;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReportSet createReportSet() {
+ ReportSetImpl reportSet = new ReportSetImpl();
+ return reportSet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Repository createRepository() {
+ RepositoryImpl repository = new RepositoryImpl();
+ return repository;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RepositoryPolicy createRepositoryPolicy() {
+ RepositoryPolicyImpl repositoryPolicy = new RepositoryPolicyImpl();
+ return repositoryPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Resource createResource() {
+ ResourceImpl resource = new ResourceImpl();
+ return resource;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Scm createScm() {
+ ScmImpl scm = new ScmImpl();
+ return scm;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Site createSite() {
+ SiteImpl site = new SiteImpl();
+ return site;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PropertyElement createPropertyElement() {
+ PropertyElementImpl propertyElement = new PropertyElementImpl();
+ return propertyElement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Configuration createConfiguration() {
+ ConfigurationImpl configuration = new ConfigurationImpl();
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PomPackage getPomPackage() {
+ return (PomPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PomPackage getPackage() {
+ return PomPackage.eINSTANCE;
+ }
+
+} // PomFactoryImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PomPackageImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PomPackageImpl.java
new file mode 100644
index 00000000..fc64bc92
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PomPackageImpl.java
@@ -0,0 +1,4597 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.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 org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+import org.eclipse.m2e.model.edit.pom.Activation;
+import org.eclipse.m2e.model.edit.pom.ActivationFile;
+import org.eclipse.m2e.model.edit.pom.ActivationOS;
+import org.eclipse.m2e.model.edit.pom.ActivationProperty;
+import org.eclipse.m2e.model.edit.pom.Build;
+import org.eclipse.m2e.model.edit.pom.BuildBase;
+import org.eclipse.m2e.model.edit.pom.CiManagement;
+import org.eclipse.m2e.model.edit.pom.Configuration;
+import org.eclipse.m2e.model.edit.pom.Contributor;
+import org.eclipse.m2e.model.edit.pom.Dependency;
+import org.eclipse.m2e.model.edit.pom.DependencyManagement;
+import org.eclipse.m2e.model.edit.pom.DeploymentRepository;
+import org.eclipse.m2e.model.edit.pom.Developer;
+import org.eclipse.m2e.model.edit.pom.DistributionManagement;
+import org.eclipse.m2e.model.edit.pom.DocumentRoot;
+import org.eclipse.m2e.model.edit.pom.Exclusion;
+import org.eclipse.m2e.model.edit.pom.Extension;
+import org.eclipse.m2e.model.edit.pom.IssueManagement;
+import org.eclipse.m2e.model.edit.pom.License;
+import org.eclipse.m2e.model.edit.pom.MailingList;
+import org.eclipse.m2e.model.edit.pom.Model;
+import org.eclipse.m2e.model.edit.pom.Notifier;
+import org.eclipse.m2e.model.edit.pom.Organization;
+import org.eclipse.m2e.model.edit.pom.Parent;
+import org.eclipse.m2e.model.edit.pom.Plugin;
+import org.eclipse.m2e.model.edit.pom.PluginExecution;
+import org.eclipse.m2e.model.edit.pom.PluginManagement;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Prerequisites;
+import org.eclipse.m2e.model.edit.pom.Profile;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+import org.eclipse.m2e.model.edit.pom.Relocation;
+import org.eclipse.m2e.model.edit.pom.ReportPlugin;
+import org.eclipse.m2e.model.edit.pom.ReportSet;
+import org.eclipse.m2e.model.edit.pom.Reporting;
+import org.eclipse.m2e.model.edit.pom.Repository;
+import org.eclipse.m2e.model.edit.pom.RepositoryPolicy;
+import org.eclipse.m2e.model.edit.pom.Resource;
+import org.eclipse.m2e.model.edit.pom.Scm;
+import org.eclipse.m2e.model.edit.pom.Site;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ * @generated
+ */
+public class PomPackageImpl extends EPackageImpl implements PomPackage {
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activationFileEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activationOSEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass activationPropertyEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass buildEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass buildBaseEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ciManagementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass contributorEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dependencyEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dependencyManagementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deploymentRepositoryEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass developerEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass distributionManagementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass documentRootEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass exclusionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass issueManagementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass licenseEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mailingListEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modelEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass notifierEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass organizationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parentEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pluginEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pluginExecutionEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pluginManagementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass prerequisitesEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass profileEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass relocationEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass reportingEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass reportPluginEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass reportSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass repositoryEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass repositoryPolicyEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass resourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass scmEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass siteEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass propertyElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationEClass = 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.m2e.model.edit.pom.PomPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PomPackageImpl() {
+ super(eNS_URI, PomFactory.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 PomPackage init() {
+ if (isInited) return (PomPackage)EPackage.Registry.INSTANCE.getEPackage(PomPackage.eNS_URI);
+
+ // Obtain or create and register package
+ PomPackageImpl thePomPackage = (PomPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof PomPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new PomPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ XMLTypePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ thePomPackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePomPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thePomPackage.freeze();
+
+ return thePomPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivation() {
+ return activationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivation_ActiveByDefault() {
+ return (EAttribute)activationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivation_Jdk() {
+ return (EAttribute)activationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivation_Os() {
+ return (EReference)activationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivation_Property() {
+ return (EReference)activationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getActivation_File() {
+ return (EReference)activationEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivationFile() {
+ return activationFileEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivationFile_Missing() {
+ return (EAttribute)activationFileEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivationFile_Exists() {
+ return (EAttribute)activationFileEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivationOS() {
+ return activationOSEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivationOS_Name() {
+ return (EAttribute)activationOSEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivationOS_Family() {
+ return (EAttribute)activationOSEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivationOS_Arch() {
+ return (EAttribute)activationOSEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivationOS_Version() {
+ return (EAttribute)activationOSEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getActivationProperty() {
+ return activationPropertyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivationProperty_Name() {
+ return (EAttribute)activationPropertyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getActivationProperty_Value() {
+ return (EAttribute)activationPropertyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBuild() {
+ return buildEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBuild_SourceDirectory() {
+ return (EAttribute)buildEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBuild_ScriptSourceDirectory() {
+ return (EAttribute)buildEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBuild_TestSourceDirectory() {
+ return (EAttribute)buildEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBuild_OutputDirectory() {
+ return (EAttribute)buildEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBuild_TestOutputDirectory() {
+ return (EAttribute)buildEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBuild_Extensions() {
+ return (EReference)buildEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBuildBase() {
+ return buildBaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBuildBase_DefaultGoal() {
+ return (EAttribute)buildBaseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBuildBase_Resources() {
+ return (EReference)buildBaseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBuildBase_TestResources() {
+ return (EReference)buildBaseEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBuildBase_Directory() {
+ return (EAttribute)buildBaseEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBuildBase_FinalName() {
+ return (EAttribute)buildBaseEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBuildBase_PluginManagement() {
+ return (EReference)buildBaseEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBuildBase_Plugins() {
+ return (EReference)buildBaseEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBuildBase_Filters() {
+ return (EAttribute)buildBaseEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCiManagement() {
+ return ciManagementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCiManagement_System() {
+ return (EAttribute)ciManagementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCiManagement_Url() {
+ return (EAttribute)ciManagementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCiManagement_Notifiers() {
+ return (EReference)ciManagementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContributor() {
+ return contributorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContributor_Name() {
+ return (EAttribute)contributorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContributor_Email() {
+ return (EAttribute)contributorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContributor_Url() {
+ return (EAttribute)contributorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContributor_Organization() {
+ return (EAttribute)contributorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContributor_OrganizationUrl() {
+ return (EAttribute)contributorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContributor_Timezone() {
+ return (EAttribute)contributorEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getContributor_Properties() {
+ return (EReference)contributorEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContributor_Roles() {
+ return (EAttribute)contributorEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDependency() {
+ return dependencyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDependency_GroupId() {
+ return (EAttribute)dependencyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDependency_ArtifactId() {
+ return (EAttribute)dependencyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDependency_Version() {
+ return (EAttribute)dependencyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDependency_Type() {
+ return (EAttribute)dependencyEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDependency_Classifier() {
+ return (EAttribute)dependencyEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDependency_Scope() {
+ return (EAttribute)dependencyEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDependency_SystemPath() {
+ return (EAttribute)dependencyEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependency_Exclusions() {
+ return (EReference)dependencyEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDependency_Optional() {
+ return (EAttribute)dependencyEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDependencyManagement() {
+ return dependencyManagementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDependencyManagement_Dependencies() {
+ return (EReference)dependencyManagementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeploymentRepository() {
+ return deploymentRepositoryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeploymentRepository_UniqueVersion() {
+ return (EAttribute)deploymentRepositoryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeploymentRepository_Id() {
+ return (EAttribute)deploymentRepositoryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeploymentRepository_Name() {
+ return (EAttribute)deploymentRepositoryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeploymentRepository_Url() {
+ return (EAttribute)deploymentRepositoryEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeploymentRepository_Layout() {
+ return (EAttribute)deploymentRepositoryEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeveloper() {
+ return developerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeveloper_Id() {
+ return (EAttribute)developerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeveloper_Name() {
+ return (EAttribute)developerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeveloper_Email() {
+ return (EAttribute)developerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeveloper_Url() {
+ return (EAttribute)developerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeveloper_Organization() {
+ return (EAttribute)developerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeveloper_OrganizationUrl() {
+ return (EAttribute)developerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeveloper_Timezone() {
+ return (EAttribute)developerEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeveloper_Properties() {
+ return (EReference)developerEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeveloper_Roles() {
+ return (EAttribute)developerEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDistributionManagement() {
+ return distributionManagementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDistributionManagement_Repository() {
+ return (EReference)distributionManagementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDistributionManagement_SnapshotRepository() {
+ return (EReference)distributionManagementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDistributionManagement_Site() {
+ return (EReference)distributionManagementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDistributionManagement_DownloadUrl() {
+ return (EAttribute)distributionManagementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDistributionManagement_Relocation() {
+ return (EReference)distributionManagementEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDistributionManagement_Status() {
+ return (EAttribute)distributionManagementEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDocumentRoot() {
+ return documentRootEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDocumentRoot_Mixed() {
+ return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_XMLNSPrefixMap() {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_XSISchemaLocation() {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_Project() {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExclusion() {
+ return exclusionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExclusion_ArtifactId() {
+ return (EAttribute)exclusionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExclusion_GroupId() {
+ return (EAttribute)exclusionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtension() {
+ return extensionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtension_GroupId() {
+ return (EAttribute)extensionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtension_ArtifactId() {
+ return (EAttribute)extensionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtension_Version() {
+ return (EAttribute)extensionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIssueManagement() {
+ return issueManagementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIssueManagement_System() {
+ return (EAttribute)issueManagementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getIssueManagement_Url() {
+ return (EAttribute)issueManagementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLicense() {
+ return licenseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLicense_Name() {
+ return (EAttribute)licenseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLicense_Url() {
+ return (EAttribute)licenseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLicense_Distribution() {
+ return (EAttribute)licenseEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLicense_Comments() {
+ return (EAttribute)licenseEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMailingList() {
+ return mailingListEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMailingList_Name() {
+ return (EAttribute)mailingListEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMailingList_Subscribe() {
+ return (EAttribute)mailingListEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMailingList_Unsubscribe() {
+ return (EAttribute)mailingListEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMailingList_Post() {
+ return (EAttribute)mailingListEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMailingList_Archive() {
+ return (EAttribute)mailingListEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMailingList_OtherArchives() {
+ return (EAttribute)mailingListEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModel() {
+ return modelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Parent() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_ModelVersion() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_GroupId() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_ArtifactId() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_Packaging() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_Name() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_Version() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_Description() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_Url() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Prerequisites() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_IssueManagement() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_CiManagement() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_InceptionYear() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_MailingLists() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Developers() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Contributors() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Licenses() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Scm() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Organization() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(18);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Build() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(19);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Profiles() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(20);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Repositories() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(21);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_PluginRepositories() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(22);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Dependencies() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(23);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Reporting() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(24);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_DependencyManagement() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(25);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_DistributionManagement() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(26);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Properties() {
+ return (EReference)modelEClass.getEStructuralFeatures().get(27);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getModel_Modules() {
+ return (EAttribute)modelEClass.getEStructuralFeatures().get(28);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNotifier() {
+ return notifierEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNotifier_Type() {
+ return (EAttribute)notifierEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNotifier_SendOnError() {
+ return (EAttribute)notifierEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNotifier_SendOnFailure() {
+ return (EAttribute)notifierEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNotifier_SendOnSuccess() {
+ return (EAttribute)notifierEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNotifier_SendOnWarning() {
+ return (EAttribute)notifierEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNotifier_Address() {
+ return (EAttribute)notifierEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNotifier_Configuration() {
+ return (EReference)notifierEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOrganization() {
+ return organizationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOrganization_Name() {
+ return (EAttribute)organizationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOrganization_Url() {
+ return (EAttribute)organizationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParent() {
+ return parentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParent_ArtifactId() {
+ return (EAttribute)parentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParent_GroupId() {
+ return (EAttribute)parentEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParent_Version() {
+ return (EAttribute)parentEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParent_RelativePath() {
+ return (EAttribute)parentEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPlugin() {
+ return pluginEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_GroupId() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_ArtifactId() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_Version() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_Extensions() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPlugin_Executions() {
+ return (EReference)pluginEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPlugin_Dependencies() {
+ return (EReference)pluginEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPlugin_Inherited() {
+ return (EAttribute)pluginEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPlugin_Configuration() {
+ return (EReference)pluginEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPluginExecution() {
+ return pluginExecutionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPluginExecution_Id() {
+ return (EAttribute)pluginExecutionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPluginExecution_Phase() {
+ return (EAttribute)pluginExecutionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPluginExecution_Inherited() {
+ return (EAttribute)pluginExecutionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPluginExecution_Goals() {
+ return (EAttribute)pluginExecutionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPluginExecution_Configuration() {
+ return (EReference)pluginExecutionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPluginManagement() {
+ return pluginManagementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPluginManagement_Plugins() {
+ return (EReference)pluginManagementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPrerequisites() {
+ return prerequisitesEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPrerequisites_Maven() {
+ return (EAttribute)prerequisitesEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProfile() {
+ return profileEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProfile_Id() {
+ return (EAttribute)profileEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_Activation() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_Build() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_Repositories() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_PluginRepositories() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_Dependencies() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_Reports() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_DependencyManagement() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_DistributionManagement() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_Properties() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProfile_Modules() {
+ return (EAttribute)profileEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProfile_Reporting() {
+ return (EReference)profileEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRelocation() {
+ return relocationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRelocation_GroupId() {
+ return (EAttribute)relocationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRelocation_ArtifactId() {
+ return (EAttribute)relocationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRelocation_Version() {
+ return (EAttribute)relocationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRelocation_Message() {
+ return (EAttribute)relocationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReporting() {
+ return reportingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReporting_ExcludeDefaults() {
+ return (EAttribute)reportingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReporting_OutputDirectory() {
+ return (EAttribute)reportingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReporting_Plugins() {
+ return (EReference)reportingEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReportPlugin() {
+ return reportPluginEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReportPlugin_GroupId() {
+ return (EAttribute)reportPluginEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReportPlugin_ArtifactId() {
+ return (EAttribute)reportPluginEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReportPlugin_Version() {
+ return (EAttribute)reportPluginEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReportPlugin_Inherited() {
+ return (EAttribute)reportPluginEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReportPlugin_ReportSets() {
+ return (EReference)reportPluginEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReportPlugin_Configuration() {
+ return (EReference)reportPluginEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReportSet() {
+ return reportSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReportSet_Id() {
+ return (EAttribute)reportSetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReportSet_Inherited() {
+ return (EAttribute)reportSetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReportSet_Reports() {
+ return (EAttribute)reportSetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReportSet_Configuration() {
+ return (EReference)reportSetEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRepository() {
+ return repositoryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRepository_Releases() {
+ return (EReference)repositoryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRepository_Snapshots() {
+ return (EReference)repositoryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRepository_Id() {
+ return (EAttribute)repositoryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRepository_Name() {
+ return (EAttribute)repositoryEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRepository_Url() {
+ return (EAttribute)repositoryEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRepository_Layout() {
+ return (EAttribute)repositoryEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRepositoryPolicy() {
+ return repositoryPolicyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRepositoryPolicy_Enabled() {
+ return (EAttribute)repositoryPolicyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRepositoryPolicy_UpdatePolicy() {
+ return (EAttribute)repositoryPolicyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRepositoryPolicy_ChecksumPolicy() {
+ return (EAttribute)repositoryPolicyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getResource() {
+ return resourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResource_TargetPath() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResource_Filtering() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResource_Directory() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResource_Includes() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResource_Excludes() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getScm() {
+ return scmEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScm_Connection() {
+ return (EAttribute)scmEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScm_DeveloperConnection() {
+ return (EAttribute)scmEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScm_Tag() {
+ return (EAttribute)scmEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScm_Url() {
+ return (EAttribute)scmEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSite() {
+ return siteEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSite_Id() {
+ return (EAttribute)siteEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSite_Name() {
+ return (EAttribute)siteEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSite_Url() {
+ return (EAttribute)siteEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPropertyElement() {
+ return propertyElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPropertyElement_Name() {
+ return (EAttribute)propertyElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPropertyElement_Value() {
+ return (EAttribute)propertyElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfiguration() {
+ return configurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public PomFactory getPomFactory() {
+ return (PomFactory)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
+ activationEClass = createEClass(ACTIVATION);
+ createEAttribute(activationEClass, ACTIVATION__ACTIVE_BY_DEFAULT);
+ createEAttribute(activationEClass, ACTIVATION__JDK);
+ createEReference(activationEClass, ACTIVATION__OS);
+ createEReference(activationEClass, ACTIVATION__PROPERTY);
+ createEReference(activationEClass, ACTIVATION__FILE);
+
+ activationFileEClass = createEClass(ACTIVATION_FILE);
+ createEAttribute(activationFileEClass, ACTIVATION_FILE__MISSING);
+ createEAttribute(activationFileEClass, ACTIVATION_FILE__EXISTS);
+
+ activationOSEClass = createEClass(ACTIVATION_OS);
+ createEAttribute(activationOSEClass, ACTIVATION_OS__NAME);
+ createEAttribute(activationOSEClass, ACTIVATION_OS__FAMILY);
+ createEAttribute(activationOSEClass, ACTIVATION_OS__ARCH);
+ createEAttribute(activationOSEClass, ACTIVATION_OS__VERSION);
+
+ activationPropertyEClass = createEClass(ACTIVATION_PROPERTY);
+ createEAttribute(activationPropertyEClass, ACTIVATION_PROPERTY__NAME);
+ createEAttribute(activationPropertyEClass, ACTIVATION_PROPERTY__VALUE);
+
+ buildEClass = createEClass(BUILD);
+ createEAttribute(buildEClass, BUILD__SOURCE_DIRECTORY);
+ createEAttribute(buildEClass, BUILD__SCRIPT_SOURCE_DIRECTORY);
+ createEAttribute(buildEClass, BUILD__TEST_SOURCE_DIRECTORY);
+ createEAttribute(buildEClass, BUILD__OUTPUT_DIRECTORY);
+ createEAttribute(buildEClass, BUILD__TEST_OUTPUT_DIRECTORY);
+ createEReference(buildEClass, BUILD__EXTENSIONS);
+
+ buildBaseEClass = createEClass(BUILD_BASE);
+ createEAttribute(buildBaseEClass, BUILD_BASE__DEFAULT_GOAL);
+ createEReference(buildBaseEClass, BUILD_BASE__RESOURCES);
+ createEReference(buildBaseEClass, BUILD_BASE__TEST_RESOURCES);
+ createEAttribute(buildBaseEClass, BUILD_BASE__DIRECTORY);
+ createEAttribute(buildBaseEClass, BUILD_BASE__FINAL_NAME);
+ createEReference(buildBaseEClass, BUILD_BASE__PLUGIN_MANAGEMENT);
+ createEReference(buildBaseEClass, BUILD_BASE__PLUGINS);
+ createEAttribute(buildBaseEClass, BUILD_BASE__FILTERS);
+
+ ciManagementEClass = createEClass(CI_MANAGEMENT);
+ createEAttribute(ciManagementEClass, CI_MANAGEMENT__SYSTEM);
+ createEAttribute(ciManagementEClass, CI_MANAGEMENT__URL);
+ createEReference(ciManagementEClass, CI_MANAGEMENT__NOTIFIERS);
+
+ contributorEClass = createEClass(CONTRIBUTOR);
+ createEAttribute(contributorEClass, CONTRIBUTOR__NAME);
+ createEAttribute(contributorEClass, CONTRIBUTOR__EMAIL);
+ createEAttribute(contributorEClass, CONTRIBUTOR__URL);
+ createEAttribute(contributorEClass, CONTRIBUTOR__ORGANIZATION);
+ createEAttribute(contributorEClass, CONTRIBUTOR__ORGANIZATION_URL);
+ createEAttribute(contributorEClass, CONTRIBUTOR__TIMEZONE);
+ createEReference(contributorEClass, CONTRIBUTOR__PROPERTIES);
+ createEAttribute(contributorEClass, CONTRIBUTOR__ROLES);
+
+ dependencyEClass = createEClass(DEPENDENCY);
+ createEAttribute(dependencyEClass, DEPENDENCY__GROUP_ID);
+ createEAttribute(dependencyEClass, DEPENDENCY__ARTIFACT_ID);
+ createEAttribute(dependencyEClass, DEPENDENCY__VERSION);
+ createEAttribute(dependencyEClass, DEPENDENCY__TYPE);
+ createEAttribute(dependencyEClass, DEPENDENCY__CLASSIFIER);
+ createEAttribute(dependencyEClass, DEPENDENCY__SCOPE);
+ createEAttribute(dependencyEClass, DEPENDENCY__SYSTEM_PATH);
+ createEReference(dependencyEClass, DEPENDENCY__EXCLUSIONS);
+ createEAttribute(dependencyEClass, DEPENDENCY__OPTIONAL);
+
+ dependencyManagementEClass = createEClass(DEPENDENCY_MANAGEMENT);
+ createEReference(dependencyManagementEClass, DEPENDENCY_MANAGEMENT__DEPENDENCIES);
+
+ deploymentRepositoryEClass = createEClass(DEPLOYMENT_REPOSITORY);
+ createEAttribute(deploymentRepositoryEClass, DEPLOYMENT_REPOSITORY__UNIQUE_VERSION);
+ createEAttribute(deploymentRepositoryEClass, DEPLOYMENT_REPOSITORY__ID);
+ createEAttribute(deploymentRepositoryEClass, DEPLOYMENT_REPOSITORY__NAME);
+ createEAttribute(deploymentRepositoryEClass, DEPLOYMENT_REPOSITORY__URL);
+ createEAttribute(deploymentRepositoryEClass, DEPLOYMENT_REPOSITORY__LAYOUT);
+
+ developerEClass = createEClass(DEVELOPER);
+ createEAttribute(developerEClass, DEVELOPER__ID);
+ createEAttribute(developerEClass, DEVELOPER__NAME);
+ createEAttribute(developerEClass, DEVELOPER__EMAIL);
+ createEAttribute(developerEClass, DEVELOPER__URL);
+ createEAttribute(developerEClass, DEVELOPER__ORGANIZATION);
+ createEAttribute(developerEClass, DEVELOPER__ORGANIZATION_URL);
+ createEAttribute(developerEClass, DEVELOPER__TIMEZONE);
+ createEReference(developerEClass, DEVELOPER__PROPERTIES);
+ createEAttribute(developerEClass, DEVELOPER__ROLES);
+
+ distributionManagementEClass = createEClass(DISTRIBUTION_MANAGEMENT);
+ createEReference(distributionManagementEClass, DISTRIBUTION_MANAGEMENT__REPOSITORY);
+ createEReference(distributionManagementEClass, DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY);
+ createEReference(distributionManagementEClass, DISTRIBUTION_MANAGEMENT__SITE);
+ createEAttribute(distributionManagementEClass, DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL);
+ createEReference(distributionManagementEClass, DISTRIBUTION_MANAGEMENT__RELOCATION);
+ createEAttribute(distributionManagementEClass, DISTRIBUTION_MANAGEMENT__STATUS);
+
+ documentRootEClass = createEClass(DOCUMENT_ROOT);
+ createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__PROJECT);
+
+ exclusionEClass = createEClass(EXCLUSION);
+ createEAttribute(exclusionEClass, EXCLUSION__ARTIFACT_ID);
+ createEAttribute(exclusionEClass, EXCLUSION__GROUP_ID);
+
+ extensionEClass = createEClass(EXTENSION);
+ createEAttribute(extensionEClass, EXTENSION__GROUP_ID);
+ createEAttribute(extensionEClass, EXTENSION__ARTIFACT_ID);
+ createEAttribute(extensionEClass, EXTENSION__VERSION);
+
+ issueManagementEClass = createEClass(ISSUE_MANAGEMENT);
+ createEAttribute(issueManagementEClass, ISSUE_MANAGEMENT__SYSTEM);
+ createEAttribute(issueManagementEClass, ISSUE_MANAGEMENT__URL);
+
+ licenseEClass = createEClass(LICENSE);
+ createEAttribute(licenseEClass, LICENSE__NAME);
+ createEAttribute(licenseEClass, LICENSE__URL);
+ createEAttribute(licenseEClass, LICENSE__DISTRIBUTION);
+ createEAttribute(licenseEClass, LICENSE__COMMENTS);
+
+ mailingListEClass = createEClass(MAILING_LIST);
+ createEAttribute(mailingListEClass, MAILING_LIST__NAME);
+ createEAttribute(mailingListEClass, MAILING_LIST__SUBSCRIBE);
+ createEAttribute(mailingListEClass, MAILING_LIST__UNSUBSCRIBE);
+ createEAttribute(mailingListEClass, MAILING_LIST__POST);
+ createEAttribute(mailingListEClass, MAILING_LIST__ARCHIVE);
+ createEAttribute(mailingListEClass, MAILING_LIST__OTHER_ARCHIVES);
+
+ modelEClass = createEClass(MODEL);
+ createEReference(modelEClass, MODEL__PARENT);
+ createEAttribute(modelEClass, MODEL__MODEL_VERSION);
+ createEAttribute(modelEClass, MODEL__GROUP_ID);
+ createEAttribute(modelEClass, MODEL__ARTIFACT_ID);
+ createEAttribute(modelEClass, MODEL__PACKAGING);
+ createEAttribute(modelEClass, MODEL__NAME);
+ createEAttribute(modelEClass, MODEL__VERSION);
+ createEAttribute(modelEClass, MODEL__DESCRIPTION);
+ createEAttribute(modelEClass, MODEL__URL);
+ createEReference(modelEClass, MODEL__PREREQUISITES);
+ createEReference(modelEClass, MODEL__ISSUE_MANAGEMENT);
+ createEReference(modelEClass, MODEL__CI_MANAGEMENT);
+ createEAttribute(modelEClass, MODEL__INCEPTION_YEAR);
+ createEReference(modelEClass, MODEL__MAILING_LISTS);
+ createEReference(modelEClass, MODEL__DEVELOPERS);
+ createEReference(modelEClass, MODEL__CONTRIBUTORS);
+ createEReference(modelEClass, MODEL__LICENSES);
+ createEReference(modelEClass, MODEL__SCM);
+ createEReference(modelEClass, MODEL__ORGANIZATION);
+ createEReference(modelEClass, MODEL__BUILD);
+ createEReference(modelEClass, MODEL__PROFILES);
+ createEReference(modelEClass, MODEL__REPOSITORIES);
+ createEReference(modelEClass, MODEL__PLUGIN_REPOSITORIES);
+ createEReference(modelEClass, MODEL__DEPENDENCIES);
+ createEReference(modelEClass, MODEL__REPORTING);
+ createEReference(modelEClass, MODEL__DEPENDENCY_MANAGEMENT);
+ createEReference(modelEClass, MODEL__DISTRIBUTION_MANAGEMENT);
+ createEReference(modelEClass, MODEL__PROPERTIES);
+ createEAttribute(modelEClass, MODEL__MODULES);
+
+ notifierEClass = createEClass(NOTIFIER);
+ createEAttribute(notifierEClass, NOTIFIER__TYPE);
+ createEAttribute(notifierEClass, NOTIFIER__SEND_ON_ERROR);
+ createEAttribute(notifierEClass, NOTIFIER__SEND_ON_FAILURE);
+ createEAttribute(notifierEClass, NOTIFIER__SEND_ON_SUCCESS);
+ createEAttribute(notifierEClass, NOTIFIER__SEND_ON_WARNING);
+ createEAttribute(notifierEClass, NOTIFIER__ADDRESS);
+ createEReference(notifierEClass, NOTIFIER__CONFIGURATION);
+
+ organizationEClass = createEClass(ORGANIZATION);
+ createEAttribute(organizationEClass, ORGANIZATION__NAME);
+ createEAttribute(organizationEClass, ORGANIZATION__URL);
+
+ parentEClass = createEClass(PARENT);
+ createEAttribute(parentEClass, PARENT__ARTIFACT_ID);
+ createEAttribute(parentEClass, PARENT__GROUP_ID);
+ createEAttribute(parentEClass, PARENT__VERSION);
+ createEAttribute(parentEClass, PARENT__RELATIVE_PATH);
+
+ pluginEClass = createEClass(PLUGIN);
+ createEAttribute(pluginEClass, PLUGIN__GROUP_ID);
+ createEAttribute(pluginEClass, PLUGIN__ARTIFACT_ID);
+ createEAttribute(pluginEClass, PLUGIN__VERSION);
+ createEAttribute(pluginEClass, PLUGIN__EXTENSIONS);
+ createEReference(pluginEClass, PLUGIN__EXECUTIONS);
+ createEReference(pluginEClass, PLUGIN__DEPENDENCIES);
+ createEAttribute(pluginEClass, PLUGIN__INHERITED);
+ createEReference(pluginEClass, PLUGIN__CONFIGURATION);
+
+ pluginExecutionEClass = createEClass(PLUGIN_EXECUTION);
+ createEAttribute(pluginExecutionEClass, PLUGIN_EXECUTION__ID);
+ createEAttribute(pluginExecutionEClass, PLUGIN_EXECUTION__PHASE);
+ createEAttribute(pluginExecutionEClass, PLUGIN_EXECUTION__INHERITED);
+ createEAttribute(pluginExecutionEClass, PLUGIN_EXECUTION__GOALS);
+ createEReference(pluginExecutionEClass, PLUGIN_EXECUTION__CONFIGURATION);
+
+ pluginManagementEClass = createEClass(PLUGIN_MANAGEMENT);
+ createEReference(pluginManagementEClass, PLUGIN_MANAGEMENT__PLUGINS);
+
+ prerequisitesEClass = createEClass(PREREQUISITES);
+ createEAttribute(prerequisitesEClass, PREREQUISITES__MAVEN);
+
+ profileEClass = createEClass(PROFILE);
+ createEAttribute(profileEClass, PROFILE__ID);
+ createEReference(profileEClass, PROFILE__ACTIVATION);
+ createEReference(profileEClass, PROFILE__BUILD);
+ createEReference(profileEClass, PROFILE__REPOSITORIES);
+ createEReference(profileEClass, PROFILE__PLUGIN_REPOSITORIES);
+ createEReference(profileEClass, PROFILE__DEPENDENCIES);
+ createEReference(profileEClass, PROFILE__REPORTS);
+ createEReference(profileEClass, PROFILE__DEPENDENCY_MANAGEMENT);
+ createEReference(profileEClass, PROFILE__DISTRIBUTION_MANAGEMENT);
+ createEReference(profileEClass, PROFILE__PROPERTIES);
+ createEAttribute(profileEClass, PROFILE__MODULES);
+ createEReference(profileEClass, PROFILE__REPORTING);
+
+ relocationEClass = createEClass(RELOCATION);
+ createEAttribute(relocationEClass, RELOCATION__GROUP_ID);
+ createEAttribute(relocationEClass, RELOCATION__ARTIFACT_ID);
+ createEAttribute(relocationEClass, RELOCATION__VERSION);
+ createEAttribute(relocationEClass, RELOCATION__MESSAGE);
+
+ reportingEClass = createEClass(REPORTING);
+ createEAttribute(reportingEClass, REPORTING__EXCLUDE_DEFAULTS);
+ createEAttribute(reportingEClass, REPORTING__OUTPUT_DIRECTORY);
+ createEReference(reportingEClass, REPORTING__PLUGINS);
+
+ reportPluginEClass = createEClass(REPORT_PLUGIN);
+ createEAttribute(reportPluginEClass, REPORT_PLUGIN__GROUP_ID);
+ createEAttribute(reportPluginEClass, REPORT_PLUGIN__ARTIFACT_ID);
+ createEAttribute(reportPluginEClass, REPORT_PLUGIN__VERSION);
+ createEAttribute(reportPluginEClass, REPORT_PLUGIN__INHERITED);
+ createEReference(reportPluginEClass, REPORT_PLUGIN__REPORT_SETS);
+ createEReference(reportPluginEClass, REPORT_PLUGIN__CONFIGURATION);
+
+ reportSetEClass = createEClass(REPORT_SET);
+ createEAttribute(reportSetEClass, REPORT_SET__ID);
+ createEAttribute(reportSetEClass, REPORT_SET__INHERITED);
+ createEAttribute(reportSetEClass, REPORT_SET__REPORTS);
+ createEReference(reportSetEClass, REPORT_SET__CONFIGURATION);
+
+ repositoryEClass = createEClass(REPOSITORY);
+ createEReference(repositoryEClass, REPOSITORY__RELEASES);
+ createEReference(repositoryEClass, REPOSITORY__SNAPSHOTS);
+ createEAttribute(repositoryEClass, REPOSITORY__ID);
+ createEAttribute(repositoryEClass, REPOSITORY__NAME);
+ createEAttribute(repositoryEClass, REPOSITORY__URL);
+ createEAttribute(repositoryEClass, REPOSITORY__LAYOUT);
+
+ repositoryPolicyEClass = createEClass(REPOSITORY_POLICY);
+ createEAttribute(repositoryPolicyEClass, REPOSITORY_POLICY__ENABLED);
+ createEAttribute(repositoryPolicyEClass, REPOSITORY_POLICY__UPDATE_POLICY);
+ createEAttribute(repositoryPolicyEClass, REPOSITORY_POLICY__CHECKSUM_POLICY);
+
+ resourceEClass = createEClass(RESOURCE);
+ createEAttribute(resourceEClass, RESOURCE__TARGET_PATH);
+ createEAttribute(resourceEClass, RESOURCE__FILTERING);
+ createEAttribute(resourceEClass, RESOURCE__DIRECTORY);
+ createEAttribute(resourceEClass, RESOURCE__INCLUDES);
+ createEAttribute(resourceEClass, RESOURCE__EXCLUDES);
+
+ scmEClass = createEClass(SCM);
+ createEAttribute(scmEClass, SCM__CONNECTION);
+ createEAttribute(scmEClass, SCM__DEVELOPER_CONNECTION);
+ createEAttribute(scmEClass, SCM__TAG);
+ createEAttribute(scmEClass, SCM__URL);
+
+ siteEClass = createEClass(SITE);
+ createEAttribute(siteEClass, SITE__ID);
+ createEAttribute(siteEClass, SITE__NAME);
+ createEAttribute(siteEClass, SITE__URL);
+
+ propertyElementEClass = createEClass(PROPERTY_ELEMENT);
+ createEAttribute(propertyElementEClass, PROPERTY_ELEMENT__NAME);
+ createEAttribute(propertyElementEClass, PROPERTY_ELEMENT__VALUE);
+
+ configurationEClass = createEClass(CONFIGURATION);
+ }
+
+ /**
+ * <!-- 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
+ buildEClass.getESuperTypes().add(this.getBuildBase());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(activationEClass, Activation.class, "Activation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getActivation_ActiveByDefault(), theXMLTypePackage.getString(), "activeByDefault", "false", 0, 1, Activation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getActivation_Jdk(), theXMLTypePackage.getString(), "jdk", null, 0, 1, Activation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getActivation_Os(), this.getActivationOS(), null, "os", null, 0, 1, Activation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getActivation_Property(), this.getActivationProperty(), null, "property", null, 0, 1, Activation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getActivation_File(), this.getActivationFile(), null, "file", null, 0, 1, Activation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(activationFileEClass, ActivationFile.class, "ActivationFile", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getActivationFile_Missing(), theXMLTypePackage.getString(), "missing", null, 0, 1, ActivationFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getActivationFile_Exists(), theXMLTypePackage.getString(), "exists", null, 0, 1, ActivationFile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(activationOSEClass, ActivationOS.class, "ActivationOS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getActivationOS_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, ActivationOS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getActivationOS_Family(), theXMLTypePackage.getString(), "family", null, 0, 1, ActivationOS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getActivationOS_Arch(), theXMLTypePackage.getString(), "arch", null, 0, 1, ActivationOS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getActivationOS_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, ActivationOS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(activationPropertyEClass, ActivationProperty.class, "ActivationProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getActivationProperty_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, ActivationProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getActivationProperty_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, ActivationProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(buildEClass, Build.class, "Build", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBuild_SourceDirectory(), theXMLTypePackage.getString(), "sourceDirectory", null, 0, 1, Build.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBuild_ScriptSourceDirectory(), theXMLTypePackage.getString(), "scriptSourceDirectory", null, 0, 1, Build.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBuild_TestSourceDirectory(), theXMLTypePackage.getString(), "testSourceDirectory", null, 0, 1, Build.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBuild_OutputDirectory(), theXMLTypePackage.getString(), "outputDirectory", null, 0, 1, Build.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBuild_TestOutputDirectory(), theXMLTypePackage.getString(), "testOutputDirectory", null, 0, 1, Build.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBuild_Extensions(), this.getExtension(), null, "extensions", null, 0, -1, Build.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(buildBaseEClass, BuildBase.class, "BuildBase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBuildBase_DefaultGoal(), theXMLTypePackage.getString(), "defaultGoal", null, 0, 1, BuildBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBuildBase_Resources(), this.getResource(), null, "resources", null, 0, -1, BuildBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBuildBase_TestResources(), this.getResource(), null, "testResources", null, 0, -1, BuildBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBuildBase_Directory(), theXMLTypePackage.getString(), "directory", null, 0, 1, BuildBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBuildBase_FinalName(), theXMLTypePackage.getString(), "finalName", null, 0, 1, BuildBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBuildBase_PluginManagement(), this.getPluginManagement(), null, "pluginManagement", null, 0, 1, BuildBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBuildBase_Plugins(), this.getPlugin(), null, "plugins", null, 0, -1, BuildBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBuildBase_Filters(), theXMLTypePackage.getString(), "filters", null, 0, -1, BuildBase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ciManagementEClass, CiManagement.class, "CiManagement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCiManagement_System(), theXMLTypePackage.getString(), "system", null, 0, 1, CiManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCiManagement_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, CiManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCiManagement_Notifiers(), this.getNotifier(), null, "notifiers", null, 0, -1, CiManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(contributorEClass, Contributor.class, "Contributor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getContributor_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Contributor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getContributor_Email(), theXMLTypePackage.getString(), "email", null, 0, 1, Contributor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getContributor_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, Contributor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getContributor_Organization(), theXMLTypePackage.getString(), "organization", null, 0, 1, Contributor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getContributor_OrganizationUrl(), theXMLTypePackage.getString(), "organizationUrl", null, 0, 1, Contributor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getContributor_Timezone(), theXMLTypePackage.getString(), "timezone", null, 0, 1, Contributor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getContributor_Properties(), this.getPropertyElement(), null, "properties", null, 0, -1, Contributor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getContributor_Roles(), theXMLTypePackage.getString(), "roles", null, 0, -1, Contributor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(dependencyEClass, Dependency.class, "Dependency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDependency_GroupId(), theXMLTypePackage.getString(), "groupId", null, 0, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDependency_ArtifactId(), theXMLTypePackage.getString(), "artifactId", null, 0, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDependency_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDependency_Type(), theXMLTypePackage.getString(), "type", null, 0, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDependency_Classifier(), theXMLTypePackage.getString(), "classifier", null, 0, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDependency_Scope(), theXMLTypePackage.getString(), "scope", null, 0, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDependency_SystemPath(), theXMLTypePackage.getString(), "systemPath", null, 0, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDependency_Exclusions(), this.getExclusion(), null, "exclusions", null, 0, -1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDependency_Optional(), theXMLTypePackage.getString(), "optional", "false", 0, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(dependencyManagementEClass, DependencyManagement.class, "DependencyManagement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDependencyManagement_Dependencies(), this.getDependency(), null, "dependencies", null, 0, -1, DependencyManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(deploymentRepositoryEClass, DeploymentRepository.class, "DeploymentRepository", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDeploymentRepository_UniqueVersion(), theXMLTypePackage.getString(), "uniqueVersion", "true", 0, 1, DeploymentRepository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeploymentRepository_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, DeploymentRepository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeploymentRepository_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, DeploymentRepository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeploymentRepository_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, DeploymentRepository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeploymentRepository_Layout(), theXMLTypePackage.getString(), "layout", null, 0, 1, DeploymentRepository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(developerEClass, Developer.class, "Developer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDeveloper_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Developer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeveloper_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Developer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeveloper_Email(), theXMLTypePackage.getString(), "email", null, 0, 1, Developer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeveloper_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, Developer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeveloper_Organization(), theXMLTypePackage.getString(), "organization", null, 0, 1, Developer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeveloper_OrganizationUrl(), theXMLTypePackage.getString(), "organizationUrl", null, 0, 1, Developer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeveloper_Timezone(), theXMLTypePackage.getString(), "timezone", null, 0, 1, Developer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDeveloper_Properties(), this.getPropertyElement(), null, "properties", null, 0, -1, Developer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeveloper_Roles(), theXMLTypePackage.getString(), "roles", null, 0, -1, Developer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(distributionManagementEClass, DistributionManagement.class, "DistributionManagement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDistributionManagement_Repository(), this.getDeploymentRepository(), null, "repository", null, 0, 1, DistributionManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDistributionManagement_SnapshotRepository(), this.getDeploymentRepository(), null, "snapshotRepository", null, 0, 1, DistributionManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDistributionManagement_Site(), this.getSite(), null, "site", null, 0, 1, DistributionManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDistributionManagement_DownloadUrl(), theXMLTypePackage.getString(), "downloadUrl", null, 0, 1, DistributionManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDistributionManagement_Relocation(), this.getRelocation(), null, "relocation", null, 0, 1, DistributionManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDistributionManagement_Status(), theXMLTypePackage.getString(), "status", null, 0, 1, DistributionManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_Project(), this.getModel(), null, "project", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+ initEClass(exclusionEClass, Exclusion.class, "Exclusion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getExclusion_ArtifactId(), theXMLTypePackage.getString(), "artifactId", null, 0, 1, Exclusion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExclusion_GroupId(), theXMLTypePackage.getString(), "groupId", null, 0, 1, Exclusion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(extensionEClass, Extension.class, "Extension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getExtension_GroupId(), theXMLTypePackage.getString(), "groupId", null, 0, 1, Extension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExtension_ArtifactId(), theXMLTypePackage.getString(), "artifactId", null, 0, 1, Extension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExtension_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, Extension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(issueManagementEClass, IssueManagement.class, "IssueManagement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getIssueManagement_System(), theXMLTypePackage.getString(), "system", null, 0, 1, IssueManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getIssueManagement_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, IssueManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(licenseEClass, License.class, "License", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getLicense_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, License.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLicense_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, License.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLicense_Distribution(), theXMLTypePackage.getString(), "distribution", null, 0, 1, License.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLicense_Comments(), theXMLTypePackage.getString(), "comments", null, 0, 1, License.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(mailingListEClass, MailingList.class, "MailingList", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMailingList_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, MailingList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMailingList_Subscribe(), theXMLTypePackage.getString(), "subscribe", null, 0, 1, MailingList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMailingList_Unsubscribe(), theXMLTypePackage.getString(), "unsubscribe", null, 0, 1, MailingList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMailingList_Post(), theXMLTypePackage.getString(), "post", null, 0, 1, MailingList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMailingList_Archive(), theXMLTypePackage.getString(), "archive", null, 0, 1, MailingList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMailingList_OtherArchives(), ecorePackage.getEString(), "otherArchives", null, 0, -1, MailingList.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getModel_Parent(), this.getParent(), null, "parent", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_ModelVersion(), theXMLTypePackage.getString(), "modelVersion", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_GroupId(), theXMLTypePackage.getString(), "groupId", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_ArtifactId(), theXMLTypePackage.getString(), "artifactId", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_Packaging(), theXMLTypePackage.getString(), "packaging", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_Description(), theXMLTypePackage.getString(), "description", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Prerequisites(), this.getPrerequisites(), null, "prerequisites", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_IssueManagement(), this.getIssueManagement(), null, "issueManagement", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_CiManagement(), this.getCiManagement(), null, "ciManagement", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_InceptionYear(), theXMLTypePackage.getString(), "inceptionYear", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_MailingLists(), this.getMailingList(), null, "mailingLists", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Developers(), this.getDeveloper(), null, "developers", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Contributors(), this.getContributor(), null, "contributors", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Licenses(), this.getLicense(), null, "licenses", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Scm(), this.getScm(), null, "scm", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Organization(), this.getOrganization(), null, "organization", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Build(), this.getBuild(), null, "build", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Profiles(), this.getProfile(), null, "profiles", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Repositories(), this.getRepository(), null, "repositories", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_PluginRepositories(), this.getRepository(), null, "pluginRepositories", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Dependencies(), this.getDependency(), null, "dependencies", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Reporting(), this.getReporting(), null, "reporting", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_DependencyManagement(), this.getDependencyManagement(), null, "dependencyManagement", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_DistributionManagement(), this.getDistributionManagement(), null, "distributionManagement", null, 0, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_Properties(), this.getPropertyElement(), null, "properties", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getModel_Modules(), theXMLTypePackage.getString(), "modules", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(notifierEClass, Notifier.class, "Notifier", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNotifier_Type(), theXMLTypePackage.getString(), "type", null, 0, 1, Notifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNotifier_SendOnError(), theXMLTypePackage.getString(), "sendOnError", "true", 0, 1, Notifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNotifier_SendOnFailure(), theXMLTypePackage.getString(), "sendOnFailure", "true", 0, 1, Notifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNotifier_SendOnSuccess(), theXMLTypePackage.getString(), "sendOnSuccess", "true", 0, 1, Notifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNotifier_SendOnWarning(), theXMLTypePackage.getString(), "sendOnWarning", "true", 0, 1, Notifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNotifier_Address(), theXMLTypePackage.getString(), "address", null, 0, 1, Notifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getNotifier_Configuration(), this.getPropertyElement(), null, "configuration", null, 0, -1, Notifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(organizationEClass, Organization.class, "Organization", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOrganization_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Organization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOrganization_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, Organization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(parentEClass, Parent.class, "Parent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getParent_ArtifactId(), theXMLTypePackage.getString(), "artifactId", null, 0, 1, Parent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getParent_GroupId(), theXMLTypePackage.getString(), "groupId", null, 0, 1, Parent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getParent_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, Parent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getParent_RelativePath(), theXMLTypePackage.getString(), "relativePath", null, 0, 1, Parent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pluginEClass, Plugin.class, "Plugin", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPlugin_GroupId(), theXMLTypePackage.getString(), "groupId", null, 0, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPlugin_ArtifactId(), theXMLTypePackage.getString(), "artifactId", null, 0, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPlugin_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPlugin_Extensions(), theXMLTypePackage.getString(), "extensions", "false", 0, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPlugin_Executions(), this.getPluginExecution(), null, "executions", null, 0, -1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPlugin_Dependencies(), this.getDependency(), null, "dependencies", null, 0, -1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPlugin_Inherited(), theXMLTypePackage.getString(), "inherited", null, 0, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPlugin_Configuration(), this.getConfiguration(), null, "configuration", null, 0, 1, Plugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pluginExecutionEClass, PluginExecution.class, "PluginExecution", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPluginExecution_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, PluginExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPluginExecution_Phase(), theXMLTypePackage.getString(), "phase", null, 0, 1, PluginExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPluginExecution_Inherited(), theXMLTypePackage.getString(), "inherited", null, 0, 1, PluginExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPluginExecution_Goals(), theXMLTypePackage.getString(), "goals", null, 0, -1, PluginExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPluginExecution_Configuration(), this.getConfiguration(), null, "configuration", null, 0, 1, PluginExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pluginManagementEClass, PluginManagement.class, "PluginManagement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPluginManagement_Plugins(), this.getPlugin(), null, "plugins", null, 0, -1, PluginManagement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(prerequisitesEClass, Prerequisites.class, "Prerequisites", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPrerequisites_Maven(), theXMLTypePackage.getString(), "maven", null, 0, 1, Prerequisites.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(profileEClass, Profile.class, "Profile", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getProfile_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_Activation(), this.getActivation(), null, "activation", null, 0, 1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_Build(), this.getBuildBase(), null, "build", null, 0, 1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_Repositories(), this.getRepository(), null, "repositories", null, 0, -1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_PluginRepositories(), this.getRepository(), null, "pluginRepositories", null, 0, -1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_Dependencies(), this.getDependency(), null, "dependencies", null, 0, -1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_Reports(), this.getReportPlugin(), null, "reports", null, 0, -1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_DependencyManagement(), this.getDependencyManagement(), null, "dependencyManagement", null, 0, 1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_DistributionManagement(), this.getDistributionManagement(), null, "distributionManagement", null, 0, 1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_Properties(), this.getPropertyElement(), null, "properties", null, 0, -1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getProfile_Modules(), theXMLTypePackage.getString(), "modules", null, 0, -1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getProfile_Reporting(), this.getReporting(), null, "reporting", null, 0, 1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(relocationEClass, Relocation.class, "Relocation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRelocation_GroupId(), theXMLTypePackage.getString(), "groupId", null, 0, 1, Relocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRelocation_ArtifactId(), theXMLTypePackage.getString(), "artifactId", null, 0, 1, Relocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRelocation_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, Relocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRelocation_Message(), theXMLTypePackage.getString(), "message", null, 0, 1, Relocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(reportingEClass, Reporting.class, "Reporting", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getReporting_ExcludeDefaults(), theXMLTypePackage.getString(), "excludeDefaults", "false", 0, 1, Reporting.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getReporting_OutputDirectory(), theXMLTypePackage.getString(), "outputDirectory", null, 0, 1, Reporting.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getReporting_Plugins(), this.getReportPlugin(), null, "plugins", null, 0, -1, Reporting.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(reportPluginEClass, ReportPlugin.class, "ReportPlugin", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getReportPlugin_GroupId(), theXMLTypePackage.getString(), "groupId", null, 0, 1, ReportPlugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getReportPlugin_ArtifactId(), theXMLTypePackage.getString(), "artifactId", null, 0, 1, ReportPlugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getReportPlugin_Version(), theXMLTypePackage.getString(), "version", null, 0, 1, ReportPlugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getReportPlugin_Inherited(), theXMLTypePackage.getString(), "inherited", null, 0, 1, ReportPlugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getReportPlugin_ReportSets(), this.getReportSet(), null, "reportSets", null, 0, -1, ReportPlugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getReportPlugin_Configuration(), this.getConfiguration(), null, "configuration", null, 0, 1, ReportPlugin.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(reportSetEClass, ReportSet.class, "ReportSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getReportSet_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, ReportSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getReportSet_Inherited(), theXMLTypePackage.getString(), "inherited", null, 0, 1, ReportSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getReportSet_Reports(), theXMLTypePackage.getString(), "reports", null, 0, -1, ReportSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getReportSet_Configuration(), this.getConfiguration(), null, "configuration", null, 0, 1, ReportSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(repositoryEClass, Repository.class, "Repository", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRepository_Releases(), this.getRepositoryPolicy(), null, "releases", null, 0, 1, Repository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRepository_Snapshots(), this.getRepositoryPolicy(), null, "snapshots", null, 0, 1, Repository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRepository_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Repository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRepository_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Repository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRepository_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, Repository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRepository_Layout(), theXMLTypePackage.getString(), "layout", null, 0, 1, Repository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(repositoryPolicyEClass, RepositoryPolicy.class, "RepositoryPolicy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRepositoryPolicy_Enabled(), theXMLTypePackage.getString(), "enabled", "true", 0, 1, RepositoryPolicy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRepositoryPolicy_UpdatePolicy(), theXMLTypePackage.getString(), "updatePolicy", null, 0, 1, RepositoryPolicy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRepositoryPolicy_ChecksumPolicy(), theXMLTypePackage.getString(), "checksumPolicy", null, 0, 1, RepositoryPolicy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getResource_TargetPath(), theXMLTypePackage.getString(), "targetPath", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResource_Filtering(), theXMLTypePackage.getString(), "filtering", "false", 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResource_Directory(), theXMLTypePackage.getString(), "directory", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResource_Includes(), theXMLTypePackage.getString(), "includes", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResource_Excludes(), theXMLTypePackage.getString(), "excludes", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(scmEClass, Scm.class, "Scm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getScm_Connection(), theXMLTypePackage.getString(), "connection", null, 0, 1, Scm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getScm_DeveloperConnection(), theXMLTypePackage.getString(), "developerConnection", null, 0, 1, Scm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getScm_Tag(), theXMLTypePackage.getString(), "tag", null, 0, 1, Scm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getScm_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, Scm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(siteEClass, Site.class, "Site", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSite_Id(), theXMLTypePackage.getString(), "id", null, 0, 1, Site.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSite_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Site.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSite_Url(), theXMLTypePackage.getString(), "url", null, 0, 1, Site.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(propertyElementEClass, PropertyElement.class, "PropertyElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPropertyElement_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, PropertyElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPropertyElement_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, PropertyElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(configurationEClass, Configuration.class, "Configuration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+ createExtendedMetaDataAnnotations();
+ }
+
+ /**
+ * 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
+ (activationEClass,
+ source,
+ new String[] {
+ "name", "Activation",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getActivation_ActiveByDefault(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "activeByDefault",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getActivation_Jdk(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "jdk",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getActivation_Os(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "os",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getActivation_Property(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "property",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getActivation_File(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "file",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (activationFileEClass,
+ source,
+ new String[] {
+ "name", "ActivationFile",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getActivationFile_Missing(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "missing",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getActivationFile_Exists(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "exists",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (activationOSEClass,
+ source,
+ new String[] {
+ "name", "ActivationOS",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getActivationOS_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getActivationOS_Family(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "family",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getActivationOS_Arch(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "arch",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getActivationOS_Version(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "version",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (activationPropertyEClass,
+ source,
+ new String[] {
+ "name", "ActivationProperty",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getActivationProperty_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getActivationProperty_Value(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "value",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (buildEClass,
+ source,
+ new String[] {
+ "name", "Build",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getBuild_SourceDirectory(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "sourceDirectory",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuild_ScriptSourceDirectory(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "scriptSourceDirectory",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuild_TestSourceDirectory(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "testSourceDirectory",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuild_OutputDirectory(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "outputDirectory",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuild_TestOutputDirectory(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "testOutputDirectory",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuild_Extensions(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "extensions",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (buildBaseEClass,
+ source,
+ new String[] {
+ "name", "BuildBase",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getBuildBase_DefaultGoal(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "defaultGoal",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuildBase_Resources(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "resources",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuildBase_TestResources(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "testResources",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuildBase_Directory(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "directory",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuildBase_FinalName(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "finalName",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuildBase_PluginManagement(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "pluginManagement",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getBuildBase_Plugins(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "plugins",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (ciManagementEClass,
+ source,
+ new String[] {
+ "name", "CiManagement",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getCiManagement_System(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "system",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getCiManagement_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getCiManagement_Notifiers(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "notifiers",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (contributorEClass,
+ source,
+ new String[] {
+ "name", "Contributor",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getContributor_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getContributor_Email(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "email",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getContributor_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getContributor_Organization(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "organization",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getContributor_OrganizationUrl(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "organizationUrl",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getContributor_Timezone(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "timezone",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getContributor_Properties(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "properties",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (dependencyEClass,
+ source,
+ new String[] {
+ "name", "Dependency",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getDependency_GroupId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "groupId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDependency_ArtifactId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "artifactId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDependency_Version(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "version",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDependency_Type(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "type",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDependency_Classifier(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "classifier",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDependency_Scope(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "scope",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDependency_SystemPath(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "systemPath",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDependency_Exclusions(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "exclusions",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDependency_Optional(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "optional",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (dependencyManagementEClass,
+ source,
+ new String[] {
+ "name", "DependencyManagement",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getDependencyManagement_Dependencies(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "dependencies",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (deploymentRepositoryEClass,
+ source,
+ new String[] {
+ "name", "DeploymentRepository",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getDeploymentRepository_UniqueVersion(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "uniqueVersion",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeploymentRepository_Id(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "id",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeploymentRepository_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeploymentRepository_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeploymentRepository_Layout(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "layout",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (developerEClass,
+ source,
+ new String[] {
+ "name", "Developer",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getDeveloper_Id(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "id",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeveloper_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeveloper_Email(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "email",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeveloper_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeveloper_Organization(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "organization",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeveloper_OrganizationUrl(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "organizationUrl",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeveloper_Timezone(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "timezone",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDeveloper_Properties(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "properties",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (distributionManagementEClass,
+ source,
+ new String[] {
+ "name", "DistributionManagement",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getDistributionManagement_Repository(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "repository",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDistributionManagement_SnapshotRepository(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "snapshotRepository",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDistributionManagement_Site(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "site",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDistributionManagement_DownloadUrl(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "downloadUrl",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDistributionManagement_Relocation(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "relocation",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDistributionManagement_Status(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "status",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (documentRootEClass,
+ source,
+ new String[] {
+ "name", "",
+ "kind", "mixed"
+ });
+ addAnnotation
+ (getDocumentRoot_Mixed(),
+ source,
+ new String[] {
+ "kind", "elementWildcard",
+ "name", ":mixed"
+ });
+ addAnnotation
+ (getDocumentRoot_XMLNSPrefixMap(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "xmlns:prefix"
+ });
+ addAnnotation
+ (getDocumentRoot_XSISchemaLocation(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "xsi:schemaLocation"
+ });
+ addAnnotation
+ (getDocumentRoot_Project(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "project",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (exclusionEClass,
+ source,
+ new String[] {
+ "name", "Exclusion",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getExclusion_ArtifactId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "artifactId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getExclusion_GroupId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "groupId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (extensionEClass,
+ source,
+ new String[] {
+ "name", "Extension",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getExtension_GroupId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "groupId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getExtension_ArtifactId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "artifactId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getExtension_Version(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "version",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (issueManagementEClass,
+ source,
+ new String[] {
+ "name", "IssueManagement",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getIssueManagement_System(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "system",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getIssueManagement_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (licenseEClass,
+ source,
+ new String[] {
+ "name", "License",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getLicense_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getLicense_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getLicense_Distribution(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "distribution",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getLicense_Comments(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "comments",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (mailingListEClass,
+ source,
+ new String[] {
+ "name", "MailingList",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getMailingList_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getMailingList_Subscribe(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "subscribe",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getMailingList_Unsubscribe(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "unsubscribe",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getMailingList_Post(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "post",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getMailingList_Archive(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "archive",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (modelEClass,
+ source,
+ new String[] {
+ "name", "Model",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getModel_Parent(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "parent",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_ModelVersion(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "modelVersion",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_GroupId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "groupId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_ArtifactId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "artifactId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Packaging(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "packaging",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Version(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "version",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Description(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "description",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Prerequisites(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "prerequisites",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_IssueManagement(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "issueManagement",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_CiManagement(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "ciManagement",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_InceptionYear(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "inceptionYear",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_MailingLists(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "mailingLists",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Developers(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "developers",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Contributors(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "contributors",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Licenses(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "licenses",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Scm(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "scm",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Organization(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "organization",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Build(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "build",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Profiles(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "profiles",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Repositories(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "repositories",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_PluginRepositories(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "pluginRepositories",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Dependencies(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "dependencies",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Reporting(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "reporting",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_DependencyManagement(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "dependencyManagement",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_DistributionManagement(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "distributionManagement",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getModel_Properties(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "properties",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (notifierEClass,
+ source,
+ new String[] {
+ "name", "Notifier",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getNotifier_Type(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "type",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getNotifier_SendOnError(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "sendOnError",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getNotifier_SendOnFailure(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "sendOnFailure",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getNotifier_SendOnSuccess(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "sendOnSuccess",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getNotifier_SendOnWarning(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "sendOnWarning",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getNotifier_Address(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "address",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (organizationEClass,
+ source,
+ new String[] {
+ "name", "Organization",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getOrganization_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getOrganization_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (parentEClass,
+ source,
+ new String[] {
+ "name", "Parent",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getParent_ArtifactId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "artifactId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getParent_GroupId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "groupId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getParent_Version(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "version",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getParent_RelativePath(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "relativePath",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (pluginEClass,
+ source,
+ new String[] {
+ "name", "Plugin",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getPlugin_GroupId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "groupId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getPlugin_ArtifactId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "artifactId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getPlugin_Version(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "version",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getPlugin_Extensions(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "extensions",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getPlugin_Executions(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "executions",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getPlugin_Dependencies(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "dependencies",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getPlugin_Inherited(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "inherited",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (pluginExecutionEClass,
+ source,
+ new String[] {
+ "name", "PluginExecution",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getPluginExecution_Id(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "id",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getPluginExecution_Phase(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "phase",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getPluginExecution_Inherited(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "inherited",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (pluginManagementEClass,
+ source,
+ new String[] {
+ "name", "PluginManagement",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getPluginManagement_Plugins(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "plugins",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (prerequisitesEClass,
+ source,
+ new String[] {
+ "name", "Prerequisites",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getPrerequisites_Maven(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "maven",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (profileEClass,
+ source,
+ new String[] {
+ "name", "Profile",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getProfile_Id(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "id",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getProfile_Activation(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "activation",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getProfile_Build(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "build",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getProfile_Repositories(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "repositories",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getProfile_PluginRepositories(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "pluginRepositories",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getProfile_Dependencies(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "dependencies",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getProfile_Reports(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "reports",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getProfile_DependencyManagement(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "dependencyManagement",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getProfile_DistributionManagement(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "distributionManagement",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getProfile_Properties(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "properties",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (relocationEClass,
+ source,
+ new String[] {
+ "name", "Relocation",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getRelocation_GroupId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "groupId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRelocation_ArtifactId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "artifactId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRelocation_Version(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "version",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRelocation_Message(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "message",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (reportingEClass,
+ source,
+ new String[] {
+ "name", "Reporting",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getReporting_ExcludeDefaults(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "excludeDefaults",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getReporting_OutputDirectory(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "outputDirectory",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getReporting_Plugins(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "plugins",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (reportPluginEClass,
+ source,
+ new String[] {
+ "name", "ReportPlugin",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getReportPlugin_GroupId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "groupId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getReportPlugin_ArtifactId(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "artifactId",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getReportPlugin_Version(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "version",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getReportPlugin_Inherited(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "inherited",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getReportPlugin_ReportSets(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "reportSets",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (reportSetEClass,
+ source,
+ new String[] {
+ "name", "ReportSet",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getReportSet_Id(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "id",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getReportSet_Inherited(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "inherited",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (repositoryEClass,
+ source,
+ new String[] {
+ "name", "Repository",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getRepository_Releases(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "releases",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRepository_Snapshots(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "snapshots",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRepository_Id(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "id",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRepository_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRepository_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRepository_Layout(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "layout",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (repositoryPolicyEClass,
+ source,
+ new String[] {
+ "name", "RepositoryPolicy",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getRepositoryPolicy_Enabled(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "enabled",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRepositoryPolicy_UpdatePolicy(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "updatePolicy",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getRepositoryPolicy_ChecksumPolicy(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "checksumPolicy",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (resourceEClass,
+ source,
+ new String[] {
+ "name", "Resource",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getResource_TargetPath(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "targetPath",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getResource_Filtering(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "filtering",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getResource_Directory(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "directory",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (scmEClass,
+ source,
+ new String[] {
+ "name", "Scm",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getScm_Connection(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "connection",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getScm_DeveloperConnection(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "developerConnection",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getScm_Tag(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "tag",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getScm_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (siteEClass,
+ source,
+ new String[] {
+ "name", "Site",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getSite_Id(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "id",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getSite_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getSite_Url(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "url",
+ "namespace", "##targetNamespace"
+ });
+ }
+
+} // PomPackageImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PrerequisitesImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PrerequisitesImpl.java
new file mode 100644
index 00000000..729fbd98
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PrerequisitesImpl.java
@@ -0,0 +1,214 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Prerequisites;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Prerequisites</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PrerequisitesImpl#getMaven <em>
+ * Maven</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PrerequisitesImpl extends EObjectImpl implements Prerequisites {
+ /**
+ * The default value of the '{@link #getMaven() <em>Maven</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMaven()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAVEN_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMaven() <em>Maven</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMaven()
+ * @generated
+ * @ordered
+ */
+ protected String maven = MAVEN_EDEFAULT;
+
+ /**
+ * This is true if the Maven attribute has been set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean mavenESet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PrerequisitesImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.PREREQUISITES;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getMaven() {
+ return maven;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setMaven(String newMaven) {
+ String oldMaven = maven;
+ maven = newMaven;
+ boolean oldMavenESet = mavenESet;
+ mavenESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PREREQUISITES__MAVEN, oldMaven, maven,
+ !oldMavenESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetMaven() {
+ String oldMaven = maven;
+ boolean oldMavenESet = mavenESet;
+ maven = MAVEN_EDEFAULT;
+ mavenESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.PREREQUISITES__MAVEN, oldMaven, MAVEN_EDEFAULT,
+ oldMavenESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetMaven() {
+ return mavenESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.PREREQUISITES__MAVEN:
+ return getMaven();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.PREREQUISITES__MAVEN:
+ setMaven((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.PREREQUISITES__MAVEN:
+ unsetMaven();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.PREREQUISITES__MAVEN:
+ return isSetMaven();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (maven: "); //$NON-NLS-1$
+ if (mavenESet)
+ result.append(maven);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(')');
+ return result.toString();
+ }
+
+} // PrerequisitesImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ProfileImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ProfileImpl.java
new file mode 100644
index 00000000..3e3555ad
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ProfileImpl.java
@@ -0,0 +1,1233 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Activation;
+import org.eclipse.m2e.model.edit.pom.BuildBase;
+import org.eclipse.m2e.model.edit.pom.Dependency;
+import org.eclipse.m2e.model.edit.pom.DependencyManagement;
+import org.eclipse.m2e.model.edit.pom.DistributionManagement;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Profile;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+import org.eclipse.m2e.model.edit.pom.ReportPlugin;
+import org.eclipse.m2e.model.edit.pom.Reporting;
+import org.eclipse.m2e.model.edit.pom.Repository;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Profile</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getActivation <em>
+ * Activation</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getBuild <em>Build
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getRepositories <em>
+ * Repositories</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getPluginRepositories
+ * <em>Plugin Repositories</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getDependencies <em>
+ * Dependencies</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getReports <em>
+ * Reports</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getDependencyManagement
+ * <em>Dependency Management</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getDistributionManagement
+ * <em>Distribution Management</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getProperties <em>
+ * Properties</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getModules <em>
+ * Modules</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ProfileImpl#getReporting <em>
+ * Reporting</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProfileImpl extends EObjectImpl implements Profile {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getActivation() <em>Activation</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getActivation()
+ * @generated
+ * @ordered
+ */
+ protected Activation activation;
+
+ /**
+ * This is true if the Activation containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean activationESet;
+
+ /**
+ * The cached value of the '{@link #getBuild() <em>Build</em>}' containment
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getBuild()
+ * @generated
+ * @ordered
+ */
+ protected BuildBase build;
+
+ /**
+ * This is true if the Build containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean buildESet;
+
+ /**
+ * The cached value of the '{@link #getRepositories() <em>Repositories</em>}
+ * ' containment reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getRepositories()
+ * @generated
+ * @ordered
+ */
+ protected EList<Repository> repositories;
+
+ /**
+ * The cached value of the '{@link #getPluginRepositories()
+ * <em>Plugin Repositories</em>}' containment reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPluginRepositories()
+ * @generated
+ * @ordered
+ */
+ protected EList<Repository> pluginRepositories;
+
+ /**
+ * The cached value of the '{@link #getDependencies() <em>Dependencies</em>}
+ * ' containment reference list. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @see #getDependencies()
+ * @generated
+ * @ordered
+ */
+ protected EList<Dependency> dependencies;
+
+ /**
+ * The cached value of the '{@link #getReports() <em>Reports</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReports()
+ * @generated
+ * @ordered
+ */
+ protected EList<ReportPlugin> reports;
+
+ /**
+ * The cached value of the '{@link #getDependencyManagement()
+ * <em>Dependency Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDependencyManagement()
+ * @generated
+ * @ordered
+ */
+ protected DependencyManagement dependencyManagement;
+
+ /**
+ * This is true if the Dependency Management containment reference has been
+ * set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean dependencyManagementESet;
+
+ /**
+ * The cached value of the '{@link #getDistributionManagement()
+ * <em>Distribution Management</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDistributionManagement()
+ * @generated
+ * @ordered
+ */
+ protected DistributionManagement distributionManagement;
+
+ /**
+ * This is true if the Distribution Management containment reference has
+ * been set. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean distributionManagementESet;
+
+ /**
+ * The cached value of the '{@link #getProperties() <em>Properties</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<PropertyElement> properties;
+
+ /**
+ * The cached value of the '{@link #getModules() <em>Modules</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getModules()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> modules;
+
+ /**
+ * The cached value of the '{@link #getReporting() <em>Reporting</em>}'
+ * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReporting()
+ * @generated
+ * @ordered
+ */
+ protected Reporting reporting;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ProfileImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.PROFILE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PROFILE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Activation getActivation() {
+ return activation;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetActivation(Activation newActivation,
+ NotificationChain msgs) {
+ Activation oldActivation = activation;
+ activation = newActivation;
+ boolean oldActivationESet = activationESet;
+ activationESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.PROFILE__ACTIVATION,
+ oldActivation, newActivation, !oldActivationESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setActivation(Activation newActivation) {
+ if (newActivation != activation) {
+ NotificationChain msgs = null;
+ if (activation != null)
+ msgs = ((InternalEObject) activation)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.PROFILE__ACTIVATION, null, msgs);
+ if (newActivation != null)
+ msgs = ((InternalEObject) newActivation)
+ .eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.PROFILE__ACTIVATION, null, msgs);
+ msgs = basicSetActivation(newActivation, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldActivationESet = activationESet;
+ activationESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PROFILE__ACTIVATION, newActivation,
+ newActivation, !oldActivationESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetActivation(NotificationChain msgs) {
+ Activation oldActivation = activation;
+ activation = null;
+ boolean oldActivationESet = activationESet;
+ activationESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.PROFILE__ACTIVATION,
+ oldActivation, null, oldActivationESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetActivation() {
+ if (activation != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) activation).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.PROFILE__ACTIVATION,
+ null, msgs);
+ msgs = basicUnsetActivation(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldActivationESet = activationESet;
+ activationESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.PROFILE__ACTIVATION, null, null,
+ oldActivationESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetActivation() {
+ return activationESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BuildBase getBuild() {
+ return build;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetBuild(BuildBase newBuild,
+ NotificationChain msgs) {
+ BuildBase oldBuild = build;
+ build = newBuild;
+ boolean oldBuildESet = buildESet;
+ buildESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.PROFILE__BUILD, oldBuild,
+ newBuild, !oldBuildESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setBuild(BuildBase newBuild) {
+ if (newBuild != build) {
+ NotificationChain msgs = null;
+ if (build != null)
+ msgs = ((InternalEObject) build).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.PROFILE__BUILD,
+ null, msgs);
+ if (newBuild != null)
+ msgs = ((InternalEObject) newBuild).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.PROFILE__BUILD,
+ null, msgs);
+ msgs = basicSetBuild(newBuild, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldBuildESet = buildESet;
+ buildESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PROFILE__BUILD, newBuild, newBuild,
+ !oldBuildESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetBuild(NotificationChain msgs) {
+ BuildBase oldBuild = build;
+ build = null;
+ boolean oldBuildESet = buildESet;
+ buildESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.PROFILE__BUILD, oldBuild,
+ null, oldBuildESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetBuild() {
+ if (build != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) build).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.PROFILE__BUILD, null,
+ msgs);
+ msgs = basicUnsetBuild(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldBuildESet = buildESet;
+ buildESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.PROFILE__BUILD, null, null, oldBuildESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetBuild() {
+ return buildESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Repository> getRepositories() {
+ if (repositories == null) {
+ repositories = new EObjectContainmentEList.Unsettable<Repository>(
+ Repository.class, this, PomPackage.PROFILE__REPOSITORIES);
+ }
+ return repositories;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetRepositories() {
+ if (repositories != null)
+ ((InternalEList.Unsettable<?>) repositories).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetRepositories() {
+ return repositories != null
+ && ((InternalEList.Unsettable<?>) repositories).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Repository> getPluginRepositories() {
+ if (pluginRepositories == null) {
+ pluginRepositories = new EObjectContainmentEList.Unsettable<Repository>(
+ Repository.class, this,
+ PomPackage.PROFILE__PLUGIN_REPOSITORIES);
+ }
+ return pluginRepositories;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetPluginRepositories() {
+ if (pluginRepositories != null)
+ ((InternalEList.Unsettable<?>) pluginRepositories).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetPluginRepositories() {
+ return pluginRepositories != null
+ && ((InternalEList.Unsettable<?>) pluginRepositories).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<Dependency> getDependencies() {
+ if (dependencies == null) {
+ dependencies = new EObjectContainmentEList.Unsettable<Dependency>(
+ Dependency.class, this, PomPackage.PROFILE__DEPENDENCIES);
+ }
+ return dependencies;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetDependencies() {
+ if (dependencies != null)
+ ((InternalEList.Unsettable<?>) dependencies).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetDependencies() {
+ return dependencies != null
+ && ((InternalEList.Unsettable<?>) dependencies).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ReportPlugin> getReports() {
+ if (reports == null) {
+ reports = new EObjectContainmentEList.Unsettable<ReportPlugin>(
+ ReportPlugin.class, this, PomPackage.PROFILE__REPORTS);
+ }
+ return reports;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetReports() {
+ if (reports != null)
+ ((InternalEList.Unsettable<?>) reports).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetReports() {
+ return reports != null
+ && ((InternalEList.Unsettable<?>) reports).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DependencyManagement getDependencyManagement() {
+ return dependencyManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDependencyManagement(
+ DependencyManagement newDependencyManagement, NotificationChain msgs) {
+ DependencyManagement oldDependencyManagement = dependencyManagement;
+ dependencyManagement = newDependencyManagement;
+ boolean oldDependencyManagementESet = dependencyManagementESet;
+ dependencyManagementESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET,
+ PomPackage.PROFILE__DEPENDENCY_MANAGEMENT,
+ oldDependencyManagement, newDependencyManagement,
+ !oldDependencyManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDependencyManagement(
+ DependencyManagement newDependencyManagement) {
+ if (newDependencyManagement != dependencyManagement) {
+ NotificationChain msgs = null;
+ if (dependencyManagement != null)
+ msgs = ((InternalEObject) dependencyManagement).eInverseRemove(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.PROFILE__DEPENDENCY_MANAGEMENT,
+ null, msgs);
+ if (newDependencyManagement != null)
+ msgs = ((InternalEObject) newDependencyManagement).eInverseAdd(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.PROFILE__DEPENDENCY_MANAGEMENT,
+ null, msgs);
+ msgs = basicSetDependencyManagement(newDependencyManagement, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldDependencyManagementESet = dependencyManagementESet;
+ dependencyManagementESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PROFILE__DEPENDENCY_MANAGEMENT,
+ newDependencyManagement, newDependencyManagement,
+ !oldDependencyManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetDependencyManagement(
+ NotificationChain msgs) {
+ DependencyManagement oldDependencyManagement = dependencyManagement;
+ dependencyManagement = null;
+ boolean oldDependencyManagementESet = dependencyManagementESet;
+ dependencyManagementESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET,
+ PomPackage.PROFILE__DEPENDENCY_MANAGEMENT,
+ oldDependencyManagement, null, oldDependencyManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetDependencyManagement() {
+ if (dependencyManagement != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) dependencyManagement).eInverseRemove(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.PROFILE__DEPENDENCY_MANAGEMENT, null,
+ msgs);
+ msgs = basicUnsetDependencyManagement(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldDependencyManagementESet = dependencyManagementESet;
+ dependencyManagementESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.PROFILE__DEPENDENCY_MANAGEMENT, null, null,
+ oldDependencyManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetDependencyManagement() {
+ return dependencyManagementESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DistributionManagement getDistributionManagement() {
+ return distributionManagement;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetDistributionManagement(
+ DistributionManagement newDistributionManagement,
+ NotificationChain msgs) {
+ DistributionManagement oldDistributionManagement = distributionManagement;
+ distributionManagement = newDistributionManagement;
+ boolean oldDistributionManagementESet = distributionManagementESet;
+ distributionManagementESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET,
+ PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT,
+ oldDistributionManagement, newDistributionManagement,
+ !oldDistributionManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDistributionManagement(
+ DistributionManagement newDistributionManagement) {
+ if (newDistributionManagement != distributionManagement) {
+ NotificationChain msgs = null;
+ if (distributionManagement != null)
+ msgs = ((InternalEObject) distributionManagement)
+ .eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT,
+ null, msgs);
+ if (newDistributionManagement != null)
+ msgs = ((InternalEObject) newDistributionManagement)
+ .eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT,
+ null, msgs);
+ msgs = basicSetDistributionManagement(newDistributionManagement,
+ msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldDistributionManagementESet = distributionManagementESet;
+ distributionManagementESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT,
+ newDistributionManagement, newDistributionManagement,
+ !oldDistributionManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetDistributionManagement(
+ NotificationChain msgs) {
+ DistributionManagement oldDistributionManagement = distributionManagement;
+ distributionManagement = null;
+ boolean oldDistributionManagementESet = distributionManagementESet;
+ distributionManagementESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET,
+ PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT,
+ oldDistributionManagement, null,
+ oldDistributionManagementESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetDistributionManagement() {
+ if (distributionManagement != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) distributionManagement).eInverseRemove(
+ this, EOPPOSITE_FEATURE_BASE
+ - PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT,
+ null, msgs);
+ msgs = basicUnsetDistributionManagement(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldDistributionManagementESet = distributionManagementESet;
+ distributionManagementESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT, null,
+ null, oldDistributionManagementESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetDistributionManagement() {
+ return distributionManagementESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<PropertyElement> getProperties() {
+ if (properties == null) {
+ properties = new EObjectContainmentEList.Unsettable<PropertyElement>(
+ PropertyElement.class, this, PomPackage.PROFILE__PROPERTIES);
+ }
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetProperties() {
+ if (properties != null)
+ ((InternalEList.Unsettable<?>) properties).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetProperties() {
+ return properties != null
+ && ((InternalEList.Unsettable<?>) properties).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getModules() {
+ if (modules == null) {
+ modules = new EDataTypeEList<String>(String.class, this,
+ PomPackage.PROFILE__MODULES);
+ }
+ return modules;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Reporting getReporting() {
+ if (reporting != null && reporting.eIsProxy()) {
+ InternalEObject oldReporting = (InternalEObject) reporting;
+ reporting = (Reporting) eResolveProxy(oldReporting);
+ if (reporting != oldReporting) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ PomPackage.PROFILE__REPORTING, oldReporting,
+ reporting));
+ }
+ }
+ return reporting;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Reporting basicGetReporting() {
+ return reporting;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReporting(Reporting newReporting) {
+ Reporting oldReporting = reporting;
+ reporting = newReporting;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PROFILE__REPORTING, oldReporting, reporting));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.PROFILE__ACTIVATION:
+ return basicUnsetActivation(msgs);
+ case PomPackage.PROFILE__BUILD:
+ return basicUnsetBuild(msgs);
+ case PomPackage.PROFILE__REPOSITORIES:
+ return ((InternalEList<?>) getRepositories()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.PROFILE__PLUGIN_REPOSITORIES:
+ return ((InternalEList<?>) getPluginRepositories()).basicRemove(
+ otherEnd, msgs);
+ case PomPackage.PROFILE__DEPENDENCIES:
+ return ((InternalEList<?>) getDependencies()).basicRemove(otherEnd,
+ msgs);
+ case PomPackage.PROFILE__REPORTS:
+ return ((InternalEList<?>) getReports())
+ .basicRemove(otherEnd, msgs);
+ case PomPackage.PROFILE__DEPENDENCY_MANAGEMENT:
+ return basicUnsetDependencyManagement(msgs);
+ case PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT:
+ return basicUnsetDistributionManagement(msgs);
+ case PomPackage.PROFILE__PROPERTIES:
+ return ((InternalEList<?>) getProperties()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.PROFILE__ID:
+ return getId();
+ case PomPackage.PROFILE__ACTIVATION:
+ return getActivation();
+ case PomPackage.PROFILE__BUILD:
+ return getBuild();
+ case PomPackage.PROFILE__REPOSITORIES:
+ return getRepositories();
+ case PomPackage.PROFILE__PLUGIN_REPOSITORIES:
+ return getPluginRepositories();
+ case PomPackage.PROFILE__DEPENDENCIES:
+ return getDependencies();
+ case PomPackage.PROFILE__REPORTS:
+ return getReports();
+ case PomPackage.PROFILE__DEPENDENCY_MANAGEMENT:
+ return getDependencyManagement();
+ case PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT:
+ return getDistributionManagement();
+ case PomPackage.PROFILE__PROPERTIES:
+ return getProperties();
+ case PomPackage.PROFILE__MODULES:
+ return getModules();
+ case PomPackage.PROFILE__REPORTING:
+ if (resolve)
+ return getReporting();
+ return basicGetReporting();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.PROFILE__ID:
+ setId((String) newValue);
+ return;
+ case PomPackage.PROFILE__ACTIVATION:
+ setActivation((Activation) newValue);
+ return;
+ case PomPackage.PROFILE__BUILD:
+ setBuild((BuildBase) newValue);
+ return;
+ case PomPackage.PROFILE__REPOSITORIES:
+ getRepositories().clear();
+ getRepositories().addAll(
+ (Collection<? extends Repository>) newValue);
+ return;
+ case PomPackage.PROFILE__PLUGIN_REPOSITORIES:
+ getPluginRepositories().clear();
+ getPluginRepositories().addAll(
+ (Collection<? extends Repository>) newValue);
+ return;
+ case PomPackage.PROFILE__DEPENDENCIES:
+ getDependencies().clear();
+ getDependencies().addAll(
+ (Collection<? extends Dependency>) newValue);
+ return;
+ case PomPackage.PROFILE__REPORTS:
+ getReports().clear();
+ getReports().addAll((Collection<? extends ReportPlugin>) newValue);
+ return;
+ case PomPackage.PROFILE__DEPENDENCY_MANAGEMENT:
+ setDependencyManagement((DependencyManagement) newValue);
+ return;
+ case PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT:
+ setDistributionManagement((DistributionManagement) newValue);
+ return;
+ case PomPackage.PROFILE__PROPERTIES:
+ getProperties().clear();
+ getProperties().addAll(
+ (Collection<? extends PropertyElement>) newValue);
+ return;
+ case PomPackage.PROFILE__MODULES:
+ getModules().clear();
+ getModules().addAll((Collection<? extends String>) newValue);
+ return;
+ case PomPackage.PROFILE__REPORTING:
+ setReporting((Reporting) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.PROFILE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case PomPackage.PROFILE__ACTIVATION:
+ unsetActivation();
+ return;
+ case PomPackage.PROFILE__BUILD:
+ unsetBuild();
+ return;
+ case PomPackage.PROFILE__REPOSITORIES:
+ unsetRepositories();
+ return;
+ case PomPackage.PROFILE__PLUGIN_REPOSITORIES:
+ unsetPluginRepositories();
+ return;
+ case PomPackage.PROFILE__DEPENDENCIES:
+ unsetDependencies();
+ return;
+ case PomPackage.PROFILE__REPORTS:
+ unsetReports();
+ return;
+ case PomPackage.PROFILE__DEPENDENCY_MANAGEMENT:
+ unsetDependencyManagement();
+ return;
+ case PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT:
+ unsetDistributionManagement();
+ return;
+ case PomPackage.PROFILE__PROPERTIES:
+ unsetProperties();
+ return;
+ case PomPackage.PROFILE__MODULES:
+ getModules().clear();
+ return;
+ case PomPackage.PROFILE__REPORTING:
+ setReporting((Reporting) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.PROFILE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case PomPackage.PROFILE__ACTIVATION:
+ return isSetActivation();
+ case PomPackage.PROFILE__BUILD:
+ return isSetBuild();
+ case PomPackage.PROFILE__REPOSITORIES:
+ return isSetRepositories();
+ case PomPackage.PROFILE__PLUGIN_REPOSITORIES:
+ return isSetPluginRepositories();
+ case PomPackage.PROFILE__DEPENDENCIES:
+ return isSetDependencies();
+ case PomPackage.PROFILE__REPORTS:
+ return isSetReports();
+ case PomPackage.PROFILE__DEPENDENCY_MANAGEMENT:
+ return isSetDependencyManagement();
+ case PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT:
+ return isSetDistributionManagement();
+ case PomPackage.PROFILE__PROPERTIES:
+ return isSetProperties();
+ case PomPackage.PROFILE__MODULES:
+ return modules != null && !modules.isEmpty();
+ case PomPackage.PROFILE__REPORTING:
+ return reporting != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(", modules: "); //$NON-NLS-1$
+ result.append(modules);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ProfileImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PropertyElementImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PropertyElementImpl.java
new file mode 100644
index 00000000..01fb7416
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/PropertyElementImpl.java
@@ -0,0 +1,232 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Property Element</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PropertyElementImpl#getName <em>
+ * Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.PropertyElementImpl#getValue
+ * <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertyElementImpl extends EObjectImpl implements PropertyElement {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PropertyElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.PROPERTY_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PROPERTY_ELEMENT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.PROPERTY_ELEMENT__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.PROPERTY_ELEMENT__NAME:
+ return getName();
+ case PomPackage.PROPERTY_ELEMENT__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.PROPERTY_ELEMENT__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.PROPERTY_ELEMENT__VALUE:
+ setValue((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.PROPERTY_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.PROPERTY_ELEMENT__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.PROPERTY_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.PROPERTY_ELEMENT__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT
+ .equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", value: "); //$NON-NLS-1$
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} // PropertyElementImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RelocationImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RelocationImpl.java
new file mode 100644
index 00000000..56f8d90b
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RelocationImpl.java
@@ -0,0 +1,347 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Relocation;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Relocation</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RelocationImpl#getGroupId <em>
+ * Group Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RelocationImpl#getArtifactId
+ * <em>Artifact Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RelocationImpl#getVersion <em>
+ * Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RelocationImpl#getMessage <em>
+ * Message</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RelocationImpl extends EObjectImpl implements Relocation {
+ /**
+ * The default value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected static final String GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected String groupId = GROUP_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARTIFACT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected String artifactId = ARTIFACT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMessage() <em>Message</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMessage()
+ * @generated
+ * @ordered
+ */
+ protected static final String MESSAGE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMessage() <em>Message</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getMessage()
+ * @generated
+ * @ordered
+ */
+ protected String message = MESSAGE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RelocationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.RELOCATION;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGroupId(String newGroupId) {
+ String oldGroupId = groupId;
+ groupId = newGroupId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.RELOCATION__GROUP_ID, oldGroupId, groupId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArtifactId(String newArtifactId) {
+ String oldArtifactId = artifactId;
+ artifactId = newArtifactId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.RELOCATION__ARTIFACT_ID, oldArtifactId,
+ artifactId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVersion(String newVersion) {
+ String oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.RELOCATION__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setMessage(String newMessage) {
+ String oldMessage = message;
+ message = newMessage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.RELOCATION__MESSAGE, oldMessage, message));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.RELOCATION__GROUP_ID:
+ return getGroupId();
+ case PomPackage.RELOCATION__ARTIFACT_ID:
+ return getArtifactId();
+ case PomPackage.RELOCATION__VERSION:
+ return getVersion();
+ case PomPackage.RELOCATION__MESSAGE:
+ return getMessage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.RELOCATION__GROUP_ID:
+ setGroupId((String) newValue);
+ return;
+ case PomPackage.RELOCATION__ARTIFACT_ID:
+ setArtifactId((String) newValue);
+ return;
+ case PomPackage.RELOCATION__VERSION:
+ setVersion((String) newValue);
+ return;
+ case PomPackage.RELOCATION__MESSAGE:
+ setMessage((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.RELOCATION__GROUP_ID:
+ setGroupId(GROUP_ID_EDEFAULT);
+ return;
+ case PomPackage.RELOCATION__ARTIFACT_ID:
+ setArtifactId(ARTIFACT_ID_EDEFAULT);
+ return;
+ case PomPackage.RELOCATION__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ case PomPackage.RELOCATION__MESSAGE:
+ setMessage(MESSAGE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.RELOCATION__GROUP_ID:
+ return GROUP_ID_EDEFAULT == null ? groupId != null
+ : !GROUP_ID_EDEFAULT.equals(groupId);
+ case PomPackage.RELOCATION__ARTIFACT_ID:
+ return ARTIFACT_ID_EDEFAULT == null ? artifactId != null
+ : !ARTIFACT_ID_EDEFAULT.equals(artifactId);
+ case PomPackage.RELOCATION__VERSION:
+ return VERSION_EDEFAULT == null ? version != null
+ : !VERSION_EDEFAULT.equals(version);
+ case PomPackage.RELOCATION__MESSAGE:
+ return MESSAGE_EDEFAULT == null ? message != null
+ : !MESSAGE_EDEFAULT.equals(message);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (groupId: "); //$NON-NLS-1$
+ result.append(groupId);
+ result.append(", artifactId: "); //$NON-NLS-1$
+ result.append(artifactId);
+ result.append(", version: "); //$NON-NLS-1$
+ result.append(version);
+ result.append(", message: "); //$NON-NLS-1$
+ result.append(message);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RelocationImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportPluginImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportPluginImpl.java
new file mode 100644
index 00000000..af6fd86f
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportPluginImpl.java
@@ -0,0 +1,540 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.Configuration;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.ReportPlugin;
+import org.eclipse.m2e.model.edit.pom.ReportSet;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Report Plugin</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl#getGroupId <em>
+ * Group Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl#getArtifactId
+ * <em>Artifact Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl#getVersion <em>
+ * Version</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl#getInherited
+ * <em>Inherited</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl#getReportSets
+ * <em>Report Sets</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ReportPluginImpl#getConfiguration
+ * <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ReportPluginImpl extends EObjectImpl implements ReportPlugin {
+ /**
+ * The default value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected static final String GROUP_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getGroupId() <em>Group Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getGroupId()
+ * @generated
+ * @ordered
+ */
+ protected String groupId = GROUP_ID_EDEFAULT;
+
+ /**
+ * This is true if the Group Id attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean groupIdESet;
+
+ /**
+ * The default value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARTIFACT_ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArtifactId() <em>Artifact Id</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getArtifactId()
+ * @generated
+ * @ordered
+ */
+ protected String artifactId = ARTIFACT_ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVersion() <em>Version</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getVersion()
+ * @generated
+ * @ordered
+ */
+ protected String version = VERSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInherited() <em>Inherited</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInherited()
+ * @generated
+ * @ordered
+ */
+ protected static final String INHERITED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInherited() <em>Inherited</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInherited()
+ * @generated
+ * @ordered
+ */
+ protected String inherited = INHERITED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getReportSets() <em>Report Sets</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReportSets()
+ * @generated
+ * @ordered
+ */
+ protected EList<ReportSet> reportSets;
+
+ /**
+ * The cached value of the '{@link #getConfiguration()
+ * <em>Configuration</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected Configuration configuration;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReportPluginImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.REPORT_PLUGIN;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getGroupId() {
+ return groupId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setGroupId(String newGroupId) {
+ String oldGroupId = groupId;
+ groupId = newGroupId;
+ boolean oldGroupIdESet = groupIdESet;
+ groupIdESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORT_PLUGIN__GROUP_ID, oldGroupId, groupId,
+ !oldGroupIdESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetGroupId() {
+ String oldGroupId = groupId;
+ boolean oldGroupIdESet = groupIdESet;
+ groupId = GROUP_ID_EDEFAULT;
+ groupIdESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.REPORT_PLUGIN__GROUP_ID, oldGroupId,
+ GROUP_ID_EDEFAULT, oldGroupIdESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetGroupId() {
+ return groupIdESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getArtifactId() {
+ return artifactId;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setArtifactId(String newArtifactId) {
+ String oldArtifactId = artifactId;
+ artifactId = newArtifactId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORT_PLUGIN__ARTIFACT_ID, oldArtifactId,
+ artifactId));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setVersion(String newVersion) {
+ String oldVersion = version;
+ version = newVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORT_PLUGIN__VERSION, oldVersion, version));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getInherited() {
+ return inherited;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setInherited(String newInherited) {
+ String oldInherited = inherited;
+ inherited = newInherited;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORT_PLUGIN__INHERITED, oldInherited,
+ inherited));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ReportSet> getReportSets() {
+ if (reportSets == null) {
+ reportSets = new EObjectContainmentEList.Unsettable<ReportSet>(
+ ReportSet.class, this,
+ PomPackage.REPORT_PLUGIN__REPORT_SETS);
+ }
+ return reportSets;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetReportSets() {
+ if (reportSets != null)
+ ((InternalEList.Unsettable<?>) reportSets).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetReportSets() {
+ return reportSets != null
+ && ((InternalEList.Unsettable<?>) reportSets).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Configuration getConfiguration() {
+ if (configuration != null && configuration.eIsProxy()) {
+ InternalEObject oldConfiguration = (InternalEObject) configuration;
+ configuration = (Configuration) eResolveProxy(oldConfiguration);
+ if (configuration != oldConfiguration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ PomPackage.REPORT_PLUGIN__CONFIGURATION,
+ oldConfiguration, configuration));
+ }
+ }
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Configuration basicGetConfiguration() {
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setConfiguration(Configuration newConfiguration) {
+ Configuration oldConfiguration = configuration;
+ configuration = newConfiguration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORT_PLUGIN__CONFIGURATION, oldConfiguration,
+ configuration));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.REPORT_PLUGIN__REPORT_SETS:
+ return ((InternalEList<?>) getReportSets()).basicRemove(otherEnd,
+ msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.REPORT_PLUGIN__GROUP_ID:
+ return getGroupId();
+ case PomPackage.REPORT_PLUGIN__ARTIFACT_ID:
+ return getArtifactId();
+ case PomPackage.REPORT_PLUGIN__VERSION:
+ return getVersion();
+ case PomPackage.REPORT_PLUGIN__INHERITED:
+ return getInherited();
+ case PomPackage.REPORT_PLUGIN__REPORT_SETS:
+ return getReportSets();
+ case PomPackage.REPORT_PLUGIN__CONFIGURATION:
+ if (resolve)
+ return getConfiguration();
+ return basicGetConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.REPORT_PLUGIN__GROUP_ID:
+ setGroupId((String) newValue);
+ return;
+ case PomPackage.REPORT_PLUGIN__ARTIFACT_ID:
+ setArtifactId((String) newValue);
+ return;
+ case PomPackage.REPORT_PLUGIN__VERSION:
+ setVersion((String) newValue);
+ return;
+ case PomPackage.REPORT_PLUGIN__INHERITED:
+ setInherited((String) newValue);
+ return;
+ case PomPackage.REPORT_PLUGIN__REPORT_SETS:
+ getReportSets().clear();
+ getReportSets().addAll((Collection<? extends ReportSet>) newValue);
+ return;
+ case PomPackage.REPORT_PLUGIN__CONFIGURATION:
+ setConfiguration((Configuration) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPORT_PLUGIN__GROUP_ID:
+ unsetGroupId();
+ return;
+ case PomPackage.REPORT_PLUGIN__ARTIFACT_ID:
+ setArtifactId(ARTIFACT_ID_EDEFAULT);
+ return;
+ case PomPackage.REPORT_PLUGIN__VERSION:
+ setVersion(VERSION_EDEFAULT);
+ return;
+ case PomPackage.REPORT_PLUGIN__INHERITED:
+ setInherited(INHERITED_EDEFAULT);
+ return;
+ case PomPackage.REPORT_PLUGIN__REPORT_SETS:
+ unsetReportSets();
+ return;
+ case PomPackage.REPORT_PLUGIN__CONFIGURATION:
+ setConfiguration((Configuration) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPORT_PLUGIN__GROUP_ID:
+ return isSetGroupId();
+ case PomPackage.REPORT_PLUGIN__ARTIFACT_ID:
+ return ARTIFACT_ID_EDEFAULT == null ? artifactId != null
+ : !ARTIFACT_ID_EDEFAULT.equals(artifactId);
+ case PomPackage.REPORT_PLUGIN__VERSION:
+ return VERSION_EDEFAULT == null ? version != null
+ : !VERSION_EDEFAULT.equals(version);
+ case PomPackage.REPORT_PLUGIN__INHERITED:
+ return INHERITED_EDEFAULT == null ? inherited != null
+ : !INHERITED_EDEFAULT.equals(inherited);
+ case PomPackage.REPORT_PLUGIN__REPORT_SETS:
+ return isSetReportSets();
+ case PomPackage.REPORT_PLUGIN__CONFIGURATION:
+ return configuration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (groupId: "); //$NON-NLS-1$
+ if (groupIdESet)
+ result.append(groupId);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", artifactId: "); //$NON-NLS-1$
+ result.append(artifactId);
+ result.append(", version: "); //$NON-NLS-1$
+ result.append(version);
+ result.append(", inherited: "); //$NON-NLS-1$
+ result.append(inherited);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ReportPluginImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportSetImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportSetImpl.java
new file mode 100644
index 00000000..5b45af61
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportSetImpl.java
@@ -0,0 +1,383 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.m2e.model.edit.pom.Configuration;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.ReportSet;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Report Set</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportSetImpl#getId <em>Id</em>}
+ * </li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportSetImpl#getInherited <em>
+ * Inherited</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportSetImpl#getReports <em>
+ * Reports</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportSetImpl#getConfiguration
+ * <em>Configuration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ReportSetImpl extends EObjectImpl implements ReportSet {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * This is true if the Id attribute has been set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean idESet;
+
+ /**
+ * The default value of the '{@link #getInherited() <em>Inherited</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInherited()
+ * @generated
+ * @ordered
+ */
+ protected static final String INHERITED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInherited() <em>Inherited</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getInherited()
+ * @generated
+ * @ordered
+ */
+ protected String inherited = INHERITED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getReports() <em>Reports</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReports()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> reports;
+
+ /**
+ * The cached value of the '{@link #getConfiguration()
+ * <em>Configuration</em>}' reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getConfiguration()
+ * @generated
+ * @ordered
+ */
+ protected Configuration configuration;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReportSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.REPORT_SET;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ boolean oldIdESet = idESet;
+ idESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORT_SET__ID, oldId, id, !oldIdESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetId() {
+ String oldId = id;
+ boolean oldIdESet = idESet;
+ id = ID_EDEFAULT;
+ idESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.REPORT_SET__ID, oldId, ID_EDEFAULT, oldIdESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetId() {
+ return idESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getInherited() {
+ return inherited;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setInherited(String newInherited) {
+ String oldInherited = inherited;
+ inherited = newInherited;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORT_SET__INHERITED, oldInherited, inherited));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getReports() {
+ if (reports == null) {
+ reports = new EDataTypeEList<String>(String.class, this,
+ PomPackage.REPORT_SET__REPORTS);
+ }
+ return reports;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Configuration getConfiguration() {
+ if (configuration != null && configuration.eIsProxy()) {
+ InternalEObject oldConfiguration = (InternalEObject) configuration;
+ configuration = (Configuration) eResolveProxy(oldConfiguration);
+ if (configuration != oldConfiguration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE,
+ PomPackage.REPORT_SET__CONFIGURATION,
+ oldConfiguration, configuration));
+ }
+ }
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Configuration basicGetConfiguration() {
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setConfiguration(Configuration newConfiguration) {
+ Configuration oldConfiguration = configuration;
+ configuration = newConfiguration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORT_SET__CONFIGURATION, oldConfiguration,
+ configuration));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.REPORT_SET__ID:
+ return getId();
+ case PomPackage.REPORT_SET__INHERITED:
+ return getInherited();
+ case PomPackage.REPORT_SET__REPORTS:
+ return getReports();
+ case PomPackage.REPORT_SET__CONFIGURATION:
+ if (resolve)
+ return getConfiguration();
+ return basicGetConfiguration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.REPORT_SET__ID:
+ setId((String) newValue);
+ return;
+ case PomPackage.REPORT_SET__INHERITED:
+ setInherited((String) newValue);
+ return;
+ case PomPackage.REPORT_SET__REPORTS:
+ getReports().clear();
+ getReports().addAll((Collection<? extends String>) newValue);
+ return;
+ case PomPackage.REPORT_SET__CONFIGURATION:
+ setConfiguration((Configuration) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPORT_SET__ID:
+ unsetId();
+ return;
+ case PomPackage.REPORT_SET__INHERITED:
+ setInherited(INHERITED_EDEFAULT);
+ return;
+ case PomPackage.REPORT_SET__REPORTS:
+ getReports().clear();
+ return;
+ case PomPackage.REPORT_SET__CONFIGURATION:
+ setConfiguration((Configuration) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPORT_SET__ID:
+ return isSetId();
+ case PomPackage.REPORT_SET__INHERITED:
+ return INHERITED_EDEFAULT == null ? inherited != null
+ : !INHERITED_EDEFAULT.equals(inherited);
+ case PomPackage.REPORT_SET__REPORTS:
+ return reports != null && !reports.isEmpty();
+ case PomPackage.REPORT_SET__CONFIGURATION:
+ return configuration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ if (idESet)
+ result.append(id);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", inherited: "); //$NON-NLS-1$
+ result.append(inherited);
+ result.append(", reports: "); //$NON-NLS-1$
+ result.append(reports);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ReportSetImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportingImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportingImpl.java
new file mode 100644
index 00000000..5e120122
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ReportingImpl.java
@@ -0,0 +1,361 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.ReportPlugin;
+import org.eclipse.m2e.model.edit.pom.Reporting;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Reporting</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ReportingImpl#getExcludeDefaults
+ * <em>Exclude Defaults</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.ReportingImpl#getOutputDirectory
+ * <em>Output Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ReportingImpl#getPlugins <em>
+ * Plugins</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ReportingImpl extends EObjectImpl implements Reporting {
+ /**
+ * The default value of the '{@link #getExcludeDefaults()
+ * <em>Exclude Defaults</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getExcludeDefaults()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXCLUDE_DEFAULTS_EDEFAULT = "false"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getExcludeDefaults()
+ * <em>Exclude Defaults</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getExcludeDefaults()
+ * @generated
+ * @ordered
+ */
+ protected String excludeDefaults = EXCLUDE_DEFAULTS_EDEFAULT;
+
+ /**
+ * This is true if the Exclude Defaults attribute has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean excludeDefaultsESet;
+
+ /**
+ * The default value of the '{@link #getOutputDirectory()
+ * <em>Output Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOutputDirectory()
+ * @generated
+ * @ordered
+ */
+ protected static final String OUTPUT_DIRECTORY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOutputDirectory()
+ * <em>Output Directory</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getOutputDirectory()
+ * @generated
+ * @ordered
+ */
+ protected String outputDirectory = OUTPUT_DIRECTORY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getPlugins() <em>Plugins</em>}'
+ * containment reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getPlugins()
+ * @generated
+ * @ordered
+ */
+ protected EList<ReportPlugin> plugins;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReportingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.REPORTING;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getExcludeDefaults() {
+ return excludeDefaults;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setExcludeDefaults(String newExcludeDefaults) {
+ String oldExcludeDefaults = excludeDefaults;
+ excludeDefaults = newExcludeDefaults;
+ boolean oldExcludeDefaultsESet = excludeDefaultsESet;
+ excludeDefaultsESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORTING__EXCLUDE_DEFAULTS, oldExcludeDefaults,
+ excludeDefaults, !oldExcludeDefaultsESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetExcludeDefaults() {
+ String oldExcludeDefaults = excludeDefaults;
+ boolean oldExcludeDefaultsESet = excludeDefaultsESet;
+ excludeDefaults = EXCLUDE_DEFAULTS_EDEFAULT;
+ excludeDefaultsESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.REPORTING__EXCLUDE_DEFAULTS, oldExcludeDefaults,
+ EXCLUDE_DEFAULTS_EDEFAULT, oldExcludeDefaultsESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetExcludeDefaults() {
+ return excludeDefaultsESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getOutputDirectory() {
+ return outputDirectory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setOutputDirectory(String newOutputDirectory) {
+ String oldOutputDirectory = outputDirectory;
+ outputDirectory = newOutputDirectory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPORTING__OUTPUT_DIRECTORY, oldOutputDirectory,
+ outputDirectory));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<ReportPlugin> getPlugins() {
+ if (plugins == null) {
+ plugins = new EObjectContainmentEList.Unsettable<ReportPlugin>(
+ ReportPlugin.class, this, PomPackage.REPORTING__PLUGINS);
+ }
+ return plugins;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetPlugins() {
+ if (plugins != null)
+ ((InternalEList.Unsettable<?>) plugins).unset();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetPlugins() {
+ return plugins != null
+ && ((InternalEList.Unsettable<?>) plugins).isSet();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.REPORTING__PLUGINS:
+ return ((InternalEList<?>) getPlugins())
+ .basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.REPORTING__EXCLUDE_DEFAULTS:
+ return getExcludeDefaults();
+ case PomPackage.REPORTING__OUTPUT_DIRECTORY:
+ return getOutputDirectory();
+ case PomPackage.REPORTING__PLUGINS:
+ return getPlugins();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.REPORTING__EXCLUDE_DEFAULTS:
+ setExcludeDefaults((String) newValue);
+ return;
+ case PomPackage.REPORTING__OUTPUT_DIRECTORY:
+ setOutputDirectory((String) newValue);
+ return;
+ case PomPackage.REPORTING__PLUGINS:
+ getPlugins().clear();
+ getPlugins().addAll((Collection<? extends ReportPlugin>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPORTING__EXCLUDE_DEFAULTS:
+ unsetExcludeDefaults();
+ return;
+ case PomPackage.REPORTING__OUTPUT_DIRECTORY:
+ setOutputDirectory(OUTPUT_DIRECTORY_EDEFAULT);
+ return;
+ case PomPackage.REPORTING__PLUGINS:
+ unsetPlugins();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPORTING__EXCLUDE_DEFAULTS:
+ return isSetExcludeDefaults();
+ case PomPackage.REPORTING__OUTPUT_DIRECTORY:
+ return OUTPUT_DIRECTORY_EDEFAULT == null ? outputDirectory != null
+ : !OUTPUT_DIRECTORY_EDEFAULT.equals(outputDirectory);
+ case PomPackage.REPORTING__PLUGINS:
+ return isSetPlugins();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (excludeDefaults: "); //$NON-NLS-1$
+ if (excludeDefaultsESet)
+ result.append(excludeDefaults);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", outputDirectory: "); //$NON-NLS-1$
+ result.append(outputDirectory);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ReportingImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RepositoryImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RepositoryImpl.java
new file mode 100644
index 00000000..afc9362f
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RepositoryImpl.java
@@ -0,0 +1,698 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Repository;
+import org.eclipse.m2e.model.edit.pom.RepositoryPolicy;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Repository</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl#getReleases <em>
+ * Releases</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl#getSnapshots <em>
+ * Snapshots</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl#getId <em>Id
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl#getName <em>Name
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl#getUrl <em>Url
+ * </em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryImpl#getLayout <em>
+ * Layout</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RepositoryImpl extends EObjectImpl implements Repository {
+ /**
+ * The cached value of the '{@link #getReleases() <em>Releases</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getReleases()
+ * @generated
+ * @ordered
+ */
+ protected RepositoryPolicy releases;
+
+ /**
+ * This is true if the Releases containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean releasesESet;
+
+ /**
+ * The cached value of the '{@link #getSnapshots() <em>Snapshots</em>}'
+ * containment reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSnapshots()
+ * @generated
+ * @ordered
+ */
+ protected RepositoryPolicy snapshots;
+
+ /**
+ * This is true if the Snapshots containment reference has been set. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean snapshotsESet;
+
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLayout() <em>Layout</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected static final String LAYOUT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLayout() <em>Layout</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getLayout()
+ * @generated
+ * @ordered
+ */
+ protected String layout = LAYOUT_EDEFAULT;
+
+ /**
+ * This is true if the Layout attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean layoutESet;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RepositoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.REPOSITORY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RepositoryPolicy getReleases() {
+ return releases;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetReleases(RepositoryPolicy newReleases,
+ NotificationChain msgs) {
+ RepositoryPolicy oldReleases = releases;
+ releases = newReleases;
+ boolean oldReleasesESet = releasesESet;
+ releasesESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.REPOSITORY__RELEASES,
+ oldReleases, newReleases, !oldReleasesESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setReleases(RepositoryPolicy newReleases) {
+ if (newReleases != releases) {
+ NotificationChain msgs = null;
+ if (releases != null)
+ msgs = ((InternalEObject) releases).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.REPOSITORY__RELEASES, null, msgs);
+ if (newReleases != null)
+ msgs = ((InternalEObject) newReleases).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.REPOSITORY__RELEASES, null, msgs);
+ msgs = basicSetReleases(newReleases, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldReleasesESet = releasesESet;
+ releasesESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPOSITORY__RELEASES, newReleases,
+ newReleases, !oldReleasesESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetReleases(NotificationChain msgs) {
+ RepositoryPolicy oldReleases = releases;
+ releases = null;
+ boolean oldReleasesESet = releasesESet;
+ releasesESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.REPOSITORY__RELEASES,
+ oldReleases, null, oldReleasesESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetReleases() {
+ if (releases != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) releases).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.REPOSITORY__RELEASES,
+ null, msgs);
+ msgs = basicUnsetReleases(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldReleasesESet = releasesESet;
+ releasesESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.REPOSITORY__RELEASES, null, null,
+ oldReleasesESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetReleases() {
+ return releasesESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RepositoryPolicy getSnapshots() {
+ return snapshots;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetSnapshots(RepositoryPolicy newSnapshots,
+ NotificationChain msgs) {
+ RepositoryPolicy oldSnapshots = snapshots;
+ snapshots = newSnapshots;
+ boolean oldSnapshotsESet = snapshotsESet;
+ snapshotsESet = true;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.SET, PomPackage.REPOSITORY__SNAPSHOTS,
+ oldSnapshots, newSnapshots, !oldSnapshotsESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setSnapshots(RepositoryPolicy newSnapshots) {
+ if (newSnapshots != snapshots) {
+ NotificationChain msgs = null;
+ if (snapshots != null)
+ msgs = ((InternalEObject) snapshots).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.REPOSITORY__SNAPSHOTS, null, msgs);
+ if (newSnapshots != null)
+ msgs = ((InternalEObject) newSnapshots).eInverseAdd(this,
+ EOPPOSITE_FEATURE_BASE
+ - PomPackage.REPOSITORY__SNAPSHOTS, null, msgs);
+ msgs = basicSetSnapshots(newSnapshots, msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldSnapshotsESet = snapshotsESet;
+ snapshotsESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPOSITORY__SNAPSHOTS, newSnapshots,
+ newSnapshots, !oldSnapshotsESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicUnsetSnapshots(NotificationChain msgs) {
+ RepositoryPolicy oldSnapshots = snapshots;
+ snapshots = null;
+ boolean oldSnapshotsESet = snapshotsESet;
+ snapshotsESet = false;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this,
+ Notification.UNSET, PomPackage.REPOSITORY__SNAPSHOTS,
+ oldSnapshots, null, oldSnapshotsESet);
+ if (msgs == null)
+ msgs = notification;
+ else
+ msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetSnapshots() {
+ if (snapshots != null) {
+ NotificationChain msgs = null;
+ msgs = ((InternalEObject) snapshots).eInverseRemove(this,
+ EOPPOSITE_FEATURE_BASE - PomPackage.REPOSITORY__SNAPSHOTS,
+ null, msgs);
+ msgs = basicUnsetSnapshots(msgs);
+ if (msgs != null)
+ msgs.dispatch();
+ } else {
+ boolean oldSnapshotsESet = snapshotsESet;
+ snapshotsESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.REPOSITORY__SNAPSHOTS, null, null,
+ oldSnapshotsESet));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetSnapshots() {
+ return snapshotsESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPOSITORY__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPOSITORY__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPOSITORY__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getLayout() {
+ return layout;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setLayout(String newLayout) {
+ String oldLayout = layout;
+ layout = newLayout;
+ boolean oldLayoutESet = layoutESet;
+ layoutESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPOSITORY__LAYOUT, oldLayout, layout,
+ !oldLayoutESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetLayout() {
+ String oldLayout = layout;
+ boolean oldLayoutESet = layoutESet;
+ layout = LAYOUT_EDEFAULT;
+ layoutESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.REPOSITORY__LAYOUT, oldLayout, LAYOUT_EDEFAULT,
+ oldLayoutESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetLayout() {
+ return layoutESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd,
+ int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PomPackage.REPOSITORY__RELEASES:
+ return basicUnsetReleases(msgs);
+ case PomPackage.REPOSITORY__SNAPSHOTS:
+ return basicUnsetSnapshots(msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.REPOSITORY__RELEASES:
+ return getReleases();
+ case PomPackage.REPOSITORY__SNAPSHOTS:
+ return getSnapshots();
+ case PomPackage.REPOSITORY__ID:
+ return getId();
+ case PomPackage.REPOSITORY__NAME:
+ return getName();
+ case PomPackage.REPOSITORY__URL:
+ return getUrl();
+ case PomPackage.REPOSITORY__LAYOUT:
+ return getLayout();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.REPOSITORY__RELEASES:
+ setReleases((RepositoryPolicy) newValue);
+ return;
+ case PomPackage.REPOSITORY__SNAPSHOTS:
+ setSnapshots((RepositoryPolicy) newValue);
+ return;
+ case PomPackage.REPOSITORY__ID:
+ setId((String) newValue);
+ return;
+ case PomPackage.REPOSITORY__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.REPOSITORY__URL:
+ setUrl((String) newValue);
+ return;
+ case PomPackage.REPOSITORY__LAYOUT:
+ setLayout((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPOSITORY__RELEASES:
+ unsetReleases();
+ return;
+ case PomPackage.REPOSITORY__SNAPSHOTS:
+ unsetSnapshots();
+ return;
+ case PomPackage.REPOSITORY__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case PomPackage.REPOSITORY__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.REPOSITORY__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ case PomPackage.REPOSITORY__LAYOUT:
+ unsetLayout();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPOSITORY__RELEASES:
+ return isSetReleases();
+ case PomPackage.REPOSITORY__SNAPSHOTS:
+ return isSetSnapshots();
+ case PomPackage.REPOSITORY__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case PomPackage.REPOSITORY__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.REPOSITORY__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ case PomPackage.REPOSITORY__LAYOUT:
+ return isSetLayout();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(", name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(", layout: "); //$NON-NLS-1$
+ if (layoutESet)
+ result.append(layout);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(')');
+ return result.toString();
+ }
+
+} // RepositoryImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RepositoryPolicyImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RepositoryPolicyImpl.java
new file mode 100644
index 00000000..1bf621fe
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/RepositoryPolicyImpl.java
@@ -0,0 +1,337 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.RepositoryPolicy;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Repository Policy</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.RepositoryPolicyImpl#getEnabled
+ * <em>Enabled</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.RepositoryPolicyImpl#getUpdatePolicy
+ * <em>Update Policy</em>}</li>
+ * <li>
+ * {@link org.eclipse.m2e.model.edit.pom.impl.RepositoryPolicyImpl#getChecksumPolicy
+ * <em>Checksum Policy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RepositoryPolicyImpl extends EObjectImpl implements
+ RepositoryPolicy {
+ /**
+ * The default value of the '{@link #getEnabled() <em>Enabled</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEnabled()
+ * @generated
+ * @ordered
+ */
+ protected static final String ENABLED_EDEFAULT = "true"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getEnabled() <em>Enabled</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getEnabled()
+ * @generated
+ * @ordered
+ */
+ protected String enabled = ENABLED_EDEFAULT;
+
+ /**
+ * This is true if the Enabled attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean enabledESet;
+
+ /**
+ * The default value of the '{@link #getUpdatePolicy()
+ * <em>Update Policy</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getUpdatePolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final String UPDATE_POLICY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUpdatePolicy()
+ * <em>Update Policy</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getUpdatePolicy()
+ * @generated
+ * @ordered
+ */
+ protected String updatePolicy = UPDATE_POLICY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getChecksumPolicy()
+ * <em>Checksum Policy</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getChecksumPolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final String CHECKSUM_POLICY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getChecksumPolicy()
+ * <em>Checksum Policy</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getChecksumPolicy()
+ * @generated
+ * @ordered
+ */
+ protected String checksumPolicy = CHECKSUM_POLICY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RepositoryPolicyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.REPOSITORY_POLICY;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getEnabled() {
+ return enabled;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setEnabled(String newEnabled) {
+ String oldEnabled = enabled;
+ enabled = newEnabled;
+ boolean oldEnabledESet = enabledESet;
+ enabledESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPOSITORY_POLICY__ENABLED, oldEnabled, enabled,
+ !oldEnabledESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetEnabled() {
+ String oldEnabled = enabled;
+ boolean oldEnabledESet = enabledESet;
+ enabled = ENABLED_EDEFAULT;
+ enabledESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.REPOSITORY_POLICY__ENABLED, oldEnabled,
+ ENABLED_EDEFAULT, oldEnabledESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetEnabled() {
+ return enabledESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUpdatePolicy() {
+ return updatePolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUpdatePolicy(String newUpdatePolicy) {
+ String oldUpdatePolicy = updatePolicy;
+ updatePolicy = newUpdatePolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPOSITORY_POLICY__UPDATE_POLICY,
+ oldUpdatePolicy, updatePolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getChecksumPolicy() {
+ return checksumPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setChecksumPolicy(String newChecksumPolicy) {
+ String oldChecksumPolicy = checksumPolicy;
+ checksumPolicy = newChecksumPolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.REPOSITORY_POLICY__CHECKSUM_POLICY,
+ oldChecksumPolicy, checksumPolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.REPOSITORY_POLICY__ENABLED:
+ return getEnabled();
+ case PomPackage.REPOSITORY_POLICY__UPDATE_POLICY:
+ return getUpdatePolicy();
+ case PomPackage.REPOSITORY_POLICY__CHECKSUM_POLICY:
+ return getChecksumPolicy();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.REPOSITORY_POLICY__ENABLED:
+ setEnabled((String) newValue);
+ return;
+ case PomPackage.REPOSITORY_POLICY__UPDATE_POLICY:
+ setUpdatePolicy((String) newValue);
+ return;
+ case PomPackage.REPOSITORY_POLICY__CHECKSUM_POLICY:
+ setChecksumPolicy((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPOSITORY_POLICY__ENABLED:
+ unsetEnabled();
+ return;
+ case PomPackage.REPOSITORY_POLICY__UPDATE_POLICY:
+ setUpdatePolicy(UPDATE_POLICY_EDEFAULT);
+ return;
+ case PomPackage.REPOSITORY_POLICY__CHECKSUM_POLICY:
+ setChecksumPolicy(CHECKSUM_POLICY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.REPOSITORY_POLICY__ENABLED:
+ return isSetEnabled();
+ case PomPackage.REPOSITORY_POLICY__UPDATE_POLICY:
+ return UPDATE_POLICY_EDEFAULT == null ? updatePolicy != null
+ : !UPDATE_POLICY_EDEFAULT.equals(updatePolicy);
+ case PomPackage.REPOSITORY_POLICY__CHECKSUM_POLICY:
+ return CHECKSUM_POLICY_EDEFAULT == null ? checksumPolicy != null
+ : !CHECKSUM_POLICY_EDEFAULT.equals(checksumPolicy);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (enabled: "); //$NON-NLS-1$
+ if (enabledESet)
+ result.append(enabled);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", updatePolicy: "); //$NON-NLS-1$
+ result.append(updatePolicy);
+ result.append(", checksumPolicy: "); //$NON-NLS-1$
+ result.append(checksumPolicy);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RepositoryPolicyImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ResourceImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ResourceImpl.java
new file mode 100644
index 00000000..aa9bbea7
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ResourceImpl.java
@@ -0,0 +1,411 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Resource;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Resource</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ResourceImpl#getTargetPath <em>
+ * Target Path</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ResourceImpl#getFiltering <em>
+ * Filtering</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ResourceImpl#getDirectory <em>
+ * Directory</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ResourceImpl#getIncludes <em>
+ * Includes</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ResourceImpl#getExcludes <em>
+ * Excludes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ResourceImpl extends EObjectImpl implements Resource {
+ /**
+ * The default value of the '{@link #getTargetPath() <em>Target Path</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetPath()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_PATH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetPath() <em>Target Path</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTargetPath()
+ * @generated
+ * @ordered
+ */
+ protected String targetPath = TARGET_PATH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFiltering() <em>Filtering</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFiltering()
+ * @generated
+ * @ordered
+ */
+ protected static final String FILTERING_EDEFAULT = "false"; //$NON-NLS-1$
+
+ /**
+ * The cached value of the '{@link #getFiltering() <em>Filtering</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getFiltering()
+ * @generated
+ * @ordered
+ */
+ protected String filtering = FILTERING_EDEFAULT;
+
+ /**
+ * This is true if the Filtering attribute has been set. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean filteringESet;
+
+ /**
+ * The default value of the '{@link #getDirectory() <em>Directory</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDirectory()
+ * @generated
+ * @ordered
+ */
+ protected static final String DIRECTORY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDirectory() <em>Directory</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getDirectory()
+ * @generated
+ * @ordered
+ */
+ protected String directory = DIRECTORY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getIncludes() <em>Includes</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getIncludes()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> includes;
+
+ /**
+ * The cached value of the '{@link #getExcludes() <em>Excludes</em>}'
+ * attribute list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getExcludes()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> excludes;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getTargetPath() {
+ return targetPath;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTargetPath(String newTargetPath) {
+ String oldTargetPath = targetPath;
+ targetPath = newTargetPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.RESOURCE__TARGET_PATH, oldTargetPath, targetPath));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getFiltering() {
+ return filtering;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setFiltering(String newFiltering) {
+ String oldFiltering = filtering;
+ filtering = newFiltering;
+ boolean oldFilteringESet = filteringESet;
+ filteringESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.RESOURCE__FILTERING, oldFiltering, filtering,
+ !oldFilteringESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetFiltering() {
+ String oldFiltering = filtering;
+ boolean oldFilteringESet = filteringESet;
+ filtering = FILTERING_EDEFAULT;
+ filteringESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.RESOURCE__FILTERING, oldFiltering,
+ FILTERING_EDEFAULT, oldFilteringESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetFiltering() {
+ return filteringESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDirectory() {
+ return directory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDirectory(String newDirectory) {
+ String oldDirectory = directory;
+ directory = newDirectory;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.RESOURCE__DIRECTORY, oldDirectory, directory));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getIncludes() {
+ if (includes == null) {
+ includes = new EDataTypeEList<String>(String.class, this,
+ PomPackage.RESOURCE__INCLUDES);
+ }
+ return includes;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<String> getExcludes() {
+ if (excludes == null) {
+ excludes = new EDataTypeEList<String>(String.class, this,
+ PomPackage.RESOURCE__EXCLUDES);
+ }
+ return excludes;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.RESOURCE__TARGET_PATH:
+ return getTargetPath();
+ case PomPackage.RESOURCE__FILTERING:
+ return getFiltering();
+ case PomPackage.RESOURCE__DIRECTORY:
+ return getDirectory();
+ case PomPackage.RESOURCE__INCLUDES:
+ return getIncludes();
+ case PomPackage.RESOURCE__EXCLUDES:
+ return getExcludes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.RESOURCE__TARGET_PATH:
+ setTargetPath((String) newValue);
+ return;
+ case PomPackage.RESOURCE__FILTERING:
+ setFiltering((String) newValue);
+ return;
+ case PomPackage.RESOURCE__DIRECTORY:
+ setDirectory((String) newValue);
+ return;
+ case PomPackage.RESOURCE__INCLUDES:
+ getIncludes().clear();
+ getIncludes().addAll((Collection<? extends String>) newValue);
+ return;
+ case PomPackage.RESOURCE__EXCLUDES:
+ getExcludes().clear();
+ getExcludes().addAll((Collection<? extends String>) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.RESOURCE__TARGET_PATH:
+ setTargetPath(TARGET_PATH_EDEFAULT);
+ return;
+ case PomPackage.RESOURCE__FILTERING:
+ unsetFiltering();
+ return;
+ case PomPackage.RESOURCE__DIRECTORY:
+ setDirectory(DIRECTORY_EDEFAULT);
+ return;
+ case PomPackage.RESOURCE__INCLUDES:
+ getIncludes().clear();
+ return;
+ case PomPackage.RESOURCE__EXCLUDES:
+ getExcludes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.RESOURCE__TARGET_PATH:
+ return TARGET_PATH_EDEFAULT == null ? targetPath != null
+ : !TARGET_PATH_EDEFAULT.equals(targetPath);
+ case PomPackage.RESOURCE__FILTERING:
+ return isSetFiltering();
+ case PomPackage.RESOURCE__DIRECTORY:
+ return DIRECTORY_EDEFAULT == null ? directory != null
+ : !DIRECTORY_EDEFAULT.equals(directory);
+ case PomPackage.RESOURCE__INCLUDES:
+ return includes != null && !includes.isEmpty();
+ case PomPackage.RESOURCE__EXCLUDES:
+ return excludes != null && !excludes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (targetPath: "); //$NON-NLS-1$
+ result.append(targetPath);
+ result.append(", filtering: "); //$NON-NLS-1$
+ if (filteringESet)
+ result.append(filtering);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", directory: "); //$NON-NLS-1$
+ result.append(directory);
+ result.append(", includes: "); //$NON-NLS-1$
+ result.append(includes);
+ result.append(", excludes: "); //$NON-NLS-1$
+ result.append(excludes);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ResourceImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ScmImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ScmImpl.java
new file mode 100644
index 00000000..c6ada8f7
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/ScmImpl.java
@@ -0,0 +1,385 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Scm;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Scm</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ScmImpl#getConnection <em>
+ * Connection</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ScmImpl#getDeveloperConnection
+ * <em>Developer Connection</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ScmImpl#getTag <em>Tag</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.ScmImpl#getUrl <em>Url</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ScmImpl extends EObjectImpl implements Scm {
+ /**
+ * The default value of the '{@link #getConnection() <em>Connection</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConnection()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONNECTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getConnection() <em>Connection</em>}'
+ * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getConnection()
+ * @generated
+ * @ordered
+ */
+ protected String connection = CONNECTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDeveloperConnection()
+ * <em>Developer Connection</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDeveloperConnection()
+ * @generated
+ * @ordered
+ */
+ protected static final String DEVELOPER_CONNECTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDeveloperConnection()
+ * <em>Developer Connection</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDeveloperConnection()
+ * @generated
+ * @ordered
+ */
+ protected String developerConnection = DEVELOPER_CONNECTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTag() <em>Tag</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTag()
+ * @generated
+ * @ordered
+ */
+ protected static final String TAG_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTag() <em>Tag</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getTag()
+ * @generated
+ * @ordered
+ */
+ protected String tag = TAG_EDEFAULT;
+
+ /**
+ * This is true if the Tag attribute has been set. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ protected boolean tagESet;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ScmImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.SCM;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getConnection() {
+ return connection;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setConnection(String newConnection) {
+ String oldConnection = connection;
+ connection = newConnection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.SCM__CONNECTION, oldConnection, connection));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDeveloperConnection() {
+ return developerConnection;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDeveloperConnection(String newDeveloperConnection) {
+ String oldDeveloperConnection = developerConnection;
+ developerConnection = newDeveloperConnection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.SCM__DEVELOPER_CONNECTION,
+ oldDeveloperConnection, developerConnection));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getTag() {
+ return tag;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setTag(String newTag) {
+ String oldTag = tag;
+ tag = newTag;
+ boolean oldTagESet = tagESet;
+ tagESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.SCM__TAG, oldTag, tag, !oldTagESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void unsetTag() {
+ String oldTag = tag;
+ boolean oldTagESet = tagESet;
+ tag = TAG_EDEFAULT;
+ tagESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET,
+ PomPackage.SCM__TAG, oldTag, TAG_EDEFAULT, oldTagESet));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isSetTag() {
+ return tagESet;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.SCM__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.SCM__CONNECTION:
+ return getConnection();
+ case PomPackage.SCM__DEVELOPER_CONNECTION:
+ return getDeveloperConnection();
+ case PomPackage.SCM__TAG:
+ return getTag();
+ case PomPackage.SCM__URL:
+ return getUrl();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.SCM__CONNECTION:
+ setConnection((String) newValue);
+ return;
+ case PomPackage.SCM__DEVELOPER_CONNECTION:
+ setDeveloperConnection((String) newValue);
+ return;
+ case PomPackage.SCM__TAG:
+ setTag((String) newValue);
+ return;
+ case PomPackage.SCM__URL:
+ setUrl((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.SCM__CONNECTION:
+ setConnection(CONNECTION_EDEFAULT);
+ return;
+ case PomPackage.SCM__DEVELOPER_CONNECTION:
+ setDeveloperConnection(DEVELOPER_CONNECTION_EDEFAULT);
+ return;
+ case PomPackage.SCM__TAG:
+ unsetTag();
+ return;
+ case PomPackage.SCM__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.SCM__CONNECTION:
+ return CONNECTION_EDEFAULT == null ? connection != null
+ : !CONNECTION_EDEFAULT.equals(connection);
+ case PomPackage.SCM__DEVELOPER_CONNECTION:
+ return DEVELOPER_CONNECTION_EDEFAULT == null ? developerConnection != null
+ : !DEVELOPER_CONNECTION_EDEFAULT
+ .equals(developerConnection);
+ case PomPackage.SCM__TAG:
+ return isSetTag();
+ case PomPackage.SCM__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (connection: "); //$NON-NLS-1$
+ result.append(connection);
+ result.append(", developerConnection: "); //$NON-NLS-1$
+ result.append(developerConnection);
+ result.append(", tag: "); //$NON-NLS-1$
+ if (tagESet)
+ result.append(tag);
+ else
+ result.append("<unset>"); //$NON-NLS-1$
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ScmImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/SiteImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/SiteImpl.java
new file mode 100644
index 00000000..5e3faf98
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/impl/SiteImpl.java
@@ -0,0 +1,285 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Site;
+
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Site</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.SiteImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.SiteImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.m2e.model.edit.pom.impl.SiteImpl#getUrl <em>Url</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SiteImpl extends EObjectImpl implements Site {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected static final String URL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getUrl()
+ * @generated
+ * @ordered
+ */
+ protected String url = URL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SiteImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PomPackage.Literals.SITE;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.SITE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.SITE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getUrl() {
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setUrl(String newUrl) {
+ String oldUrl = url;
+ url = newUrl;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET,
+ PomPackage.SITE__URL, oldUrl, url));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PomPackage.SITE__ID:
+ return getId();
+ case PomPackage.SITE__NAME:
+ return getName();
+ case PomPackage.SITE__URL:
+ return getUrl();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PomPackage.SITE__ID:
+ setId((String) newValue);
+ return;
+ case PomPackage.SITE__NAME:
+ setName((String) newValue);
+ return;
+ case PomPackage.SITE__URL:
+ setUrl((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PomPackage.SITE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case PomPackage.SITE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case PomPackage.SITE__URL:
+ setUrl(URL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PomPackage.SITE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case PomPackage.SITE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT
+ .equals(name);
+ case PomPackage.SITE__URL:
+ return URL_EDEFAULT == null ? url != null : !URL_EDEFAULT
+ .equals(url);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: "); //$NON-NLS-1$
+ result.append(id);
+ result.append(", name: "); //$NON-NLS-1$
+ result.append(name);
+ result.append(", url: "); //$NON-NLS-1$
+ result.append(url);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SiteImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationFileItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationFileItemProvider.java
new file mode 100644
index 00000000..3d4eda1e
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationFileItemProvider.java
@@ -0,0 +1,180 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.ActivationFile;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationFile} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ActivationFileItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationFileItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMissingPropertyDescriptor(object);
+ addExistsPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Missing feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addMissingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ActivationFile_missing_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ActivationFile_missing_feature",
+ "_UI_ActivationFile_type"),
+ PomPackage.Literals.ACTIVATION_FILE__MISSING, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Exists feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addExistsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ActivationFile_exists_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ActivationFile_exists_feature",
+ "_UI_ActivationFile_type"),
+ PomPackage.Literals.ACTIVATION_FILE__EXISTS, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns ActivationFile.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/ActivationFile"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ActivationFile) object).getMissing();
+ return label == null || label.length() == 0 ? getString("_UI_ActivationFile_type")
+ : getString("_UI_ActivationFile_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ActivationFile.class)) {
+ case PomPackage.ACTIVATION_FILE__MISSING:
+ case PomPackage.ACTIVATION_FILE__EXISTS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationItemProvider.java
new file mode 100644
index 00000000..cecd8bb9
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationItemProvider.java
@@ -0,0 +1,236 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Activation;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Activation} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ActivationItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addActiveByDefaultPropertyDescriptor(object);
+ addJdkPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Active By Default feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addActiveByDefaultPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Activation_activeByDefault_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Activation_activeByDefault_feature",
+ "_UI_Activation_type"),
+ PomPackage.Literals.ACTIVATION__ACTIVE_BY_DEFAULT, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Jdk feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addJdkPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Activation_jdk_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Activation_jdk_feature", "_UI_Activation_type"),
+ PomPackage.Literals.ACTIVATION__JDK, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.ACTIVATION__OS);
+ childrenFeatures.add(PomPackage.Literals.ACTIVATION__PROPERTY);
+ childrenFeatures.add(PomPackage.Literals.ACTIVATION__FILE);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Activation.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Activation"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Activation) object).getActiveByDefault();
+ return label == null || label.length() == 0 ? getString("_UI_Activation_type")
+ : getString("_UI_Activation_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Activation.class)) {
+ case PomPackage.ACTIVATION__ACTIVE_BY_DEFAULT:
+ case PomPackage.ACTIVATION__JDK:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.ACTIVATION__OS:
+ case PomPackage.ACTIVATION__PROPERTY:
+ case PomPackage.ACTIVATION__FILE:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.ACTIVATION__OS, PomFactory.eINSTANCE
+ .createActivationOS()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.ACTIVATION__PROPERTY, PomFactory.eINSTANCE
+ .createActivationProperty()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.ACTIVATION__FILE, PomFactory.eINSTANCE
+ .createActivationFile()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationOSItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationOSItemProvider.java
new file mode 100644
index 00000000..14248305
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationOSItemProvider.java
@@ -0,0 +1,220 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.ActivationOS;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationOS} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ActivationOSItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationOSItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addFamilyPropertyDescriptor(object);
+ addArchPropertyDescriptor(object);
+ addVersionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ActivationOS_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ActivationOS_name_feature",
+ "_UI_ActivationOS_type"),
+ PomPackage.Literals.ACTIVATION_OS__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Family feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addFamilyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ActivationOS_family_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ActivationOS_family_feature",
+ "_UI_ActivationOS_type"),
+ PomPackage.Literals.ACTIVATION_OS__FAMILY, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Arch feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArchPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ActivationOS_arch_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ActivationOS_arch_feature",
+ "_UI_ActivationOS_type"),
+ PomPackage.Literals.ACTIVATION_OS__ARCH, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ActivationOS_version_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ActivationOS_version_feature",
+ "_UI_ActivationOS_type"),
+ PomPackage.Literals.ACTIVATION_OS__VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns ActivationOS.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/ActivationOS"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ActivationOS) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ActivationOS_type")
+ : getString("_UI_ActivationOS_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ActivationOS.class)) {
+ case PomPackage.ACTIVATION_OS__NAME:
+ case PomPackage.ACTIVATION_OS__FAMILY:
+ case PomPackage.ACTIVATION_OS__ARCH:
+ case PomPackage.ACTIVATION_OS__VERSION:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationPropertyItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationPropertyItemProvider.java
new file mode 100644
index 00000000..d7b00628
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ActivationPropertyItemProvider.java
@@ -0,0 +1,180 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.ActivationProperty;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationProperty} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ActivationPropertyItemProvider extends ItemProviderAdapter
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ActivationPropertyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ActivationProperty_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ActivationProperty_name_feature",
+ "_UI_ActivationProperty_type"),
+ PomPackage.Literals.ACTIVATION_PROPERTY__NAME, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ActivationProperty_value_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ActivationProperty_value_feature",
+ "_UI_ActivationProperty_type"),
+ PomPackage.Literals.ACTIVATION_PROPERTY__VALUE, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns ActivationProperty.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/ActivationProperty"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ActivationProperty) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_ActivationProperty_type")
+ : getString("_UI_ActivationProperty_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ActivationProperty.class)) {
+ case PomPackage.ACTIVATION_PROPERTY__NAME:
+ case PomPackage.ACTIVATION_PROPERTY__VALUE:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/BuildBaseItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/BuildBaseItemProvider.java
new file mode 100644
index 00000000..2abaafe3
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/BuildBaseItemProvider.java
@@ -0,0 +1,297 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.BuildBase;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class BuildBaseItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BuildBaseItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDefaultGoalPropertyDescriptor(object);
+ addDirectoryPropertyDescriptor(object);
+ addFinalNamePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Default Goal feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDefaultGoalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_BuildBase_defaultGoal_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_BuildBase_defaultGoal_feature",
+ "_UI_BuildBase_type"),
+ PomPackage.Literals.BUILD_BASE__DEFAULT_GOAL, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Directory feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDirectoryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_BuildBase_directory_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_BuildBase_directory_feature",
+ "_UI_BuildBase_type"),
+ PomPackage.Literals.BUILD_BASE__DIRECTORY, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Final Name feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addFinalNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_BuildBase_finalName_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_BuildBase_finalName_feature",
+ "_UI_BuildBase_type"),
+ PomPackage.Literals.BUILD_BASE__FINAL_NAME, true,
+ false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.BUILD_BASE__RESOURCES);
+ childrenFeatures
+ .add(PomPackage.Literals.BUILD_BASE__TEST_RESOURCES);
+ childrenFeatures
+ .add(PomPackage.Literals.BUILD_BASE__PLUGIN_MANAGEMENT);
+ childrenFeatures.add(PomPackage.Literals.BUILD_BASE__PLUGINS);
+ childrenFeatures.add(PomPackage.Literals.BUILD_BASE__FILTERS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns BuildBase.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/BuildBase"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((BuildBase) object).getFinalName();
+ return label == null || label.length() == 0 ? getString("_UI_BuildBase_type")
+ : getString("_UI_BuildBase_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(BuildBase.class)) {
+ case PomPackage.BUILD_BASE__DEFAULT_GOAL:
+ case PomPackage.BUILD_BASE__DIRECTORY:
+ case PomPackage.BUILD_BASE__FINAL_NAME:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.BUILD_BASE__RESOURCES:
+ case PomPackage.BUILD_BASE__TEST_RESOURCES:
+ case PomPackage.BUILD_BASE__PLUGIN_MANAGEMENT:
+ case PomPackage.BUILD_BASE__PLUGINS:
+ case PomPackage.BUILD_BASE__FILTERS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.BUILD_BASE__RESOURCES, PomFactory.eINSTANCE
+ .createResource()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.BUILD_BASE__TEST_RESOURCES,
+ PomFactory.eINSTANCE.createResource()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.BUILD_BASE__PLUGIN_MANAGEMENT,
+ PomFactory.eINSTANCE.createPluginManagement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.BUILD_BASE__PLUGINS, PomFactory.eINSTANCE
+ .createPlugin()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.BUILD_BASE__FILTERS, ""));
+ }
+
+ /**
+ * This returns the label text for
+ * {@link org.eclipse.emf.edit.command.CreateChildCommand}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection<?> selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == PomPackage.Literals.BUILD_BASE__RESOURCES
+ || childFeature == PomPackage.Literals.BUILD_BASE__TEST_RESOURCES;
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", new Object[] {
+ getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/BuildItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/BuildItemProvider.java
new file mode 100644
index 00000000..0917d886
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/BuildItemProvider.java
@@ -0,0 +1,293 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Build;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Build} object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class BuildItemProvider extends BuildBaseItemProvider implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public BuildItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSourceDirectoryPropertyDescriptor(object);
+ addScriptSourceDirectoryPropertyDescriptor(object);
+ addTestSourceDirectoryPropertyDescriptor(object);
+ addOutputDirectoryPropertyDescriptor(object);
+ addTestOutputDirectoryPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Source Directory feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSourceDirectoryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Build_sourceDirectory_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Build_sourceDirectory_feature", "_UI_Build_type"),
+ PomPackage.Literals.BUILD__SOURCE_DIRECTORY, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Script Source Directory feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addScriptSourceDirectoryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Build_scriptSourceDirectory_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_Build_scriptSourceDirectory_feature",
+ "_UI_Build_type"),
+ PomPackage.Literals.BUILD__SCRIPT_SOURCE_DIRECTORY, true,
+ false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Test Source Directory feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTestSourceDirectoryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Build_testSourceDirectory_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Build_testSourceDirectory_feature",
+ "_UI_Build_type"),
+ PomPackage.Literals.BUILD__TEST_SOURCE_DIRECTORY, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Output Directory feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addOutputDirectoryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Build_outputDirectory_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Build_outputDirectory_feature", "_UI_Build_type"),
+ PomPackage.Literals.BUILD__OUTPUT_DIRECTORY, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Test Output Directory feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTestOutputDirectoryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Build_testOutputDirectory_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Build_testOutputDirectory_feature",
+ "_UI_Build_type"),
+ PomPackage.Literals.BUILD__TEST_OUTPUT_DIRECTORY, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.BUILD__EXTENSIONS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Build.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Build"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Build) object).getFinalName();
+ return label == null || label.length() == 0 ? getString("_UI_Build_type")
+ : getString("_UI_Build_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Build.class)) {
+ case PomPackage.BUILD__SOURCE_DIRECTORY:
+ case PomPackage.BUILD__SCRIPT_SOURCE_DIRECTORY:
+ case PomPackage.BUILD__TEST_SOURCE_DIRECTORY:
+ case PomPackage.BUILD__OUTPUT_DIRECTORY:
+ case PomPackage.BUILD__TEST_OUTPUT_DIRECTORY:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.BUILD__EXTENSIONS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.BUILD__EXTENSIONS, PomFactory.eINSTANCE
+ .createExtension()));
+ }
+
+ /**
+ * This returns the label text for
+ * {@link org.eclipse.emf.edit.command.CreateChildCommand}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection<?> selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == PomPackage.Literals.BUILD_BASE__RESOURCES
+ || childFeature == PomPackage.Literals.BUILD_BASE__TEST_RESOURCES;
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", new Object[] {
+ getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/CiManagementItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/CiManagementItemProvider.java
new file mode 100644
index 00000000..39176994
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/CiManagementItemProvider.java
@@ -0,0 +1,227 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.CiManagement;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.CiManagement} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class CiManagementItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CiManagementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSystemPropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the System feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSystemPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_CiManagement_system_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_CiManagement_system_feature",
+ "_UI_CiManagement_type"),
+ PomPackage.Literals.CI_MANAGEMENT__SYSTEM, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_CiManagement_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_CiManagement_url_feature",
+ "_UI_CiManagement_type"),
+ PomPackage.Literals.CI_MANAGEMENT__URL, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.CI_MANAGEMENT__NOTIFIERS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns CiManagement.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/CiManagement"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((CiManagement) object).getSystem();
+ return label == null || label.length() == 0 ? getString("_UI_CiManagement_type")
+ : getString("_UI_CiManagement_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CiManagement.class)) {
+ case PomPackage.CI_MANAGEMENT__SYSTEM:
+ case PomPackage.CI_MANAGEMENT__URL:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.CI_MANAGEMENT__NOTIFIERS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.CI_MANAGEMENT__NOTIFIERS,
+ PomFactory.eINSTANCE.createNotifier()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ConfigurationItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ConfigurationItemProvider.java
new file mode 100644
index 00000000..cccca85c
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ConfigurationItemProvider.java
@@ -0,0 +1,124 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Configuration} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConfigurationItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConfigurationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Configuration.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Configuration"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Configuration_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ContributorItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ContributorItemProvider.java
new file mode 100644
index 00000000..bbec6410
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ContributorItemProvider.java
@@ -0,0 +1,313 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Contributor;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ContributorItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ContributorItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addEmailPropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ addOrganizationPropertyDescriptor(object);
+ addOrganizationUrlPropertyDescriptor(object);
+ addTimezonePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Contributor_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Contributor_name_feature",
+ "_UI_Contributor_type"),
+ PomPackage.Literals.CONTRIBUTOR__NAME, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Email feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addEmailPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Contributor_email_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Contributor_email_feature",
+ "_UI_Contributor_type"),
+ PomPackage.Literals.CONTRIBUTOR__EMAIL, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Contributor_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Contributor_url_feature", "_UI_Contributor_type"),
+ PomPackage.Literals.CONTRIBUTOR__URL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Organization feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addOrganizationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Contributor_organization_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Contributor_organization_feature",
+ "_UI_Contributor_type"),
+ PomPackage.Literals.CONTRIBUTOR__ORGANIZATION, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Organization Url feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addOrganizationUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Contributor_organizationUrl_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_Contributor_organizationUrl_feature",
+ "_UI_Contributor_type"),
+ PomPackage.Literals.CONTRIBUTOR__ORGANIZATION_URL, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Timezone feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTimezonePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Contributor_timezone_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Contributor_timezone_feature",
+ "_UI_Contributor_type"),
+ PomPackage.Literals.CONTRIBUTOR__TIMEZONE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.CONTRIBUTOR__PROPERTIES);
+ childrenFeatures.add(PomPackage.Literals.CONTRIBUTOR__ROLES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Contributor.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Contributor"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Contributor) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_Contributor_type")
+ : getString("_UI_Contributor_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Contributor.class)) {
+ case PomPackage.CONTRIBUTOR__NAME:
+ case PomPackage.CONTRIBUTOR__EMAIL:
+ case PomPackage.CONTRIBUTOR__URL:
+ case PomPackage.CONTRIBUTOR__ORGANIZATION:
+ case PomPackage.CONTRIBUTOR__ORGANIZATION_URL:
+ case PomPackage.CONTRIBUTOR__TIMEZONE:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.CONTRIBUTOR__PROPERTIES:
+ case PomPackage.CONTRIBUTOR__ROLES:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.CONTRIBUTOR__PROPERTIES,
+ PomFactory.eINSTANCE.createPropertyElement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.CONTRIBUTOR__ROLES, ""));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DependencyItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DependencyItemProvider.java
new file mode 100644
index 00000000..89401c66
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DependencyItemProvider.java
@@ -0,0 +1,347 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Dependency;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DependencyItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DependencyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addGroupIdPropertyDescriptor(object);
+ addArtifactIdPropertyDescriptor(object);
+ addVersionPropertyDescriptor(object);
+ addTypePropertyDescriptor(object);
+ addClassifierPropertyDescriptor(object);
+ addScopePropertyDescriptor(object);
+ addSystemPathPropertyDescriptor(object);
+ addOptionalPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Group Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGroupIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Dependency_groupId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Dependency_groupId_feature",
+ "_UI_Dependency_type"),
+ PomPackage.Literals.DEPENDENCY__GROUP_ID, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Artifact Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArtifactIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Dependency_artifactId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Dependency_artifactId_feature",
+ "_UI_Dependency_type"),
+ PomPackage.Literals.DEPENDENCY__ARTIFACT_ID, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Dependency_version_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Dependency_version_feature",
+ "_UI_Dependency_type"),
+ PomPackage.Literals.DEPENDENCY__VERSION, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Dependency_type_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Dependency_type_feature", "_UI_Dependency_type"),
+ PomPackage.Literals.DEPENDENCY__TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Classifier feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Dependency_classifier_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Dependency_classifier_feature",
+ "_UI_Dependency_type"),
+ PomPackage.Literals.DEPENDENCY__CLASSIFIER, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Scope feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addScopePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Dependency_scope_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Dependency_scope_feature", "_UI_Dependency_type"),
+ PomPackage.Literals.DEPENDENCY__SCOPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the System Path feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSystemPathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Dependency_systemPath_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Dependency_systemPath_feature",
+ "_UI_Dependency_type"),
+ PomPackage.Literals.DEPENDENCY__SYSTEM_PATH, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Optional feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addOptionalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Dependency_optional_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Dependency_optional_feature",
+ "_UI_Dependency_type"),
+ PomPackage.Literals.DEPENDENCY__OPTIONAL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.DEPENDENCY__EXCLUSIONS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Dependency.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Dependency"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Dependency) object).getGroupId();
+ return label == null || label.length() == 0 ? getString("_UI_Dependency_type")
+ : getString("_UI_Dependency_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Dependency.class)) {
+ case PomPackage.DEPENDENCY__GROUP_ID:
+ case PomPackage.DEPENDENCY__ARTIFACT_ID:
+ case PomPackage.DEPENDENCY__VERSION:
+ case PomPackage.DEPENDENCY__TYPE:
+ case PomPackage.DEPENDENCY__CLASSIFIER:
+ case PomPackage.DEPENDENCY__SCOPE:
+ case PomPackage.DEPENDENCY__SYSTEM_PATH:
+ case PomPackage.DEPENDENCY__OPTIONAL:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.DEPENDENCY__EXCLUSIONS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.DEPENDENCY__EXCLUSIONS,
+ PomFactory.eINSTANCE.createExclusion()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DependencyManagementItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DependencyManagementItemProvider.java
new file mode 100644
index 00000000..1a8024ad
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DependencyManagementItemProvider.java
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.DependencyManagement;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.DependencyManagement} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DependencyManagementItemProvider extends ItemProviderAdapter
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DependencyManagementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures
+ .add(PomPackage.Literals.DEPENDENCY_MANAGEMENT__DEPENDENCIES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns DependencyManagement.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/DependencyManagement"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_DependencyManagement_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DependencyManagement.class)) {
+ case PomPackage.DEPENDENCY_MANAGEMENT__DEPENDENCIES:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.DEPENDENCY_MANAGEMENT__DEPENDENCIES,
+ PomFactory.eINSTANCE.createDependency()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DeploymentRepositoryItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DeploymentRepositoryItemProvider.java
new file mode 100644
index 00000000..a0c85aef
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DeploymentRepositoryItemProvider.java
@@ -0,0 +1,241 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.DeploymentRepository;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DeploymentRepositoryItemProvider extends ItemProviderAdapter
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DeploymentRepositoryItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addUniqueVersionPropertyDescriptor(object);
+ addIdPropertyDescriptor(object);
+ addNamePropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ addLayoutPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Unique Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUniqueVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DeploymentRepository_uniqueVersion_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_DeploymentRepository_uniqueVersion_feature",
+ "_UI_DeploymentRepository_type"),
+ PomPackage.Literals.DEPLOYMENT_REPOSITORY__UNIQUE_VERSION,
+ true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DeploymentRepository_id_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_DeploymentRepository_id_feature",
+ "_UI_DeploymentRepository_type"),
+ PomPackage.Literals.DEPLOYMENT_REPOSITORY__ID, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DeploymentRepository_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_DeploymentRepository_name_feature",
+ "_UI_DeploymentRepository_type"),
+ PomPackage.Literals.DEPLOYMENT_REPOSITORY__NAME, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DeploymentRepository_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_DeploymentRepository_url_feature",
+ "_UI_DeploymentRepository_type"),
+ PomPackage.Literals.DEPLOYMENT_REPOSITORY__URL, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Layout feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addLayoutPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DeploymentRepository_layout_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_DeploymentRepository_layout_feature",
+ "_UI_DeploymentRepository_type"),
+ PomPackage.Literals.DEPLOYMENT_REPOSITORY__LAYOUT, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns DeploymentRepository.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/DeploymentRepository"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((DeploymentRepository) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_DeploymentRepository_type")
+ : getString("_UI_DeploymentRepository_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DeploymentRepository.class)) {
+ case PomPackage.DEPLOYMENT_REPOSITORY__UNIQUE_VERSION:
+ case PomPackage.DEPLOYMENT_REPOSITORY__ID:
+ case PomPackage.DEPLOYMENT_REPOSITORY__NAME:
+ case PomPackage.DEPLOYMENT_REPOSITORY__URL:
+ case PomPackage.DEPLOYMENT_REPOSITORY__LAYOUT:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DeveloperItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DeveloperItemProvider.java
new file mode 100644
index 00000000..d3d5f037
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DeveloperItemProvider.java
@@ -0,0 +1,327 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Developer;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Developer} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DeveloperItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DeveloperItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIdPropertyDescriptor(object);
+ addNamePropertyDescriptor(object);
+ addEmailPropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ addOrganizationPropertyDescriptor(object);
+ addOrganizationUrlPropertyDescriptor(object);
+ addTimezonePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Developer_id_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Developer_id_feature", "_UI_Developer_type"),
+ PomPackage.Literals.DEVELOPER__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Developer_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Developer_name_feature", "_UI_Developer_type"),
+ PomPackage.Literals.DEVELOPER__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Email feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addEmailPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Developer_email_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Developer_email_feature", "_UI_Developer_type"),
+ PomPackage.Literals.DEVELOPER__EMAIL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Developer_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Developer_url_feature", "_UI_Developer_type"),
+ PomPackage.Literals.DEVELOPER__URL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Organization feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addOrganizationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Developer_organization_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Developer_organization_feature",
+ "_UI_Developer_type"),
+ PomPackage.Literals.DEVELOPER__ORGANIZATION, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Organization Url feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addOrganizationUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Developer_organizationUrl_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Developer_organizationUrl_feature",
+ "_UI_Developer_type"),
+ PomPackage.Literals.DEVELOPER__ORGANIZATION_URL, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Timezone feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTimezonePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Developer_timezone_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Developer_timezone_feature",
+ "_UI_Developer_type"),
+ PomPackage.Literals.DEVELOPER__TIMEZONE, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.DEVELOPER__PROPERTIES);
+ childrenFeatures.add(PomPackage.Literals.DEVELOPER__ROLES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Developer.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Developer"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Developer) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_Developer_type")
+ : getString("_UI_Developer_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Developer.class)) {
+ case PomPackage.DEVELOPER__ID:
+ case PomPackage.DEVELOPER__NAME:
+ case PomPackage.DEVELOPER__EMAIL:
+ case PomPackage.DEVELOPER__URL:
+ case PomPackage.DEVELOPER__ORGANIZATION:
+ case PomPackage.DEVELOPER__ORGANIZATION_URL:
+ case PomPackage.DEVELOPER__TIMEZONE:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.DEVELOPER__PROPERTIES:
+ case PomPackage.DEVELOPER__ROLES:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.DEVELOPER__PROPERTIES, PomFactory.eINSTANCE
+ .createPropertyElement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.DEVELOPER__ROLES, ""));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DistributionManagementItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DistributionManagementItemProvider.java
new file mode 100644
index 00000000..68db070f
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DistributionManagementItemProvider.java
@@ -0,0 +1,274 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.DistributionManagement;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DistributionManagementItemProvider extends ItemProviderAdapter
+ implements IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DistributionManagementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addDownloadUrlPropertyDescriptor(object);
+ addStatusPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Download Url feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDownloadUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DistributionManagement_downloadUrl_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_DistributionManagement_downloadUrl_feature",
+ "_UI_DistributionManagement_type"),
+ PomPackage.Literals.DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL,
+ true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Status feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addStatusPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DistributionManagement_status_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_DistributionManagement_status_feature",
+ "_UI_DistributionManagement_type"),
+ PomPackage.Literals.DISTRIBUTION_MANAGEMENT__STATUS, true,
+ false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures
+ .add(PomPackage.Literals.DISTRIBUTION_MANAGEMENT__REPOSITORY);
+ childrenFeatures
+ .add(PomPackage.Literals.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY);
+ childrenFeatures
+ .add(PomPackage.Literals.DISTRIBUTION_MANAGEMENT__SITE);
+ childrenFeatures
+ .add(PomPackage.Literals.DISTRIBUTION_MANAGEMENT__RELOCATION);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns DistributionManagement.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/DistributionManagement"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((DistributionManagement) object).getDownloadUrl();
+ return label == null || label.length() == 0 ? getString("_UI_DistributionManagement_type")
+ : getString("_UI_DistributionManagement_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DistributionManagement.class)) {
+ case PomPackage.DISTRIBUTION_MANAGEMENT__DOWNLOAD_URL:
+ case PomPackage.DISTRIBUTION_MANAGEMENT__STATUS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.DISTRIBUTION_MANAGEMENT__REPOSITORY:
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY:
+ case PomPackage.DISTRIBUTION_MANAGEMENT__SITE:
+ case PomPackage.DISTRIBUTION_MANAGEMENT__RELOCATION:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.DISTRIBUTION_MANAGEMENT__REPOSITORY,
+ PomFactory.eINSTANCE.createDeploymentRepository()));
+
+ newChildDescriptors
+ .add(createChildParameter(
+ PomPackage.Literals.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY,
+ PomFactory.eINSTANCE.createDeploymentRepository()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.DISTRIBUTION_MANAGEMENT__SITE,
+ PomFactory.eINSTANCE.createSite()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.DISTRIBUTION_MANAGEMENT__RELOCATION,
+ PomFactory.eINSTANCE.createRelocation()));
+ }
+
+ /**
+ * This returns the label text for
+ * {@link org.eclipse.emf.edit.command.CreateChildCommand}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection<?> selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == PomPackage.Literals.DISTRIBUTION_MANAGEMENT__REPOSITORY
+ || childFeature == PomPackage.Literals.DISTRIBUTION_MANAGEMENT__SNAPSHOT_REPOSITORY;
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", new Object[] {
+ getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DocumentRootItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DocumentRootItemProvider.java
new file mode 100644
index 00000000..74b5278e
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/DocumentRootItemProvider.java
@@ -0,0 +1,178 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.DocumentRoot;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.DocumentRoot} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DocumentRootItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DocumentRootItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.DOCUMENT_ROOT__PROJECT);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns DocumentRoot.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/DocumentRoot"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_DocumentRoot_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DocumentRoot.class)) {
+ case PomPackage.DOCUMENT_ROOT__PROJECT:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.DOCUMENT_ROOT__PROJECT,
+ PomFactory.eINSTANCE.createModel()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ExclusionItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ExclusionItemProvider.java
new file mode 100644
index 00000000..5d4b48f1
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ExclusionItemProvider.java
@@ -0,0 +1,178 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Exclusion;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Exclusion} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ExclusionItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExclusionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addArtifactIdPropertyDescriptor(object);
+ addGroupIdPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Artifact Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArtifactIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Exclusion_artifactId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Exclusion_artifactId_feature",
+ "_UI_Exclusion_type"),
+ PomPackage.Literals.EXCLUSION__ARTIFACT_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Group Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGroupIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Exclusion_groupId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Exclusion_groupId_feature", "_UI_Exclusion_type"),
+ PomPackage.Literals.EXCLUSION__GROUP_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Exclusion.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Exclusion"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Exclusion) object).getArtifactId();
+ return label == null || label.length() == 0 ? getString("_UI_Exclusion_type")
+ : getString("_UI_Exclusion_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Exclusion.class)) {
+ case PomPackage.EXCLUSION__ARTIFACT_ID:
+ case PomPackage.EXCLUSION__GROUP_ID:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ExtensionItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ExtensionItemProvider.java
new file mode 100644
index 00000000..e68dc41f
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ExtensionItemProvider.java
@@ -0,0 +1,197 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Extension;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Extension} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ExtensionItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ExtensionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addGroupIdPropertyDescriptor(object);
+ addArtifactIdPropertyDescriptor(object);
+ addVersionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Group Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGroupIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Extension_groupId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Extension_groupId_feature", "_UI_Extension_type"),
+ PomPackage.Literals.EXTENSION__GROUP_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Artifact Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArtifactIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Extension_artifactId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Extension_artifactId_feature",
+ "_UI_Extension_type"),
+ PomPackage.Literals.EXTENSION__ARTIFACT_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Extension_version_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Extension_version_feature", "_UI_Extension_type"),
+ PomPackage.Literals.EXTENSION__VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Extension.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Extension"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Extension) object).getGroupId();
+ return label == null || label.length() == 0 ? getString("_UI_Extension_type")
+ : getString("_UI_Extension_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Extension.class)) {
+ case PomPackage.EXTENSION__GROUP_ID:
+ case PomPackage.EXTENSION__ARTIFACT_ID:
+ case PomPackage.EXTENSION__VERSION:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/IssueManagementItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/IssueManagementItemProvider.java
new file mode 100644
index 00000000..a18ccb30
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/IssueManagementItemProvider.java
@@ -0,0 +1,180 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.IssueManagement;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.IssueManagement} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class IssueManagementItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IssueManagementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addSystemPropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the System feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSystemPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_IssueManagement_system_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_IssueManagement_system_feature",
+ "_UI_IssueManagement_type"),
+ PomPackage.Literals.ISSUE_MANAGEMENT__SYSTEM, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_IssueManagement_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_IssueManagement_url_feature",
+ "_UI_IssueManagement_type"),
+ PomPackage.Literals.ISSUE_MANAGEMENT__URL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns IssueManagement.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/IssueManagement"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((IssueManagement) object).getSystem();
+ return label == null || label.length() == 0 ? getString("_UI_IssueManagement_type")
+ : getString("_UI_IssueManagement_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(IssueManagement.class)) {
+ case PomPackage.ISSUE_MANAGEMENT__SYSTEM:
+ case PomPackage.ISSUE_MANAGEMENT__URL:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/LicenseItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/LicenseItemProvider.java
new file mode 100644
index 00000000..17e82b21
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/LicenseItemProvider.java
@@ -0,0 +1,218 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.License;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.License} object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class LicenseItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public LicenseItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ addDistributionPropertyDescriptor(object);
+ addCommentsPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_License_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_License_name_feature", "_UI_License_type"),
+ PomPackage.Literals.LICENSE__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_License_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_License_url_feature", "_UI_License_type"),
+ PomPackage.Literals.LICENSE__URL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Distribution feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDistributionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_License_distribution_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_License_distribution_feature",
+ "_UI_License_type"),
+ PomPackage.Literals.LICENSE__DISTRIBUTION, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Comments feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addCommentsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_License_comments_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_License_comments_feature", "_UI_License_type"),
+ PomPackage.Literals.LICENSE__COMMENTS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns License.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/License"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((License) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_License_type")
+ : getString("_UI_License_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(License.class)) {
+ case PomPackage.LICENSE__NAME:
+ case PomPackage.LICENSE__URL:
+ case PomPackage.LICENSE__DISTRIBUTION:
+ case PomPackage.LICENSE__COMMENTS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/MailingListItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/MailingListItemProvider.java
new file mode 100644
index 00000000..74680083
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/MailingListItemProvider.java
@@ -0,0 +1,288 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.MailingList;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class MailingListItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public MailingListItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addSubscribePropertyDescriptor(object);
+ addUnsubscribePropertyDescriptor(object);
+ addPostPropertyDescriptor(object);
+ addArchivePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_MailingList_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_MailingList_name_feature",
+ "_UI_MailingList_type"),
+ PomPackage.Literals.MAILING_LIST__NAME, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Subscribe feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSubscribePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_MailingList_subscribe_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_MailingList_subscribe_feature",
+ "_UI_MailingList_type"),
+ PomPackage.Literals.MAILING_LIST__SUBSCRIBE, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Unsubscribe feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUnsubscribePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_MailingList_unsubscribe_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_MailingList_unsubscribe_feature",
+ "_UI_MailingList_type"),
+ PomPackage.Literals.MAILING_LIST__UNSUBSCRIBE, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Post feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addPostPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_MailingList_post_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_MailingList_post_feature",
+ "_UI_MailingList_type"),
+ PomPackage.Literals.MAILING_LIST__POST, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Archive feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArchivePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_MailingList_archive_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_MailingList_archive_feature",
+ "_UI_MailingList_type"),
+ PomPackage.Literals.MAILING_LIST__ARCHIVE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures
+ .add(PomPackage.Literals.MAILING_LIST__OTHER_ARCHIVES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns MailingList.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/MailingList"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((MailingList) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_MailingList_type")
+ : getString("_UI_MailingList_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(MailingList.class)) {
+ case PomPackage.MAILING_LIST__NAME:
+ case PomPackage.MAILING_LIST__SUBSCRIBE:
+ case PomPackage.MAILING_LIST__UNSUBSCRIBE:
+ case PomPackage.MAILING_LIST__POST:
+ case PomPackage.MAILING_LIST__ARCHIVE:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.MAILING_LIST__OTHER_ARCHIVES:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MAILING_LIST__OTHER_ARCHIVES, ""));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ModelItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ModelItemProvider.java
new file mode 100644
index 00000000..81c2d12d
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ModelItemProvider.java
@@ -0,0 +1,495 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Model;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Model} object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ModelItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ModelItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addModelVersionPropertyDescriptor(object);
+ addGroupIdPropertyDescriptor(object);
+ addArtifactIdPropertyDescriptor(object);
+ addPackagingPropertyDescriptor(object);
+ addNamePropertyDescriptor(object);
+ addVersionPropertyDescriptor(object);
+ addDescriptionPropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ addInceptionYearPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Model Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addModelVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Model_modelVersion_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Model_modelVersion_feature", "_UI_Model_type"),
+ PomPackage.Literals.MODEL__MODEL_VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Group Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGroupIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Model_groupId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Model_groupId_feature", "_UI_Model_type"),
+ PomPackage.Literals.MODEL__GROUP_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Artifact Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArtifactIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Model_artifactId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Model_artifactId_feature", "_UI_Model_type"),
+ PomPackage.Literals.MODEL__ARTIFACT_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Packaging feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addPackagingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Model_packaging_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Model_packaging_feature", "_UI_Model_type"),
+ PomPackage.Literals.MODEL__PACKAGING, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Model_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Model_name_feature", "_UI_Model_type"),
+ PomPackage.Literals.MODEL__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Model_version_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Model_version_feature", "_UI_Model_type"),
+ PomPackage.Literals.MODEL__VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Description feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDescriptionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Model_description_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Model_description_feature", "_UI_Model_type"),
+ PomPackage.Literals.MODEL__DESCRIPTION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Model_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Model_url_feature", "_UI_Model_type"),
+ PomPackage.Literals.MODEL__URL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Inception Year feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addInceptionYearPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Model_inceptionYear_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Model_inceptionYear_feature", "_UI_Model_type"),
+ PomPackage.Literals.MODEL__INCEPTION_YEAR, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.MODEL__PARENT);
+ childrenFeatures.add(PomPackage.Literals.MODEL__PREREQUISITES);
+ childrenFeatures.add(PomPackage.Literals.MODEL__ISSUE_MANAGEMENT);
+ childrenFeatures.add(PomPackage.Literals.MODEL__CI_MANAGEMENT);
+ childrenFeatures.add(PomPackage.Literals.MODEL__MAILING_LISTS);
+ childrenFeatures.add(PomPackage.Literals.MODEL__DEVELOPERS);
+ childrenFeatures.add(PomPackage.Literals.MODEL__CONTRIBUTORS);
+ childrenFeatures.add(PomPackage.Literals.MODEL__LICENSES);
+ childrenFeatures.add(PomPackage.Literals.MODEL__SCM);
+ childrenFeatures.add(PomPackage.Literals.MODEL__ORGANIZATION);
+ childrenFeatures.add(PomPackage.Literals.MODEL__BUILD);
+ childrenFeatures.add(PomPackage.Literals.MODEL__PROFILES);
+ childrenFeatures.add(PomPackage.Literals.MODEL__REPOSITORIES);
+ childrenFeatures
+ .add(PomPackage.Literals.MODEL__PLUGIN_REPOSITORIES);
+ childrenFeatures.add(PomPackage.Literals.MODEL__DEPENDENCIES);
+ childrenFeatures.add(PomPackage.Literals.MODEL__REPORTING);
+ childrenFeatures
+ .add(PomPackage.Literals.MODEL__DEPENDENCY_MANAGEMENT);
+ childrenFeatures
+ .add(PomPackage.Literals.MODEL__DISTRIBUTION_MANAGEMENT);
+ childrenFeatures.add(PomPackage.Literals.MODEL__PROPERTIES);
+ childrenFeatures.add(PomPackage.Literals.MODEL__MODULES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Model.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Model"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Model) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_Model_type")
+ : getString("_UI_Model_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Model.class)) {
+ case PomPackage.MODEL__MODEL_VERSION:
+ case PomPackage.MODEL__GROUP_ID:
+ case PomPackage.MODEL__ARTIFACT_ID:
+ case PomPackage.MODEL__PACKAGING:
+ case PomPackage.MODEL__NAME:
+ case PomPackage.MODEL__VERSION:
+ case PomPackage.MODEL__DESCRIPTION:
+ case PomPackage.MODEL__URL:
+ case PomPackage.MODEL__INCEPTION_YEAR:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.MODEL__PARENT:
+ case PomPackage.MODEL__PREREQUISITES:
+ case PomPackage.MODEL__ISSUE_MANAGEMENT:
+ case PomPackage.MODEL__CI_MANAGEMENT:
+ case PomPackage.MODEL__MAILING_LISTS:
+ case PomPackage.MODEL__DEVELOPERS:
+ case PomPackage.MODEL__CONTRIBUTORS:
+ case PomPackage.MODEL__LICENSES:
+ case PomPackage.MODEL__SCM:
+ case PomPackage.MODEL__ORGANIZATION:
+ case PomPackage.MODEL__BUILD:
+ case PomPackage.MODEL__PROFILES:
+ case PomPackage.MODEL__REPOSITORIES:
+ case PomPackage.MODEL__PLUGIN_REPOSITORIES:
+ case PomPackage.MODEL__DEPENDENCIES:
+ case PomPackage.MODEL__REPORTING:
+ case PomPackage.MODEL__DEPENDENCY_MANAGEMENT:
+ case PomPackage.MODEL__DISTRIBUTION_MANAGEMENT:
+ case PomPackage.MODEL__PROPERTIES:
+ case PomPackage.MODEL__MODULES:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__PARENT, PomFactory.eINSTANCE
+ .createParent()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__PREREQUISITES, PomFactory.eINSTANCE
+ .createPrerequisites()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__ISSUE_MANAGEMENT,
+ PomFactory.eINSTANCE.createIssueManagement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__CI_MANAGEMENT, PomFactory.eINSTANCE
+ .createCiManagement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__MAILING_LISTS, PomFactory.eINSTANCE
+ .createMailingList()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__DEVELOPERS, PomFactory.eINSTANCE
+ .createDeveloper()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__CONTRIBUTORS, PomFactory.eINSTANCE
+ .createContributor()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__LICENSES, PomFactory.eINSTANCE
+ .createLicense()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__SCM, PomFactory.eINSTANCE
+ .createScm()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__ORGANIZATION, PomFactory.eINSTANCE
+ .createOrganization()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__BUILD, PomFactory.eINSTANCE
+ .createBuild()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__PROFILES, PomFactory.eINSTANCE
+ .createProfile()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__REPOSITORIES, PomFactory.eINSTANCE
+ .createRepository()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__PLUGIN_REPOSITORIES,
+ PomFactory.eINSTANCE.createRepository()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__DEPENDENCIES, PomFactory.eINSTANCE
+ .createDependency()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__REPORTING, PomFactory.eINSTANCE
+ .createReporting()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__DEPENDENCY_MANAGEMENT,
+ PomFactory.eINSTANCE.createDependencyManagement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__DISTRIBUTION_MANAGEMENT,
+ PomFactory.eINSTANCE.createDistributionManagement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__PROPERTIES, PomFactory.eINSTANCE
+ .createPropertyElement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.MODEL__MODULES, ""));
+ }
+
+ /**
+ * This returns the label text for
+ * {@link org.eclipse.emf.edit.command.CreateChildCommand}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection<?> selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == PomPackage.Literals.MODEL__REPOSITORIES
+ || childFeature == PomPackage.Literals.MODEL__PLUGIN_REPOSITORIES;
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", new Object[] {
+ getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/NotifierItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/NotifierItemProvider.java
new file mode 100644
index 00000000..8c958942
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/NotifierItemProvider.java
@@ -0,0 +1,304 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Notifier;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier} object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class NotifierItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotifierItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTypePropertyDescriptor(object);
+ addSendOnErrorPropertyDescriptor(object);
+ addSendOnFailurePropertyDescriptor(object);
+ addSendOnSuccessPropertyDescriptor(object);
+ addSendOnWarningPropertyDescriptor(object);
+ addAddressPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Type feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Notifier_type_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Notifier_type_feature", "_UI_Notifier_type"),
+ PomPackage.Literals.NOTIFIER__TYPE, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Send On Error feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSendOnErrorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Notifier_sendOnError_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_Notifier_sendOnError_feature",
+ "_UI_Notifier_type"),
+ PomPackage.Literals.NOTIFIER__SEND_ON_ERROR, true,
+ false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Send On Failure feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSendOnFailurePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Notifier_sendOnFailure_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Notifier_sendOnFailure_feature",
+ "_UI_Notifier_type"),
+ PomPackage.Literals.NOTIFIER__SEND_ON_FAILURE, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Send On Success feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSendOnSuccessPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Notifier_sendOnSuccess_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Notifier_sendOnSuccess_feature",
+ "_UI_Notifier_type"),
+ PomPackage.Literals.NOTIFIER__SEND_ON_SUCCESS, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Send On Warning feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addSendOnWarningPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Notifier_sendOnWarning_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Notifier_sendOnWarning_feature",
+ "_UI_Notifier_type"),
+ PomPackage.Literals.NOTIFIER__SEND_ON_WARNING, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Address feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addAddressPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Notifier_address_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Notifier_address_feature", "_UI_Notifier_type"),
+ PomPackage.Literals.NOTIFIER__ADDRESS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.NOTIFIER__CONFIGURATION);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Notifier.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Notifier"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Notifier) object).getType();
+ return label == null || label.length() == 0 ? getString("_UI_Notifier_type")
+ : getString("_UI_Notifier_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Notifier.class)) {
+ case PomPackage.NOTIFIER__TYPE:
+ case PomPackage.NOTIFIER__SEND_ON_ERROR:
+ case PomPackage.NOTIFIER__SEND_ON_FAILURE:
+ case PomPackage.NOTIFIER__SEND_ON_SUCCESS:
+ case PomPackage.NOTIFIER__SEND_ON_WARNING:
+ case PomPackage.NOTIFIER__ADDRESS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.NOTIFIER__CONFIGURATION:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.NOTIFIER__CONFIGURATION,
+ PomFactory.eINSTANCE.createPropertyElement()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/OrganizationItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/OrganizationItemProvider.java
new file mode 100644
index 00000000..d30dccae
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/OrganizationItemProvider.java
@@ -0,0 +1,182 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Organization;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Organization} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class OrganizationItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public OrganizationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Organization_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Organization_name_feature",
+ "_UI_Organization_type"),
+ PomPackage.Literals.ORGANIZATION__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Organization_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Organization_url_feature",
+ "_UI_Organization_type"),
+ PomPackage.Literals.ORGANIZATION__URL, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This returns Organization.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Organization"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Organization) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_Organization_type")
+ : getString("_UI_Organization_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Organization.class)) {
+ case PomPackage.ORGANIZATION__NAME:
+ case PomPackage.ORGANIZATION__URL:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ParentItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ParentItemProvider.java
new file mode 100644
index 00000000..fb46c3a1
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ParentItemProvider.java
@@ -0,0 +1,215 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Parent;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Parent} object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ParentItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ParentItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addArtifactIdPropertyDescriptor(object);
+ addGroupIdPropertyDescriptor(object);
+ addVersionPropertyDescriptor(object);
+ addRelativePathPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Artifact Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArtifactIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Parent_artifactId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Parent_artifactId_feature", "_UI_Parent_type"),
+ PomPackage.Literals.PARENT__ARTIFACT_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Group Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGroupIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Parent_groupId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Parent_groupId_feature", "_UI_Parent_type"),
+ PomPackage.Literals.PARENT__GROUP_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Parent_version_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Parent_version_feature", "_UI_Parent_type"),
+ PomPackage.Literals.PARENT__VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Relative Path feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addRelativePathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Parent_relativePath_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Parent_relativePath_feature", "_UI_Parent_type"),
+ PomPackage.Literals.PARENT__RELATIVE_PATH, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Parent.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Parent"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Parent) object).getArtifactId();
+ return label == null || label.length() == 0 ? getString("_UI_Parent_type")
+ : getString("_UI_Parent_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Parent.class)) {
+ case PomPackage.PARENT__ARTIFACT_ID:
+ case PomPackage.PARENT__GROUP_ID:
+ case PomPackage.PARENT__VERSION:
+ case PomPackage.PARENT__RELATIVE_PATH:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginExecutionItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginExecutionItemProvider.java
new file mode 100644
index 00000000..3a1d1340
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginExecutionItemProvider.java
@@ -0,0 +1,262 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PluginExecution;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PluginExecutionItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PluginExecutionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIdPropertyDescriptor(object);
+ addPhasePropertyDescriptor(object);
+ addInheritedPropertyDescriptor(object);
+ addConfigurationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_PluginExecution_id_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_PluginExecution_id_feature",
+ "_UI_PluginExecution_type"),
+ PomPackage.Literals.PLUGIN_EXECUTION__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Phase feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addPhasePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_PluginExecution_phase_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_PluginExecution_phase_feature",
+ "_UI_PluginExecution_type"),
+ PomPackage.Literals.PLUGIN_EXECUTION__PHASE, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Inherited feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addInheritedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_PluginExecution_inherited_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_PluginExecution_inherited_feature",
+ "_UI_PluginExecution_type"),
+ PomPackage.Literals.PLUGIN_EXECUTION__INHERITED, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Configuration feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addConfigurationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_PluginExecution_configuration_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_PluginExecution_configuration_feature",
+ "_UI_PluginExecution_type"),
+ PomPackage.Literals.PLUGIN_EXECUTION__CONFIGURATION, true,
+ false, true, null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.PLUGIN_EXECUTION__GOALS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns PluginExecution.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/PluginExecution"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((PluginExecution) object).getId();
+ return label == null || label.length() == 0 ? getString("_UI_PluginExecution_type")
+ : getString("_UI_PluginExecution_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(PluginExecution.class)) {
+ case PomPackage.PLUGIN_EXECUTION__ID:
+ case PomPackage.PLUGIN_EXECUTION__PHASE:
+ case PomPackage.PLUGIN_EXECUTION__INHERITED:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.PLUGIN_EXECUTION__GOALS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PLUGIN_EXECUTION__GOALS, ""));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginItemProvider.java
new file mode 100644
index 00000000..ba7965eb
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginItemProvider.java
@@ -0,0 +1,303 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.Plugin;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin} object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PluginItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PluginItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addGroupIdPropertyDescriptor(object);
+ addArtifactIdPropertyDescriptor(object);
+ addVersionPropertyDescriptor(object);
+ addExtensionsPropertyDescriptor(object);
+ addInheritedPropertyDescriptor(object);
+ addConfigurationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Group Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGroupIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Plugin_groupId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Plugin_groupId_feature", "_UI_Plugin_type"),
+ PomPackage.Literals.PLUGIN__GROUP_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Artifact Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArtifactIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Plugin_artifactId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Plugin_artifactId_feature", "_UI_Plugin_type"),
+ PomPackage.Literals.PLUGIN__ARTIFACT_ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Plugin_version_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Plugin_version_feature", "_UI_Plugin_type"),
+ PomPackage.Literals.PLUGIN__VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Extensions feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addExtensionsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Plugin_extensions_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Plugin_extensions_feature", "_UI_Plugin_type"),
+ PomPackage.Literals.PLUGIN__EXTENSIONS, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Inherited feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addInheritedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Plugin_inherited_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Plugin_inherited_feature", "_UI_Plugin_type"),
+ PomPackage.Literals.PLUGIN__INHERITED, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Configuration feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addConfigurationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Plugin_configuration_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Plugin_configuration_feature", "_UI_Plugin_type"),
+ PomPackage.Literals.PLUGIN__CONFIGURATION, true, false, true,
+ null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.PLUGIN__EXECUTIONS);
+ childrenFeatures.add(PomPackage.Literals.PLUGIN__DEPENDENCIES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Plugin.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Plugin"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Plugin) object).getGroupId();
+ return label == null || label.length() == 0 ? getString("_UI_Plugin_type")
+ : getString("_UI_Plugin_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Plugin.class)) {
+ case PomPackage.PLUGIN__GROUP_ID:
+ case PomPackage.PLUGIN__ARTIFACT_ID:
+ case PomPackage.PLUGIN__VERSION:
+ case PomPackage.PLUGIN__EXTENSIONS:
+ case PomPackage.PLUGIN__INHERITED:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.PLUGIN__EXECUTIONS:
+ case PomPackage.PLUGIN__DEPENDENCIES:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PLUGIN__EXECUTIONS, PomFactory.eINSTANCE
+ .createPluginExecution()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PLUGIN__DEPENDENCIES, PomFactory.eINSTANCE
+ .createDependency()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginManagementItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginManagementItemProvider.java
new file mode 100644
index 00000000..b2e3eba5
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PluginManagementItemProvider.java
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PluginManagement;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.PluginManagement} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PluginManagementItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PluginManagementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures
+ .add(PomPackage.Literals.PLUGIN_MANAGEMENT__PLUGINS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns PluginManagement.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/PluginManagement"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_PluginManagement_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(PluginManagement.class)) {
+ case PomPackage.PLUGIN_MANAGEMENT__PLUGINS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PLUGIN_MANAGEMENT__PLUGINS,
+ PomFactory.eINSTANCE.createPlugin()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PomEditPlugin.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PomEditPlugin.java
new file mode 100644
index 00000000..a395f972
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PomEditPlugin.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Pom edit plugin. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public final class PomEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public static final PomEditPlugin INSTANCE = new PomEditPlugin();
+
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PomEditPlugin() {
+ super(new ResourceLocator[] {});
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PomItemProviderAdapterFactory.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PomItemProviderAdapterFactory.java
new file mode 100644
index 00000000..150ee816
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PomItemProviderAdapterFactory.java
@@ -0,0 +1,1243 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.m2e.model.edit.pom.util.PomAdapterFactory;
+
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support
+ * Viewers. The adapters generated by this factory convert EMF adapter
+ * notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. The
+ * adapters also support Eclipse property sheets. Note that most of the adapters
+ * are shared among multiple instances. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class PomItemProviderAdapterFactory extends PomAdapterFactory implements
+ ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this
+ * adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement
+ * {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by
+ * {@link #isFactoryForType isFactoryForType}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public PomItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Activation} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivationItemProvider activationItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Activation}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createActivationAdapter() {
+ if (activationItemProvider == null) {
+ activationItemProvider = new ActivationItemProvider(this);
+ }
+
+ return activationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationFile} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivationFileItemProvider activationFileItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationFile}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createActivationFileAdapter() {
+ if (activationFileItemProvider == null) {
+ activationFileItemProvider = new ActivationFileItemProvider(this);
+ }
+
+ return activationFileItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationOS} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivationOSItemProvider activationOSItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationOS}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createActivationOSAdapter() {
+ if (activationOSItemProvider == null) {
+ activationOSItemProvider = new ActivationOSItemProvider(this);
+ }
+
+ return activationOSItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationProperty} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ActivationPropertyItemProvider activationPropertyItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationProperty}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createActivationPropertyAdapter() {
+ if (activationPropertyItemProvider == null) {
+ activationPropertyItemProvider = new ActivationPropertyItemProvider(
+ this);
+ }
+
+ return activationPropertyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Build} instances. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BuildItemProvider buildItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.m2e.model.edit.pom.Build}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createBuildAdapter() {
+ if (buildItemProvider == null) {
+ buildItemProvider = new BuildItemProvider(this);
+ }
+
+ return buildItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected BuildBaseItemProvider buildBaseItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createBuildBaseAdapter() {
+ if (buildBaseItemProvider == null) {
+ buildBaseItemProvider = new BuildBaseItemProvider(this);
+ }
+
+ return buildBaseItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.CiManagement} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CiManagementItemProvider ciManagementItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.CiManagement}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createCiManagementAdapter() {
+ if (ciManagementItemProvider == null) {
+ ciManagementItemProvider = new CiManagementItemProvider(this);
+ }
+
+ return ciManagementItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ContributorItemProvider contributorItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createContributorAdapter() {
+ if (contributorItemProvider == null) {
+ contributorItemProvider = new ContributorItemProvider(this);
+ }
+
+ return contributorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DependencyItemProvider dependencyItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDependencyAdapter() {
+ if (dependencyItemProvider == null) {
+ dependencyItemProvider = new DependencyItemProvider(this);
+ }
+
+ return dependencyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.DependencyManagement} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DependencyManagementItemProvider dependencyManagementItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.DependencyManagement}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDependencyManagementAdapter() {
+ if (dependencyManagementItemProvider == null) {
+ dependencyManagementItemProvider = new DependencyManagementItemProvider(
+ this);
+ }
+
+ return dependencyManagementItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DeploymentRepositoryItemProvider deploymentRepositoryItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDeploymentRepositoryAdapter() {
+ if (deploymentRepositoryItemProvider == null) {
+ deploymentRepositoryItemProvider = new DeploymentRepositoryItemProvider(
+ this);
+ }
+
+ return deploymentRepositoryItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Developer} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DeveloperItemProvider developerItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Developer}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDeveloperAdapter() {
+ if (developerItemProvider == null) {
+ developerItemProvider = new DeveloperItemProvider(this);
+ }
+
+ return developerItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement} instances.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DistributionManagementItemProvider distributionManagementItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDistributionManagementAdapter() {
+ if (distributionManagementItemProvider == null) {
+ distributionManagementItemProvider = new DistributionManagementItemProvider(
+ this);
+ }
+
+ return distributionManagementItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.DocumentRoot} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DocumentRootItemProvider documentRootItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.DocumentRoot}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDocumentRootAdapter() {
+ if (documentRootItemProvider == null) {
+ documentRootItemProvider = new DocumentRootItemProvider(this);
+ }
+
+ return documentRootItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Exclusion} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExclusionItemProvider exclusionItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Exclusion}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createExclusionAdapter() {
+ if (exclusionItemProvider == null) {
+ exclusionItemProvider = new ExclusionItemProvider(this);
+ }
+
+ return exclusionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Extension} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ExtensionItemProvider extensionItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Extension}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createExtensionAdapter() {
+ if (extensionItemProvider == null) {
+ extensionItemProvider = new ExtensionItemProvider(this);
+ }
+
+ return extensionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.IssueManagement} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IssueManagementItemProvider issueManagementItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.IssueManagement}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createIssueManagementAdapter() {
+ if (issueManagementItemProvider == null) {
+ issueManagementItemProvider = new IssueManagementItemProvider(this);
+ }
+
+ return issueManagementItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.License} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LicenseItemProvider licenseItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.License}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createLicenseAdapter() {
+ if (licenseItemProvider == null) {
+ licenseItemProvider = new LicenseItemProvider(this);
+ }
+
+ return licenseItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MailingListItemProvider mailingListItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createMailingListAdapter() {
+ if (mailingListItemProvider == null) {
+ mailingListItemProvider = new MailingListItemProvider(this);
+ }
+
+ return mailingListItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Model} instances. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ModelItemProvider modelItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.m2e.model.edit.pom.Model}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createModelAdapter() {
+ if (modelItemProvider == null) {
+ modelItemProvider = new ModelItemProvider(this);
+ }
+
+ return modelItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected NotifierItemProvider notifierItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createNotifierAdapter() {
+ if (notifierItemProvider == null) {
+ notifierItemProvider = new NotifierItemProvider(this);
+ }
+
+ return notifierItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Organization} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected OrganizationItemProvider organizationItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Organization}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createOrganizationAdapter() {
+ if (organizationItemProvider == null) {
+ organizationItemProvider = new OrganizationItemProvider(this);
+ }
+
+ return organizationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Parent} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ParentItemProvider parentItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.m2e.model.edit.pom.Parent}
+ * . <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createParentAdapter() {
+ if (parentItemProvider == null) {
+ parentItemProvider = new ParentItemProvider(this);
+ }
+
+ return parentItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PluginItemProvider pluginItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.m2e.model.edit.pom.Plugin}
+ * . <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createPluginAdapter() {
+ if (pluginItemProvider == null) {
+ pluginItemProvider = new PluginItemProvider(this);
+ }
+
+ return pluginItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PluginExecutionItemProvider pluginExecutionItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createPluginExecutionAdapter() {
+ if (pluginExecutionItemProvider == null) {
+ pluginExecutionItemProvider = new PluginExecutionItemProvider(this);
+ }
+
+ return pluginExecutionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.PluginManagement} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PluginManagementItemProvider pluginManagementItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.PluginManagement}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createPluginManagementAdapter() {
+ if (pluginManagementItemProvider == null) {
+ pluginManagementItemProvider = new PluginManagementItemProvider(
+ this);
+ }
+
+ return pluginManagementItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Prerequisites} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PrerequisitesItemProvider prerequisitesItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Prerequisites}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createPrerequisitesAdapter() {
+ if (prerequisitesItemProvider == null) {
+ prerequisitesItemProvider = new PrerequisitesItemProvider(this);
+ }
+
+ return prerequisitesItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Profile} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ProfileItemProvider profileItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Profile}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createProfileAdapter() {
+ if (profileItemProvider == null) {
+ profileItemProvider = new ProfileItemProvider(this);
+ }
+
+ return profileItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Relocation} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RelocationItemProvider relocationItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Relocation}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createRelocationAdapter() {
+ if (relocationItemProvider == null) {
+ relocationItemProvider = new RelocationItemProvider(this);
+ }
+
+ return relocationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReportingItemProvider reportingItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createReportingAdapter() {
+ if (reportingItemProvider == null) {
+ reportingItemProvider = new ReportingItemProvider(this);
+ }
+
+ return reportingItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReportPluginItemProvider reportPluginItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createReportPluginAdapter() {
+ if (reportPluginItemProvider == null) {
+ reportPluginItemProvider = new ReportPluginItemProvider(this);
+ }
+
+ return reportPluginItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ReportSetItemProvider reportSetItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createReportSetAdapter() {
+ if (reportSetItemProvider == null) {
+ reportSetItemProvider = new ReportSetItemProvider(this);
+ }
+
+ return reportSetItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Repository} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RepositoryItemProvider repositoryItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Repository}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createRepositoryAdapter() {
+ if (repositoryItemProvider == null) {
+ repositoryItemProvider = new RepositoryItemProvider(this);
+ }
+
+ return repositoryItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RepositoryPolicyItemProvider repositoryPolicyItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createRepositoryPolicyAdapter() {
+ if (repositoryPolicyItemProvider == null) {
+ repositoryPolicyItemProvider = new RepositoryPolicyItemProvider(
+ this);
+ }
+
+ return repositoryPolicyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Resource} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ResourceItemProvider resourceItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Resource}. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createResourceAdapter() {
+ if (resourceItemProvider == null) {
+ resourceItemProvider = new ResourceItemProvider(this);
+ }
+
+ return resourceItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Scm} instances. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ScmItemProvider scmItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.m2e.model.edit.pom.Scm}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createScmAdapter() {
+ if (scmItemProvider == null) {
+ scmItemProvider = new ScmItemProvider(this);
+ }
+
+ return scmItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Site} instances. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SiteItemProvider siteItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.m2e.model.edit.pom.Site}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createSiteAdapter() {
+ if (siteItemProvider == null) {
+ siteItemProvider = new SiteItemProvider(this);
+ }
+
+ return siteItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PropertyElementItemProvider propertyElementItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createPropertyElementAdapter() {
+ if (propertyElementItemProvider == null) {
+ propertyElementItemProvider = new PropertyElementItemProvider(this);
+ }
+
+ return propertyElementItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.m2e.model.edit.pom.Configuration} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ConfigurationItemProvider configurationItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Configuration}. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createConfigurationAdapter() {
+ if (configurationItemProvider == null) {
+ configurationItemProvider = new ConfigurationItemProvider(this);
+ }
+
+ return configurationItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory
+ .getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setParentAdapterFactory(
+ ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the
+ * adapter. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class)
+ || (((Class<?>) type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to
+ * {@link #parentAdapterFactory}. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void dispose() {
+ if (activationItemProvider != null)
+ activationItemProvider.dispose();
+ if (activationFileItemProvider != null)
+ activationFileItemProvider.dispose();
+ if (activationOSItemProvider != null)
+ activationOSItemProvider.dispose();
+ if (activationPropertyItemProvider != null)
+ activationPropertyItemProvider.dispose();
+ if (buildItemProvider != null)
+ buildItemProvider.dispose();
+ if (buildBaseItemProvider != null)
+ buildBaseItemProvider.dispose();
+ if (ciManagementItemProvider != null)
+ ciManagementItemProvider.dispose();
+ if (contributorItemProvider != null)
+ contributorItemProvider.dispose();
+ if (dependencyItemProvider != null)
+ dependencyItemProvider.dispose();
+ if (dependencyManagementItemProvider != null)
+ dependencyManagementItemProvider.dispose();
+ if (deploymentRepositoryItemProvider != null)
+ deploymentRepositoryItemProvider.dispose();
+ if (developerItemProvider != null)
+ developerItemProvider.dispose();
+ if (distributionManagementItemProvider != null)
+ distributionManagementItemProvider.dispose();
+ if (documentRootItemProvider != null)
+ documentRootItemProvider.dispose();
+ if (exclusionItemProvider != null)
+ exclusionItemProvider.dispose();
+ if (extensionItemProvider != null)
+ extensionItemProvider.dispose();
+ if (issueManagementItemProvider != null)
+ issueManagementItemProvider.dispose();
+ if (licenseItemProvider != null)
+ licenseItemProvider.dispose();
+ if (mailingListItemProvider != null)
+ mailingListItemProvider.dispose();
+ if (modelItemProvider != null)
+ modelItemProvider.dispose();
+ if (notifierItemProvider != null)
+ notifierItemProvider.dispose();
+ if (organizationItemProvider != null)
+ organizationItemProvider.dispose();
+ if (parentItemProvider != null)
+ parentItemProvider.dispose();
+ if (pluginItemProvider != null)
+ pluginItemProvider.dispose();
+ if (pluginExecutionItemProvider != null)
+ pluginExecutionItemProvider.dispose();
+ if (pluginManagementItemProvider != null)
+ pluginManagementItemProvider.dispose();
+ if (prerequisitesItemProvider != null)
+ prerequisitesItemProvider.dispose();
+ if (profileItemProvider != null)
+ profileItemProvider.dispose();
+ if (relocationItemProvider != null)
+ relocationItemProvider.dispose();
+ if (reportingItemProvider != null)
+ reportingItemProvider.dispose();
+ if (reportPluginItemProvider != null)
+ reportPluginItemProvider.dispose();
+ if (reportSetItemProvider != null)
+ reportSetItemProvider.dispose();
+ if (repositoryItemProvider != null)
+ repositoryItemProvider.dispose();
+ if (repositoryPolicyItemProvider != null)
+ repositoryPolicyItemProvider.dispose();
+ if (resourceItemProvider != null)
+ resourceItemProvider.dispose();
+ if (scmItemProvider != null)
+ scmItemProvider.dispose();
+ if (siteItemProvider != null)
+ siteItemProvider.dispose();
+ if (propertyElementItemProvider != null)
+ propertyElementItemProvider.dispose();
+ if (configurationItemProvider != null)
+ configurationItemProvider.dispose();
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PrerequisitesItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PrerequisitesItemProvider.java
new file mode 100644
index 00000000..216d9334
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PrerequisitesItemProvider.java
@@ -0,0 +1,160 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Prerequisites;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Prerequisites} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PrerequisitesItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PrerequisitesItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addMavenPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Maven feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addMavenPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Prerequisites_maven_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Prerequisites_maven_feature",
+ "_UI_Prerequisites_type"),
+ PomPackage.Literals.PREREQUISITES__MAVEN, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Prerequisites.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Prerequisites"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Prerequisites) object).getMaven();
+ return label == null || label.length() == 0 ? getString("_UI_Prerequisites_type")
+ : getString("_UI_Prerequisites_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Prerequisites.class)) {
+ case PomPackage.PREREQUISITES__MAVEN:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ProfileItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ProfileItemProvider.java
new file mode 100644
index 00000000..3a449d30
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ProfileItemProvider.java
@@ -0,0 +1,305 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Profile;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Profile} object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ProfileItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ProfileItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIdPropertyDescriptor(object);
+ addReportingPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Profile_id_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Profile_id_feature", "_UI_Profile_type"),
+ PomPackage.Literals.PROFILE__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Reporting feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addReportingPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Profile_reporting_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Profile_reporting_feature", "_UI_Profile_type"),
+ PomPackage.Literals.PROFILE__REPORTING, true, false, true,
+ null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.PROFILE__ACTIVATION);
+ childrenFeatures.add(PomPackage.Literals.PROFILE__BUILD);
+ childrenFeatures.add(PomPackage.Literals.PROFILE__REPOSITORIES);
+ childrenFeatures
+ .add(PomPackage.Literals.PROFILE__PLUGIN_REPOSITORIES);
+ childrenFeatures.add(PomPackage.Literals.PROFILE__DEPENDENCIES);
+ childrenFeatures.add(PomPackage.Literals.PROFILE__REPORTS);
+ childrenFeatures
+ .add(PomPackage.Literals.PROFILE__DEPENDENCY_MANAGEMENT);
+ childrenFeatures
+ .add(PomPackage.Literals.PROFILE__DISTRIBUTION_MANAGEMENT);
+ childrenFeatures.add(PomPackage.Literals.PROFILE__PROPERTIES);
+ childrenFeatures.add(PomPackage.Literals.PROFILE__MODULES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Profile.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Profile"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Profile) object).getId();
+ return label == null || label.length() == 0 ? getString("_UI_Profile_type")
+ : getString("_UI_Profile_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Profile.class)) {
+ case PomPackage.PROFILE__ID:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.PROFILE__ACTIVATION:
+ case PomPackage.PROFILE__BUILD:
+ case PomPackage.PROFILE__REPOSITORIES:
+ case PomPackage.PROFILE__PLUGIN_REPOSITORIES:
+ case PomPackage.PROFILE__DEPENDENCIES:
+ case PomPackage.PROFILE__REPORTS:
+ case PomPackage.PROFILE__DEPENDENCY_MANAGEMENT:
+ case PomPackage.PROFILE__DISTRIBUTION_MANAGEMENT:
+ case PomPackage.PROFILE__PROPERTIES:
+ case PomPackage.PROFILE__MODULES:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__ACTIVATION, PomFactory.eINSTANCE
+ .createActivation()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__BUILD, PomFactory.eINSTANCE
+ .createBuildBase()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__BUILD, PomFactory.eINSTANCE
+ .createBuild()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__REPOSITORIES, PomFactory.eINSTANCE
+ .createRepository()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__PLUGIN_REPOSITORIES,
+ PomFactory.eINSTANCE.createRepository()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__DEPENDENCIES, PomFactory.eINSTANCE
+ .createDependency()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__REPORTS, PomFactory.eINSTANCE
+ .createReportPlugin()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__DEPENDENCY_MANAGEMENT,
+ PomFactory.eINSTANCE.createDependencyManagement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__DISTRIBUTION_MANAGEMENT,
+ PomFactory.eINSTANCE.createDistributionManagement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__PROPERTIES, PomFactory.eINSTANCE
+ .createPropertyElement()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.PROFILE__MODULES, ""));
+ }
+
+ /**
+ * This returns the label text for
+ * {@link org.eclipse.emf.edit.command.CreateChildCommand}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection<?> selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == PomPackage.Literals.PROFILE__REPOSITORIES
+ || childFeature == PomPackage.Literals.PROFILE__PLUGIN_REPOSITORIES;
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", new Object[] {
+ getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PropertyElementItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PropertyElementItemProvider.java
new file mode 100644
index 00000000..0015d7cc
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/PropertyElementItemProvider.java
@@ -0,0 +1,180 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PropertyElementItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PropertyElementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addValuePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_PropertyElement_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_PropertyElement_name_feature",
+ "_UI_PropertyElement_type"),
+ PomPackage.Literals.PROPERTY_ELEMENT__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Value feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addValuePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_PropertyElement_value_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_PropertyElement_value_feature",
+ "_UI_PropertyElement_type"),
+ PomPackage.Literals.PROPERTY_ELEMENT__VALUE, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns PropertyElement.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/PropertyElement"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((PropertyElement) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_PropertyElement_type")
+ : getString("_UI_PropertyElement_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(PropertyElement.class)) {
+ case PomPackage.PROPERTY_ELEMENT__NAME:
+ case PomPackage.PROPERTY_ELEMENT__VALUE:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RelocationItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RelocationItemProvider.java
new file mode 100644
index 00000000..8f35e7ef
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RelocationItemProvider.java
@@ -0,0 +1,226 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Relocation;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Relocation} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class RelocationItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RelocationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addGroupIdPropertyDescriptor(object);
+ addArtifactIdPropertyDescriptor(object);
+ addVersionPropertyDescriptor(object);
+ addMessagePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Group Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGroupIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Relocation_groupId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Relocation_groupId_feature",
+ "_UI_Relocation_type"),
+ PomPackage.Literals.RELOCATION__GROUP_ID, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Artifact Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArtifactIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Relocation_artifactId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Relocation_artifactId_feature",
+ "_UI_Relocation_type"),
+ PomPackage.Literals.RELOCATION__ARTIFACT_ID, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Relocation_version_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Relocation_version_feature",
+ "_UI_Relocation_type"),
+ PomPackage.Literals.RELOCATION__VERSION, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Message feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addMessagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Relocation_message_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Relocation_message_feature",
+ "_UI_Relocation_type"),
+ PomPackage.Literals.RELOCATION__MESSAGE, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This returns Relocation.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Relocation"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Relocation) object).getGroupId();
+ return label == null || label.length() == 0 ? getString("_UI_Relocation_type")
+ : getString("_UI_Relocation_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Relocation.class)) {
+ case PomPackage.RELOCATION__GROUP_ID:
+ case PomPackage.RELOCATION__ARTIFACT_ID:
+ case PomPackage.RELOCATION__VERSION:
+ case PomPackage.RELOCATION__MESSAGE:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportPluginItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportPluginItemProvider.java
new file mode 100644
index 00000000..22196167
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportPluginItemProvider.java
@@ -0,0 +1,285 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.ReportPlugin;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ReportPluginItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReportPluginItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addGroupIdPropertyDescriptor(object);
+ addArtifactIdPropertyDescriptor(object);
+ addVersionPropertyDescriptor(object);
+ addInheritedPropertyDescriptor(object);
+ addConfigurationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Group Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addGroupIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ReportPlugin_groupId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ReportPlugin_groupId_feature",
+ "_UI_ReportPlugin_type"),
+ PomPackage.Literals.REPORT_PLUGIN__GROUP_ID, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Artifact Id feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addArtifactIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ReportPlugin_artifactId_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ReportPlugin_artifactId_feature",
+ "_UI_ReportPlugin_type"),
+ PomPackage.Literals.REPORT_PLUGIN__ARTIFACT_ID, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ReportPlugin_version_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ReportPlugin_version_feature",
+ "_UI_ReportPlugin_type"),
+ PomPackage.Literals.REPORT_PLUGIN__VERSION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Inherited feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addInheritedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ReportPlugin_inherited_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ReportPlugin_inherited_feature",
+ "_UI_ReportPlugin_type"),
+ PomPackage.Literals.REPORT_PLUGIN__INHERITED, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Configuration feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addConfigurationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ReportPlugin_configuration_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ReportPlugin_configuration_feature",
+ "_UI_ReportPlugin_type"),
+ PomPackage.Literals.REPORT_PLUGIN__CONFIGURATION, true, false,
+ true, null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures
+ .add(PomPackage.Literals.REPORT_PLUGIN__REPORT_SETS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ReportPlugin.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/ReportPlugin"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ReportPlugin) object).getGroupId();
+ return label == null || label.length() == 0 ? getString("_UI_ReportPlugin_type")
+ : getString("_UI_ReportPlugin_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReportPlugin.class)) {
+ case PomPackage.REPORT_PLUGIN__GROUP_ID:
+ case PomPackage.REPORT_PLUGIN__ARTIFACT_ID:
+ case PomPackage.REPORT_PLUGIN__VERSION:
+ case PomPackage.REPORT_PLUGIN__INHERITED:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.REPORT_PLUGIN__REPORT_SETS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.REPORT_PLUGIN__REPORT_SETS,
+ PomFactory.eINSTANCE.createReportSet()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportSetItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportSetItemProvider.java
new file mode 100644
index 00000000..dbd17522
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportSetItemProvider.java
@@ -0,0 +1,242 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.ReportSet;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ReportSetItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReportSetItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIdPropertyDescriptor(object);
+ addInheritedPropertyDescriptor(object);
+ addConfigurationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ReportSet_id_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ReportSet_id_feature", "_UI_ReportSet_type"),
+ PomPackage.Literals.REPORT_SET__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Inherited feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addInheritedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ReportSet_inherited_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_ReportSet_inherited_feature",
+ "_UI_ReportSet_type"),
+ PomPackage.Literals.REPORT_SET__INHERITED, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Configuration feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addConfigurationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ReportSet_configuration_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_ReportSet_configuration_feature",
+ "_UI_ReportSet_type"),
+ PomPackage.Literals.REPORT_SET__CONFIGURATION, true, false,
+ true, null, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.REPORT_SET__REPORTS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ReportSet.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/ReportSet"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ReportSet) object).getId();
+ return label == null || label.length() == 0 ? getString("_UI_ReportSet_type")
+ : getString("_UI_ReportSet_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ReportSet.class)) {
+ case PomPackage.REPORT_SET__ID:
+ case PomPackage.REPORT_SET__INHERITED:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.REPORT_SET__REPORTS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.REPORT_SET__REPORTS, ""));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportingItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportingItemProvider.java
new file mode 100644
index 00000000..bf398207
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ReportingItemProvider.java
@@ -0,0 +1,224 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Reporting;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ReportingItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ReportingItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addExcludeDefaultsPropertyDescriptor(object);
+ addOutputDirectoryPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Exclude Defaults feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addExcludeDefaultsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Reporting_excludeDefaults_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Reporting_excludeDefaults_feature",
+ "_UI_Reporting_type"),
+ PomPackage.Literals.REPORTING__EXCLUDE_DEFAULTS, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Output Directory feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addOutputDirectoryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Reporting_outputDirectory_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Reporting_outputDirectory_feature",
+ "_UI_Reporting_type"),
+ PomPackage.Literals.REPORTING__OUTPUT_DIRECTORY, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.REPORTING__PLUGINS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Reporting.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Reporting"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Reporting) object).getExcludeDefaults();
+ return label == null || label.length() == 0 ? getString("_UI_Reporting_type")
+ : getString("_UI_Reporting_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Reporting.class)) {
+ case PomPackage.REPORTING__EXCLUDE_DEFAULTS:
+ case PomPackage.REPORTING__OUTPUT_DIRECTORY:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.REPORTING__PLUGINS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.REPORTING__PLUGINS, PomFactory.eINSTANCE
+ .createReportPlugin()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RepositoryItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RepositoryItemProvider.java
new file mode 100644
index 00000000..19c6618b
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RepositoryItemProvider.java
@@ -0,0 +1,294 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Repository;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Repository} object. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class RepositoryItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RepositoryItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIdPropertyDescriptor(object);
+ addNamePropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ addLayoutPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Repository_id_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Repository_id_feature", "_UI_Repository_type"),
+ PomPackage.Literals.REPOSITORY__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Repository_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Repository_name_feature", "_UI_Repository_type"),
+ PomPackage.Literals.REPOSITORY__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Repository_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Repository_url_feature", "_UI_Repository_type"),
+ PomPackage.Literals.REPOSITORY__URL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Layout feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addLayoutPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Repository_layout_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Repository_layout_feature",
+ "_UI_Repository_type"),
+ PomPackage.Literals.REPOSITORY__LAYOUT, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.REPOSITORY__RELEASES);
+ childrenFeatures.add(PomPackage.Literals.REPOSITORY__SNAPSHOTS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Repository.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Repository"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Repository) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_Repository_type")
+ : getString("_UI_Repository_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Repository.class)) {
+ case PomPackage.REPOSITORY__ID:
+ case PomPackage.REPOSITORY__NAME:
+ case PomPackage.REPOSITORY__URL:
+ case PomPackage.REPOSITORY__LAYOUT:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.REPOSITORY__RELEASES:
+ case PomPackage.REPOSITORY__SNAPSHOTS:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.REPOSITORY__RELEASES, PomFactory.eINSTANCE
+ .createRepositoryPolicy()));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.REPOSITORY__SNAPSHOTS, PomFactory.eINSTANCE
+ .createRepositoryPolicy()));
+ }
+
+ /**
+ * This returns the label text for
+ * {@link org.eclipse.emf.edit.command.CreateChildCommand}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getCreateChildText(Object owner, Object feature,
+ Object child, Collection<?> selection) {
+ Object childFeature = feature;
+ Object childObject = child;
+
+ boolean qualify = childFeature == PomPackage.Literals.REPOSITORY__RELEASES
+ || childFeature == PomPackage.Literals.REPOSITORY__SNAPSHOTS;
+
+ if (qualify) {
+ return getString("_UI_CreateChild_text2", new Object[] {
+ getTypeText(childObject), getFeatureText(childFeature),
+ getTypeText(owner) });
+ }
+ return super.getCreateChildText(owner, feature, child, selection);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RepositoryPolicyItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RepositoryPolicyItemProvider.java
new file mode 100644
index 00000000..08977f15
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/RepositoryPolicyItemProvider.java
@@ -0,0 +1,202 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.RepositoryPolicy;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class RepositoryPolicyItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RepositoryPolicyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addEnabledPropertyDescriptor(object);
+ addUpdatePolicyPropertyDescriptor(object);
+ addChecksumPolicyPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Enabled feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addEnabledPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_RepositoryPolicy_enabled_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_RepositoryPolicy_enabled_feature",
+ "_UI_RepositoryPolicy_type"),
+ PomPackage.Literals.REPOSITORY_POLICY__ENABLED, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Update Policy feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUpdatePolicyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_RepositoryPolicy_updatePolicy_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_RepositoryPolicy_updatePolicy_feature",
+ "_UI_RepositoryPolicy_type"),
+ PomPackage.Literals.REPOSITORY_POLICY__UPDATE_POLICY, true,
+ false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Checksum Policy feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addChecksumPolicyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_RepositoryPolicy_checksumPolicy_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_RepositoryPolicy_checksumPolicy_feature",
+ "_UI_RepositoryPolicy_type"),
+ PomPackage.Literals.REPOSITORY_POLICY__CHECKSUM_POLICY, true,
+ false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
+ null));
+ }
+
+ /**
+ * This returns RepositoryPolicy.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/RepositoryPolicy"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((RepositoryPolicy) object).getEnabled();
+ return label == null || label.length() == 0 ? getString("_UI_RepositoryPolicy_type")
+ : getString("_UI_RepositoryPolicy_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(RepositoryPolicy.class)) {
+ case PomPackage.REPOSITORY_POLICY__ENABLED:
+ case PomPackage.REPOSITORY_POLICY__UPDATE_POLICY:
+ case PomPackage.REPOSITORY_POLICY__CHECKSUM_POLICY:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ResourceItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ResourceItemProvider.java
new file mode 100644
index 00000000..51c6a44c
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ResourceItemProvider.java
@@ -0,0 +1,247 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Resource;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Resource} object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ResourceItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ResourceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addTargetPathPropertyDescriptor(object);
+ addFilteringPropertyDescriptor(object);
+ addDirectoryPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Target Path feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTargetPathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Resource_targetPath_feature"),
+ getString("_UI_PropertyDescriptor_description",
+ "_UI_Resource_targetPath_feature",
+ "_UI_Resource_type"),
+ PomPackage.Literals.RESOURCE__TARGET_PATH, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Filtering feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addFilteringPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Resource_filtering_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Resource_filtering_feature", "_UI_Resource_type"),
+ PomPackage.Literals.RESOURCE__FILTERING, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Directory feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDirectoryPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Resource_directory_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Resource_directory_feature", "_UI_Resource_type"),
+ PomPackage.Literals.RESOURCE__DIRECTORY, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(
+ Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PomPackage.Literals.RESOURCE__INCLUDES);
+ childrenFeatures.add(PomPackage.Literals.RESOURCE__EXCLUDES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns Resource.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Resource"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Resource) object).getTargetPath();
+ return label == null || label.length() == 0 ? getString("_UI_Resource_type")
+ : getString("_UI_Resource_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Resource.class)) {
+ case PomPackage.RESOURCE__TARGET_PATH:
+ case PomPackage.RESOURCE__FILTERING:
+ case PomPackage.RESOURCE__DIRECTORY:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ case PomPackage.RESOURCE__INCLUDES:
+ case PomPackage.RESOURCE__EXCLUDES:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.RESOURCE__INCLUDES, ""));
+
+ newChildDescriptors.add(createChildParameter(
+ PomPackage.Literals.RESOURCE__EXCLUDES, ""));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ScmItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ScmItemProvider.java
new file mode 100644
index 00000000..82db76ba
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/ScmItemProvider.java
@@ -0,0 +1,215 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Scm;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Scm} object. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ScmItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ScmItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addConnectionPropertyDescriptor(object);
+ addDeveloperConnectionPropertyDescriptor(object);
+ addTagPropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Connection feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addConnectionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Scm_connection_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Scm_connection_feature", "_UI_Scm_type"),
+ PomPackage.Literals.SCM__CONNECTION, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Developer Connection feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addDeveloperConnectionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Scm_developerConnection_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Scm_developerConnection_feature", "_UI_Scm_type"),
+ PomPackage.Literals.SCM__DEVELOPER_CONNECTION, true, false,
+ false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Tag feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTagPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Scm_tag_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Scm_tag_feature", "_UI_Scm_type"),
+ PomPackage.Literals.SCM__TAG, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Scm_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Scm_url_feature", "_UI_Scm_type"),
+ PomPackage.Literals.SCM__URL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Scm.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Scm"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Scm) object).getConnection();
+ return label == null || label.length() == 0 ? getString("_UI_Scm_type")
+ : getString("_UI_Scm_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Scm.class)) {
+ case PomPackage.SCM__CONNECTION:
+ case PomPackage.SCM__DEVELOPER_CONNECTION:
+ case PomPackage.SCM__TAG:
+ case PomPackage.SCM__URL:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/SiteItemProvider.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/SiteItemProvider.java
new file mode 100644
index 00000000..f03c7db7
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/provider/SiteItemProvider.java
@@ -0,0 +1,196 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.Site;
+
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.m2e.model.edit.pom.Site} object. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SiteItemProvider extends ItemProviderAdapter implements
+ IEditingDomainItemProvider, IStructuredItemContentProvider,
+ ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SiteItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addIdPropertyDescriptor(object);
+ addNamePropertyDescriptor(object);
+ addUrlPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Site_id_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Site_id_feature", "_UI_Site_type"),
+ PomPackage.Literals.SITE__ID, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Site_name_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Site_name_feature", "_UI_Site_type"),
+ PomPackage.Literals.SITE__NAME, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Url feature. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addUrlPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory)
+ .getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_Site_url_feature"), getString(
+ "_UI_PropertyDescriptor_description",
+ "_UI_Site_url_feature", "_UI_Site_type"),
+ PomPackage.Literals.SITE__URL, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns Site.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage(
+ "full/obj16/Site"));
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Site) object).getName();
+ return label == null || label.length() == 0 ? getString("_UI_Site_type")
+ : getString("_UI_Site_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Site.class)) {
+ case PomPackage.SITE__ID:
+ case PomPackage.SITE__NAME:
+ case PomPackage.SITE__URL:
+ fireNotifyChanged(new ViewerNotification(notification, notification
+ .getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(
+ Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return PomEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ConfigurationAdapter.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ConfigurationAdapter.java
new file mode 100644
index 00000000..918e1e87
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ConfigurationAdapter.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.translators;
+
+import org.eclipse.m2e.model.edit.pom.Configuration;
+import org.eclipse.m2e.model.edit.pom.impl.ConfigurationImpl;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.w3c.dom.Element;
+
+/**
+ * Synchronizes configuration elements between XML and model
+ *
+ * @author Mike Poindexter
+ */
+class ConfigurationAdapter extends TranslatorAdapter implements INodeAdapter {
+
+ private Configuration modelObject;
+
+ public ConfigurationAdapter(SSESyncResource resource, Element node,
+ Configuration object) {
+ super(resource);
+ this.node = node;
+ this.modelObject = object;
+ load();
+ }
+
+ public boolean isAdapterForType(Object type) {
+ return ConfigurationAdapter.class.equals(type);
+ }
+
+ public void notifyChanged(INodeNotifier notifier, int eventType,
+ Object changedFeature, Object oldValue, Object newValue, int pos) {
+ // A catch-all notificator.
+ // The configuration section can differ with every plugin, so we cannot really have a
+ // static EMF model. So we'll just notify the subscribers and let them act accordingly.
+ ((ConfigurationImpl)modelObject).doNotify(eventType, changedFeature, oldValue, newValue);
+ }
+
+ @Override
+ public void load() {
+ ((ConfigurationImpl)modelObject).setConfigurationNode(node);
+ }
+
+ @Override
+ public void save() {
+ }
+
+ @Override
+ public void update(Object oldValue, Object newValue, int index) {
+ }
+} \ No newline at end of file
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ListAdapter.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ListAdapter.java
new file mode 100644
index 00000000..cfa7afb1
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ListAdapter.java
@@ -0,0 +1,230 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.translators;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+/**
+ * Translates a multi valued feature into a <foos> <foo>bar</foo> </foos>
+ *
+ * structure.
+ *
+ * @author Mike Poindexter
+ *
+ */
+public class ListAdapter extends TranslatorAdapter {
+ protected List list;
+
+ private EClass elementType;
+
+ public ListAdapter(SSESyncResource resc, Element containerNode,
+ List<?> list, EClass elementType) {
+ super(resc);
+ this.node = containerNode;
+ this.elementType = elementType;
+ this.list = list;
+ this.resource = resc;
+ }
+
+ public void notifyChanged(INodeNotifier notifier, int eventType,
+ Object changedFeature, Object oldValue, Object newValue, int pos) {
+ if (resource.isProcessEvents()) {
+ try {
+ resource.setProcessEvents(false);
+ if (INodeNotifier.ADD == eventType
+ && newValue instanceof Element) {
+ if (notifier == node) {
+ IDOMElement addedElement = (IDOMElement) newValue;
+ int idx = absoluteIndexOf(node, addedElement);
+ if (idx == -1)
+ idx = 0;
+ list.add(idx, getObject(addedElement, true));
+ }
+ } else if (INodeNotifier.REMOVE == eventType
+ && oldValue instanceof Element) {
+ IDOMElement el = (IDOMElement)oldValue;
+ if (notifier == node) {
+ // Remove the corresponding object from the model.
+ Object o = getObject((Element) oldValue, false);
+ if (o instanceof String && o.toString().length() == 0) {
+ // the removed oldValue has unfortunately no text value in it, so no way to identify the
+ // remove entry.
+ // -> just remove all and add the ones that stayed around.
+ // only after checking that the object to be removed is a string, just to be sure..
+ NodeList lst = node.getChildNodes();
+ list.clear();
+ for (int i = 0; i < lst.getLength(); i++) {
+ Node nd = lst.item(i);
+ if (nd instanceof Element) {
+ list.add(getElementText((Element)nd));
+ }
+ }
+ } else if (o != null) {
+ list.remove(o);
+ }
+ // TODO: What to do here? We don't know which model
+ // child
+ // to remove. I don't think this can happen. -MDP
+ }
+ } else if (changedFeature instanceof Text
+ && elementType == null) {
+ if (notifier != node && notifier instanceof Element) {
+ Element e = (Element) notifier;
+ String name = e.getLocalName();
+ int idx = absoluteIndexOf(node, e);
+ if (idx < 0)
+ idx = 0;
+ list.remove(idx);
+ list.add(idx, getObject(e, true));
+ }
+ }
+ } finally {
+ resource.setProcessEvents(true);
+ }
+
+ }
+
+ }
+
+ public void add(Object newValue, int position) {
+ Object value = getElementValue(newValue);
+ if (value instanceof EObject) {
+ EObject eo = (EObject) value;
+ if (EcoreUtil.getAdapter(eo.eAdapters(), ModelObjectAdapter.class) == null) {
+ String tagName = getElementName(newValue);
+ Element newElement = node.getOwnerDocument().createElement(
+ tagName);
+ Node before = getNthChildWithName(node, "*", position); //$NON-NLS-1$
+ if (before != null) {
+ node.insertBefore(newElement, before);
+ } else {
+ node.appendChild(newElement);
+ }
+
+ ModelObjectAdapter newAdapter = new ModelObjectAdapter(
+ resource, eo, newElement);
+ eo.eAdapters().add(newAdapter);
+ formatNode(newElement);
+ ((IDOMNode) newElement).addAdapter(newAdapter);
+ newAdapter.save();
+
+ }
+ } else {
+ String tagName = getElementName(newValue);
+ Element newElement = node.getOwnerDocument().createElement(tagName);
+ org.w3c.dom.Text text = node.getOwnerDocument().createTextNode(
+ value.toString());
+ newElement.appendChild(text);
+ Node before = getNthChildWithName(node, "*", position); //$NON-NLS-1$
+ if (before != null) {
+ node.insertBefore(newElement, before);
+ } else {
+ node.appendChild(newElement);
+ }
+ formatNode(newElement);
+ ((IDOMNode) newElement).addAdapter(this);
+ }
+ }
+
+ public void remove(Object oldValue, int position) {
+ if (position == -1) {
+ position = 0;
+ }
+ Element n = getNthChildWithName(node, "*", position); //$NON-NLS-1$
+
+ if (n != null)
+ removeChildElement(n);
+ }
+
+ @Override
+ public void update(Object oldValue, Object newValue, int index) {
+ remove(oldValue, index);
+ add(newValue, index);
+ }
+
+ protected String getElementName(Object o) {
+ String name = node.getLocalName();
+ if (name.endsWith("ies")) //$NON-NLS-1$
+ name = name.replaceAll("ies$", "y"); //$NON-NLS-1$ //$NON-NLS-2$
+ else
+ name = name.replaceAll("s$", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ return name;
+ }
+
+ protected Object getElementValue(Object o) {
+ return o;
+ }
+
+ protected Object getObject(Element childElement, boolean createIfNeeded) {
+ if (elementType == null) {
+ ListAdapter existing = (ListAdapter) ((IDOMNode) childElement)
+ .getExistingAdapter(ListAdapter.class);
+ if (existing == null) {
+ ((IDOMNode) childElement).addAdapter(this);
+ }
+ return getElementText(childElement);
+ } else {
+ ModelObjectAdapter existing = (ModelObjectAdapter) ((IDOMNode) childElement)
+ .getExistingAdapter(ModelObjectAdapter.class);
+ if (existing == null) {
+ if (createIfNeeded) {
+ EObject eo = PomFactory.eINSTANCE.create(elementType);
+ existing = new ModelObjectAdapter(resource, eo,
+ childElement);
+ eo.eAdapters().add(existing);
+ ((IDOMNode) childElement).addAdapter(existing);
+ existing.load();
+ return eo;
+ } else {
+ return null;
+ }
+ } else {
+ return existing.getTarget();
+ }
+ }
+ }
+
+ public boolean isAdapterForType(Object type) {
+ return ListAdapter.class.equals(type);
+ }
+
+ @Override
+ public void load() {
+ NodeList children = node.getChildNodes();
+ int nChildren = children.getLength();
+ for (int i = 0; i < nChildren; i++) {
+ Node child = children.item(i);
+ if (child instanceof Element) {
+ list.add(getObject((Element) child, true));
+ }
+ }
+ }
+
+ @Override
+ public void save() {
+ for (Object o : list) {
+ add(o, -1);
+ }
+ }
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ModelObjectAdapter.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ModelObjectAdapter.java
new file mode 100644
index 00000000..eab5cb15
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ModelObjectAdapter.java
@@ -0,0 +1,326 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.translators;
+
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.m2e.model.edit.pom.Configuration;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Listens for notifications from the dom model and the E model, and syncs the
+ * models.
+ *
+ * @author Mike Poindexter
+ */
+public class ModelObjectAdapter extends TranslatorAdapter implements Adapter,
+ INodeAdapter {
+ private SSESyncResource resource;
+
+ private EObject eobject;
+
+ private Notifier target;
+
+ private Map<EStructuralFeature, TranslatorAdapter> childAdapters = new LinkedHashMap<EStructuralFeature, TranslatorAdapter>();
+
+ public ModelObjectAdapter(SSESyncResource resource, EObject eobject,
+ Element node) {
+ super(resource);
+ this.eobject = eobject;
+ this.node = node;
+ this.resource = resource;
+ }
+
+ public boolean isAdapterForType(Object type) {
+ return ModelObjectAdapter.class.equals(type);
+ }
+
+ public void notifyChanged(INodeNotifier notifier, int eventType,
+ Object changedFeature, Object oldValue, Object newValue, int pos) {
+ if (resource.isProcessEvents()) {
+ resource.setProcessEvents(false);
+ try {
+ if (INodeNotifier.ADD == eventType
+ && newValue instanceof Element) {
+ if (notifier == node) {
+ IDOMElement addedElement = (IDOMElement) newValue;
+ EStructuralFeature feature = eobject.eClass()
+ .getEStructuralFeature(
+ addedElement.getLocalName());
+ if (feature != null) {
+ createOrGetChildAdapter(feature).load();
+ }
+ }
+ } else if (INodeNotifier.REMOVE == eventType
+ && oldValue instanceof Element) {
+ if (notifier == node) {
+ IDOMElement removedElement = (IDOMElement) oldValue;
+ EStructuralFeature feature = eobject.eClass()
+ .getEStructuralFeature(
+ removedElement.getLocalName());
+ if (feature != null) {
+ eobject.eUnset(feature);
+ childAdapters.remove(feature);
+ }
+ }
+ }
+ } finally {
+ resource.setProcessEvents(true);
+ }
+ }
+ }
+
+ public void notifyChanged(Notification notification) {
+ if (resource.isProcessEvents()) {
+ resource.setProcessEvents(false);
+ try {
+ EStructuralFeature feature = (EStructuralFeature) notification
+ .getFeature();
+ switch (notification.getEventType()) {
+
+ case Notification.SET:
+ if (null == notification.getNewValue()
+ || "".equals(notification.getNewValue())) { //$NON-NLS-1$
+ removeDomChild(feature);
+ } else {
+ TranslatorAdapter setAdapter = createOrGetChildAdapter(feature);
+ setAdapter.update(notification.getOldValue(),
+ notification.getNewValue(), notification
+ .getPosition());
+ }
+
+ break;
+
+ case Notification.ADD:
+ ListAdapter addListAdapter = (ListAdapter) createOrGetChildAdapter(feature);
+ addListAdapter.add(notification.getNewValue(), notification
+ .getPosition());
+ break;
+
+ case Notification.ADD_MANY:
+ ListAdapter addManyListAdapter = (ListAdapter) createOrGetChildAdapter(feature);
+ Collection<?> addMany = (Collection<?>) notification
+ .getNewValue();
+ int addPosition = notification.getPosition();
+ int addIdx = addPosition;
+ for (Object object : addMany) {
+ addManyListAdapter
+ .add(
+ object,
+ addPosition == Notification.NO_INDEX ? Notification.NO_INDEX
+ : addIdx);
+ addIdx++;
+ }
+ break;
+
+ case Notification.REMOVE:
+ ListAdapter removeListAdapter = (ListAdapter) createOrGetChildAdapter(feature);
+ removeListAdapter.remove(notification.getOldValue(),
+ notification.getPosition());
+ break;
+
+ case Notification.UNSET:
+ removeDomChild(feature);
+ break;
+
+ case Notification.REMOVE_MANY:
+ ListAdapter removeManyListAdapter = (ListAdapter) createOrGetChildAdapter(feature);
+ Collection<?> removeMany = (Collection<?>) notification
+ .getOldValue();
+ int removePosition = notification.getPosition();
+ int removeIdx = removePosition;
+ for (Object object : removeMany) {
+ removeManyListAdapter
+ .remove(
+ object,
+ removePosition == Notification.NO_INDEX ? Notification.NO_INDEX
+ : removeIdx);
+ removeIdx++;
+ }
+ break;
+
+ }
+ } finally {
+ resource.setProcessEvents(true);
+ }
+ }
+
+ }
+
+ @Override
+ public void update(Object oldValue, Object newValObject, int index) {
+ save();
+ }
+
+ private TranslatorAdapter createOrGetChildAdapter(EStructuralFeature feature) {
+ TranslatorAdapter ret = childAdapters.get(feature);
+ if (null == ret) {
+ Element element = getFirstChildWithName(node, feature.getName());
+ boolean isNew = false;
+ if (element == null) {
+ element = node.getOwnerDocument().createElement(feature.getName());
+ insertElement(element);
+ isNew = true;
+ }
+
+ if (feature.isMany()) {
+ EClass elementType = null;
+ if (feature instanceof EReference) {
+ elementType = ((EReference) feature).getEReferenceType();
+ }
+
+ if (elementType != null && elementType.getClassifierID() == PomPackage.Literals.PROPERTY_ELEMENT.getClassifierID()) {
+ ret = new PropertiesAdapter(resource, element, (List<PropertyElement>) eobject.eGet(feature));
+ } else {
+ ret = new ListAdapter(resource, element, (List<?>) eobject.eGet(feature), elementType);
+ }
+ } else if (feature instanceof EReference) {
+ EReference ref = (EReference) feature;
+ EObject eo = (EObject) eobject.eGet(feature);
+ if (null == eo) {
+ eo = PomFactory.eINSTANCE.create(ref.getEReferenceType());
+ eobject.eSet(ref, eo);
+ }
+
+ EClass elementType = ref.getEReferenceType();
+ if (elementType != null && elementType.getClassifierID() == PomPackage.Literals.CONFIGURATION.getClassifierID()) {
+ ret = new ConfigurationAdapter(resource, element, (Configuration)eobject.eGet(feature));
+ } else {
+ ret = new ModelObjectAdapter(this.resource, eo, element);
+ ((ModelObjectAdapter) ret).eobject.eAdapters().add((ModelObjectAdapter) ret);
+ }
+ } else {
+ ret = new ValueUpdateAdapter(resource, element, eobject, feature);
+ }
+ if (isNew) {
+ formatNode(element);
+ }
+ ((IDOMElement) element).addAdapter(ret);
+ childAdapters.put(feature, ret);
+ }
+ return ret;
+ }
+
+ /**
+ * Removes the dom child matching the feature.
+ *
+ * @param feature
+ */
+ private void removeDomChild(EStructuralFeature feature) {
+ TranslatorAdapter ta = childAdapters.get(feature);
+ if (ta != null && ta.getNode() != null) {
+ removeChildElement(ta.getNode());
+ }
+ childAdapters.remove(feature);
+ }
+
+ /**
+ * Inserts an element under the current node, attempting to preserve proper
+ * node ordering.
+ *
+ * @param element
+ * @param position
+ */
+ private void insertElement(Element element) {
+ Node beforeNode = null;
+ boolean searching = false;
+ for (EStructuralFeature feature : eobject.eClass()
+ .getEStructuralFeatures()) {
+ if (element.getLocalName().equals(feature.getName())) {
+ searching = true;
+ }
+ if (searching) {
+ beforeNode = getFirstChildWithName(node, feature.getName());
+ if (beforeNode != null) {
+ break;
+ }
+ }
+ }
+
+ if (beforeNode == null) {
+ beforeNode = node.getLastChild();
+ while (!(beforeNode == null
+ || beforeNode.getPreviousSibling() instanceof Element || beforeNode
+ .getPreviousSibling() == null)) {
+ beforeNode = beforeNode.getPreviousSibling();
+ }
+ }
+
+ if (beforeNode == null) {
+ node.appendChild(element);
+ } else {
+ node.insertBefore(element, beforeNode);
+ }
+ }
+
+ /**
+ * Populates all child model objects from the child nodes in the dom tree.
+ */
+ public void load() {
+ NodeList children = node.getChildNodes();
+ int nChildren = children.getLength();
+ for (int i = 0; i < nChildren; i++) {
+ Node child = children.item(i);
+ if (child instanceof Element) {
+ Element element = (Element) child;
+ EStructuralFeature feature = eobject.eClass()
+ .getEStructuralFeature(element.getLocalName());
+ if (feature != null) {
+ createOrGetChildAdapter(feature).load();
+ }
+ }
+
+ }
+ }
+
+ /**
+ * Populates all child dom objects from the model children.
+ */
+ public void save() {
+ for (EStructuralFeature feature : eobject.eClass()
+ .getEStructuralFeatures()) {
+ if (eobject.eIsSet(feature)) {
+ Object o = eobject.eGet(feature);
+ if (!"".equals(o) && o != null) { //$NON-NLS-1$
+ createOrGetChildAdapter(feature).save();
+ }
+ }
+ }
+ }
+
+ public Notifier getTarget() {
+ return target;
+ }
+
+ public void setTarget(Notifier target) {
+ this.target = target;
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/PropertiesAdapter.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/PropertiesAdapter.java
new file mode 100644
index 00000000..85fbbfc3
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/PropertiesAdapter.java
@@ -0,0 +1,235 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.translators;
+
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.m2e.model.edit.pom.PropertyElement;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+/**
+ * Translates a property list using the name and value instead of reflection.
+ *
+ * @author Mike Poindexter
+ *
+ */
+public class PropertiesAdapter extends ListAdapter {
+ protected List<PropertyElement> properties;
+
+ public PropertiesAdapter(SSESyncResource resc, Element containerNode,
+ List<PropertyElement> properties) {
+ super(resc, containerNode, properties, null);
+ this.node = containerNode;
+ this.properties = properties;
+ }
+
+ @Override
+ public void notifyChanged(INodeNotifier notifier, int eventType,
+ Object changedFeature, Object oldValue, Object newValue, int pos) {
+ if (resource.isProcessEvents()) {
+ try {
+ resource.setProcessEvents(false);
+ if (INodeNotifier.ADD == eventType
+ && newValue instanceof Element) {
+ if (notifier == node) {
+ IDOMElement addedElement = (IDOMElement) newValue;
+ int idx = absoluteIndexOf(node, addedElement);
+ if (idx == -1)
+ idx = 0;
+ properties.add(idx, createObject(addedElement));
+ }
+ } else if (INodeNotifier.REMOVE == eventType
+ && oldValue instanceof Element) {
+ if (notifier == node) {
+ for (PropertyElement prop : properties) {
+ PropertyChildAdapter adapter = (PropertyChildAdapter) EcoreUtil
+ .getExistingAdapter(prop,
+ PropertyChildAdapter.class);
+ if (adapter.getElement().equals(oldValue)) {
+ properties.remove(prop);
+ break;
+ }
+ }
+ }
+ } else if (changedFeature instanceof Text) {
+ if (notifier != node && notifier instanceof Element) {
+ Element e = (Element) notifier;
+ String name = e.getLocalName();
+ for (PropertyElement prop : properties) {
+ if (name.equals(prop.getName())) {
+ prop.setValue(getElementText(e));
+ }
+ }
+ }
+ }
+ } finally {
+ resource.setProcessEvents(true);
+ }
+
+ }
+
+ }
+
+ public void add(Object newValue, int position) {
+ final PropertyElement prop = (PropertyElement) newValue;
+ Element newElement = node.getOwnerDocument().createElement(
+ prop.getName());
+ Text value = node.getOwnerDocument().createTextNode(prop.getValue());
+ newElement.appendChild(value);
+
+ if (position < 0)
+ position = 0;
+ Node n = getNthChildWithName(node, "*", position); //$NON-NLS-1$
+ if (n != null) {
+ node.insertBefore(newElement, n);
+ } else {
+ node.appendChild(newElement);
+ }
+ formatNode(newElement);
+ if (null == EcoreUtil.getExistingAdapter(prop,
+ PropertyChildAdapter.class)) {
+ prop.eAdapters().add(new PropertyChildAdapter(prop, newElement));
+ }
+ ((IDOMNode) newElement).addAdapter(this);
+ }
+
+ public void remove(Object oldValue, int position) {
+ if (position == -1)
+ position = 0;
+
+ Element n = getNthChildWithName(node, "*", position); //$NON-NLS-1$
+ if (n != null)
+ removeChildElement(n);
+ }
+
+ public PropertyElement createObject(Element child) {
+ PropertyElement propertyElement = PomFactory.eINSTANCE
+ .createPropertyElement();
+ propertyElement.setName(child.getLocalName());
+ propertyElement.setValue(getElementText(child));
+ if (null == ((IDOMNode) child)
+ .getExistingAdapter(PropertiesAdapter.class)) {
+ ((IDOMNode) child).addAdapter(this);
+ }
+ propertyElement.eAdapters().add(
+ new PropertyChildAdapter(propertyElement, child));
+ return propertyElement;
+ }
+
+ @Override
+ public boolean isAdapterForType(Object type) {
+ return PropertiesAdapter.class.equals(type);
+ }
+
+ @Override
+ public void load() {
+ NodeList children = node.getChildNodes();
+ int nChildren = children.getLength();
+ for (int i = 0; i < nChildren; i++) {
+ Node child = children.item(i);
+ if (child instanceof Element) {
+ properties.add(createObject((Element) child));
+ }
+
+ }
+
+ }
+
+ @Override
+ public void save() {
+ for (PropertyElement o : properties) {
+ add(o, -1);
+ }
+ }
+
+ private class PropertyChildAdapter implements Adapter {
+ private Notifier target;
+ private PropertyElement property;
+ private Element element;
+
+ /**
+ * @param propertyElement
+ * @param container
+ */
+ public PropertyChildAdapter(PropertyElement propertyElement,
+ Element element) {
+ super();
+ this.property = propertyElement;
+ this.element = element;
+ }
+
+ public boolean isAdapterForType(Object type) {
+ return PropertyChildAdapter.class.equals(type);
+ }
+
+ public void notifyChanged(Notification notification) {
+ if (resource.isProcessEvents()) {
+ try {
+ resource.setProcessEvents(false);
+ Element newElement = node.getOwnerDocument().createElement(
+ property.getName());
+ Text value = node.getOwnerDocument().createTextNode(
+ property.getValue());
+ newElement.appendChild(value);
+ node.replaceChild(newElement, element);
+ formatNode(newElement);
+ this.element = newElement;
+ ((IDOMNode) newElement).addAdapter(PropertiesAdapter.this);
+ } finally {
+ resource.setProcessEvents(true);
+ }
+ }
+ }
+
+ /**
+ * @return the target
+ */
+ public Notifier getTarget() {
+ return target;
+ }
+
+ /**
+ * @param target
+ * the target to set
+ */
+ public void setTarget(Notifier target) {
+ this.target = target;
+ }
+
+ /**
+ * @return the property
+ */
+ public PropertyElement getProperty() {
+ return property;
+ }
+
+ /**
+ * @return the element
+ */
+ public Element getElement() {
+ return element;
+ }
+
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/SSESyncResource.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/SSESyncResource.java
new file mode 100644
index 00000000..999bcadc
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/SSESyncResource.java
@@ -0,0 +1,284 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.translators;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.resource.impl.ResourceImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.m2e.model.edit.pom.Model;
+import org.eclipse.m2e.model.edit.pom.PomFactory;
+import org.eclipse.wst.sse.core.StructuredModelManager;
+import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class SSESyncResource extends ResourceImpl {
+ private static final Set<String> NO_EVENT_MODELS = new HashSet<String>();
+
+ private IDOMModel domModel;
+
+ private Model pomModel;
+
+ private Document doc;
+
+ public SSESyncResource() {
+ super();
+ }
+
+ public SSESyncResource(URI uri) {
+ super(uri);
+ }
+
+ @Override
+ public void load(Map<?, ?> options) throws IOException {
+ if (isLoaded()) {
+ return;
+ }
+ loadDOMModel();
+ setProcessEvents(false);
+ try {
+ pomModel = PomFactory.eINSTANCE.createModel();
+ doc = domModel.getDocument();
+ DocumentAdapter da = new DocumentAdapter();
+ if (doc.getDocumentElement() != null) {
+ createAdapterForRootNode(
+ domModel.getDocument().getDocumentElement()).load();
+ } else {
+ pomModel.eAdapters().add(da);
+ }
+ ((IDOMNode) doc).addAdapter(da);
+ this.getContents().add(pomModel);
+ this.setLoaded(true);
+ } finally {
+ setProcessEvents(true);
+ }
+
+ }
+
+ @Override
+ protected void doSave(OutputStream outputStream, Map<?, ?> options)
+ throws IOException {
+ try {
+ domModel.save(outputStream);
+ } catch (CoreException e) {
+ IOException ioe = new IOException(e.getMessage());
+ ioe.initCause(e);
+ throw ioe;
+ }
+ }
+
+ @Override
+ protected void doUnload() {
+ domModel.releaseFromEdit();
+ }
+
+ private void loadDOMModel() throws IOException {
+ IFile ifile = null;
+ if (uri.isPlatformResource()) {
+ String localPath = uri.toPlatformString(true);
+ ifile = (IFile) ResourcesPlugin.getWorkspace().getRoot().findMember(localPath);
+ } else if (uri.isFile()) {
+ String filePath = uri.toFileString();
+ File f = new File(filePath);
+ IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocationURI(f.getAbsoluteFile().toURI());
+ if (files.length > 0) {
+ ifile = files[0];
+ }
+ }
+
+ try {
+ IModelManager modelManager = StructuredModelManager.getModelManager();
+ if (ifile != null && ifile.exists()) {
+ domModel = (IDOMModel) modelManager.getExistingModelForEdit(ifile);
+ }
+ if (null == domModel) {
+ if (ifile != null && ifile.exists()) {
+ domModel = (IDOMModel) modelManager.getModelForEdit(ifile);
+ } else if (uri.isFile()) {
+ File f = new File(uri.toFileString());
+ FileInputStream is = new FileInputStream(f);
+ try {
+ domModel = (IDOMModel) modelManager.getModelForEdit(f.getAbsolutePath(), is, null);
+ } finally {
+ is.close();
+ }
+ }
+ // Had to comment this out, ExtensibleURIConverterImpl isn't available in Eclipse 3.3
+// else {
+// ExtensibleURIConverterImpl converter = new ExtensibleURIConverterImpl();
+// InputStream is = converter.createInputStream(uri);
+// domModel = (IDOMModel) modelManager.getModelForEdit(uri.toString(), is, null);
+// is.close();
+// }
+ }
+ } catch (CoreException e) {
+ // IOException can't wrap another exception before Java 6
+ if (e.getCause() != null && e.getCause() instanceof IOException) {
+ throw (IOException) e.getCause();
+ } else {
+ throw new IOException(e.getMessage());
+ }
+ }
+ }
+
+ private ModelObjectAdapter createAdapterForRootNode(Element root) {
+ ModelObjectAdapter adapter = new ModelObjectAdapter(this, pomModel,
+ root);
+ ((IDOMElement) root).addAdapter(adapter);
+ pomModel.eAdapters().add(adapter);
+ return adapter;
+ }
+
+ boolean isProcessEvents() {
+ return !NO_EVENT_MODELS.contains(domModel.getId());
+ }
+
+ void setProcessEvents(boolean processEvents) {
+ if(processEvents) {
+ NO_EVENT_MODELS.remove(domModel.getId());
+ } else {
+ NO_EVENT_MODELS.add(domModel.getId());
+ }
+ }
+
+ private class DocumentAdapter implements INodeAdapter, Adapter {
+ private Notifier target;
+
+ public boolean isAdapterForType(Object type) {
+ return getClass().equals(type);
+ }
+
+ public void notifyChanged(Notification notification) {
+ if (isProcessEvents()) {
+ setProcessEvents(false);
+ try {
+ int type = notification.getEventType();
+ if (Notification.ADD == type
+ || Notification.ADD_MANY == type
+ || Notification.SET == type) {
+ if (null == doc.getDocumentElement()) {
+ Element newRoot = doc.createElementNS(
+ "http://maven.apache.org/POM/4.0.0", //$NON-NLS-1$
+ "project"); //$NON-NLS-1$
+ newRoot
+ .setAttributeNS(
+ "http://www.w3.org/2001/XMLSchema-instance", //$NON-NLS-1$
+ "xsi:schemaLocation", //$NON-NLS-1$
+ "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"); //$NON-NLS-1$
+
+ // I think this is just wrong...but can't find a
+ // better way.
+ newRoot.setAttribute("xmlns", //$NON-NLS-1$
+ "http://maven.apache.org/POM/4.0.0"); //$NON-NLS-1$
+ newRoot
+ .setAttribute("xmlns:xsi", //$NON-NLS-1$
+ "http://www.w3.org/2001/XMLSchema-instance"); //$NON-NLS-1$
+ doc.appendChild(newRoot);
+ pomModel.setModelVersion("4.0.0"); //$NON-NLS-1$
+ createAdapterForRootNode(newRoot).save();
+ } else {
+ Element root = doc.getDocumentElement();
+ createAdapterForRootNode(root).load();
+ }
+ DocumentAdapter existingDocAdapter = (DocumentAdapter) EcoreUtil
+ .getExistingAdapter(pomModel,
+ DocumentAdapter.class);
+ if (null != existingDocAdapter) {
+ pomModel.eAdapters().remove(existingDocAdapter);
+ }
+ }
+ } finally {
+ setProcessEvents(true);
+ }
+ }
+
+ }
+
+ public void notifyChanged(INodeNotifier notifier, int eventType,
+ Object changedFeature, Object oldValue, Object newValue, int pos) {
+ if (isProcessEvents()) {
+ setProcessEvents(false);
+ try {
+ if (INodeNotifier.ADD == eventType) {
+ if (newValue instanceof Element) {
+ Element e = (Element) newValue;
+ if (doc.getDocumentElement().equals(e)) {
+ DocumentAdapter existingDocAdapter = (DocumentAdapter) EcoreUtil
+ .getExistingAdapter(pomModel,
+ DocumentAdapter.class);
+ if (null != existingDocAdapter) {
+ pomModel.eAdapters().remove(
+ existingDocAdapter);
+ }
+ createAdapterForRootNode(e).load();
+ }
+ }
+ } else if (INodeNotifier.REMOVE == eventType) {
+ if (changedFeature instanceof Element) {
+ ModelObjectAdapter existing = (ModelObjectAdapter) EcoreUtil
+ .getExistingAdapter(pomModel,
+ ModelObjectAdapter.class);
+ if (existing != null) {
+ pomModel.eAdapters().remove(existing);
+ }
+
+ if (null == doc.getDocumentElement()) {
+ for (EStructuralFeature feature : pomModel
+ .eClass().getEStructuralFeatures()) {
+ pomModel.eUnset(feature);
+ }
+ }
+
+ DocumentAdapter existingDocAdapter = (DocumentAdapter) EcoreUtil
+ .getExistingAdapter(pomModel,
+ DocumentAdapter.class);
+ if (null == existingDocAdapter) {
+ pomModel.eAdapters().add(this);
+ }
+
+ }
+ }
+ } finally {
+ setProcessEvents(true);
+ }
+ }
+ }
+
+ public Notifier getTarget() {
+ return target;
+ }
+
+ public void setTarget(Notifier newTarget) {
+ this.target = newTarget;
+ }
+ }
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/TranslatorAdapter.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/TranslatorAdapter.java
new file mode 100644
index 00000000..c7250fdb
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/TranslatorAdapter.java
@@ -0,0 +1,371 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.translators;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+import com.ibm.icu.lang.UCharacter;
+
+
+/**
+ * A base class for all adapters that can translate a EMF to DOM and vice-versa.
+ *
+ * Each translator adaptor is expected to have a single root element that
+ * controls its existence. It is responsible for the subtree of that node by
+ * updating it directly or delegating to child adapters to do the work.
+ *
+ *
+ * @author Mike Poindexter
+ */
+public abstract class TranslatorAdapter implements INodeAdapter {
+ protected SSESyncResource resource;
+
+ protected Element node;
+
+ public TranslatorAdapter(SSESyncResource resource) {
+ this.resource = resource;
+ }
+
+ /**
+ * Returns the textual value of an element.
+ *
+ * @param e
+ * @return
+ */
+ protected static String getElementText(Element e) {
+ StringBuilder ret = new StringBuilder();
+ NodeList children = e.getChildNodes();
+ int nChildren = children.getLength();
+ for (int i = 0; i < nChildren; i++) {
+ Node child = children.item(i);
+ if (child instanceof Text) {
+ ret.append(((Text) child).getData());
+ }
+ }
+ return ret.toString().trim();
+ }
+
+ /**
+ * Load the model value from this adapter's xml value
+ */
+ public abstract void load();
+
+ /**
+ * Save the xml value of this adapter from the model.
+ */
+ public abstract void save();
+
+ /**
+ * @param oldValue
+ */
+ public abstract void update(Object oldValue, Object newValue, int index);
+
+ /**
+ * Returns the index of the given element in the list of elements of the
+ * same name.
+ *
+ * @param e
+ * @return
+ */
+ protected int namedIndexOf(Element parentNode, Element element) {
+ int ret = 0;
+ NodeList children = parentNode.getChildNodes();
+ int nChildren = children.getLength();
+ for (int i = 0; i < nChildren; i++) {
+ Node child = children.item(i);
+ if (child instanceof Element) {
+ Element e = (Element) child;
+ if (e.getLocalName().equals(element.getLocalName())) {
+ if (e == element) {
+ return ret;
+ } else {
+ ret++;
+ }
+ }
+ }
+ }
+ return -1;
+ }
+
+ /**
+ * Returns the index of the given element in the list of child elements.
+ *
+ * @param e
+ * @return
+ */
+ protected int absoluteIndexOf(Element parentNode, Element element) {
+ int ret = 0;
+ NodeList children = parentNode.getChildNodes();
+ int nChildren = children.getLength();
+ for (int i = 0; i < nChildren; i++) {
+ Node child = children.item(i);
+ if (child instanceof Element) {
+ Element e = (Element) child;
+ if (e.getLocalName().equals(element.getLocalName())) {
+ if (e == element) {
+ return ret;
+ } else {
+ ret++;
+ }
+ }
+ }
+ }
+ return -1;
+ }
+
+ /**
+ * Returns the first child with the given name, or null if none exists.
+ *
+ * @param name
+ * @return
+ */
+ protected Element getFirstChildWithName(Element parent, String name) {
+ return getNthChildWithName(parent, name, 0);
+ }
+
+ /**
+ * Returns the nth child element with a given name, or null if no such
+ * element exists.
+ *
+ * @param name
+ * @param n
+ * @return
+ */
+ protected Element getNthChildWithName(Element parent, String name, int n) {
+ int matchCount = 0;
+ NodeList children = parent.getChildNodes();
+ int nChildren = children.getLength();
+ for (int i = 0; i < nChildren; i++) {
+ Node child = children.item(i);
+ if (child instanceof Element) {
+ Element e = (Element) child;
+ if (e.getTagName().equals(name) || "*".equals(name)) { //$NON-NLS-1$
+ if (matchCount == n) {
+ return e;
+ } else {
+ matchCount++;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ public Element getNode() {
+ return node;
+ }
+
+ public void setNode(Element node) {
+ this.node = node;
+ }
+
+ protected void formatNode(Element element) {
+ createWSBefore(element);
+ createWSAfter(element);
+ }
+
+ /**
+ * Ensure at least one NL between this node and the previous, and proper
+ * start tag indentation.
+ *
+ * @param element
+ * @return
+ */
+ protected void createWSBefore(Element element) {
+ try {
+ IStructuredDocument doc = ((IDOMNode) element)
+ .getStructuredDocument();
+ int nodeStartOff = ((IDOMNode) element).getStartOffset();
+ StringBuilder betweenText = new StringBuilder();
+ int i = nodeStartOff - 1;
+ while (i > -1) {
+ char next = doc.getChar(i);
+ if (next == '>') {
+ break;
+ }
+ betweenText.insert(0, next);
+ i--;
+ }
+ int origLen = betweenText.length();
+ int nlIndex = betweenText.lastIndexOf("\n"); //$NON-NLS-1$
+ if (nlIndex == -1) {
+ String nl = getNewlineString();
+ betweenText.insert(0, nl);
+ nlIndex = nl.length() - 1;
+ }
+
+ String indent = getIndentForNode(element);
+ if (!indent.equals(betweenText.substring(nlIndex + 1))) {
+ betweenText.replace(nlIndex + 1, betweenText.length(), indent);
+ }
+ if (origLen > 0) {
+ doc.replaceText(this, i + 1, origLen, betweenText.toString());
+ } else {
+ Text t = element.getOwnerDocument().createTextNode(
+ betweenText.toString());
+ element.getParentNode().insertBefore(t, element);
+ }
+ } catch (BadLocationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+
+ /**
+ * Ensure at least one NL between this node and the next, and proper indent
+ * to the next tag tag indentation.
+ *
+ * @param element
+ * @return
+ */
+ protected void createWSAfter(Element element) {
+ try {
+ IStructuredDocument doc = ((IDOMNode) element)
+ .getStructuredDocument();
+ int nodeEndOff = ((IDOMNode) element).getEndOffset();
+ StringBuilder betweenText = new StringBuilder();
+ int i = nodeEndOff;
+ while (i < doc.getLength()) {
+ char next = doc.getChar(i);
+ if (next == '<') {
+ break;
+ }
+ betweenText.append(next);
+ i++;
+ }
+ int origLen = betweenText.length();
+ int nlIndex = betweenText.lastIndexOf("\n"); //$NON-NLS-1$
+ if (nlIndex == -1) {
+ String nl = getNewlineString();
+ betweenText.insert(0, nl);
+ nlIndex = nl.length() - 1;
+ }
+
+ Node refNode = element.getNextSibling();
+ while (refNode != null && !(refNode instanceof Element)) {
+ refNode = refNode.getNextSibling();
+ }
+ String indent = ""; //$NON-NLS-1$
+ if (refNode == null) {
+ indent = getIndentBeforeStartTag(element.getParentNode());
+ } else {
+ indent = getIndentForNode((Element) refNode);
+ }
+ if (!indent.equals(betweenText.substring(nlIndex + 1))) {
+ betweenText.replace(nlIndex + 1, betweenText.length(), indent);
+ }
+ if (origLen > 0) {
+ doc.replaceText(this, nodeEndOff, origLen, betweenText
+ .toString());
+ } else {
+ Text t = element.getOwnerDocument().createTextNode(
+ betweenText.toString());
+
+ if (null == refNode) {
+ element.getParentNode().appendChild(t);
+ } else {
+ element.getParentNode().insertBefore(t, refNode);
+ }
+ }
+ } catch (BadLocationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+
+ protected void removeChildElement(Element e) {
+ IStructuredDocument doc = ((IDOMNode) e).getStructuredDocument();
+ int nodeStartOff = ((IDOMNode) e).getStartOffset();
+ int nodeEndOff = ((IDOMNode) e).getEndOffset();
+ int i = nodeStartOff - 1;
+
+ while (i > 0) {
+ char c = ' ';
+ try {
+ c = doc.getChar(i);
+ } catch (BadLocationException ble) {
+ // We check for bad locations so this should not happen
+ }
+ if(UCharacter.isWhitespace(c)) {
+ i--;
+ }
+
+ if (c == '\n') {
+ if (i > 0) {
+ try {
+ c = doc.getChar(i);
+ } catch (BadLocationException ble) {
+ // We check for bad locations so this should not happen
+ }
+ if (c == '\r')
+ i--;
+ }
+ break;
+ }
+
+ }
+ doc.replaceText(this, i + 1, nodeEndOff - i - 1, null);
+ }
+
+ private String getIndentForNode(Element node) {
+ String ret = null;
+ Node prev = node.getPreviousSibling();
+ while (prev != null) {
+ if (prev instanceof Element) {
+ ret = getIndentBeforeStartTag(prev);
+ break;
+ }
+ prev = prev.getPreviousSibling();
+ }
+
+ if (null == ret) {
+ ret = getIndentBeforeStartTag(node.getParentNode()) + "\t"; //$NON-NLS-1$
+ }
+ return ret;
+ }
+
+ private String getIndentBeforeStartTag(Node node) {
+ StringBuilder builder = new StringBuilder(100);
+ IStructuredDocument doc = ((IDOMNode) node).getStructuredDocument();
+ int nodeStartOff = ((IDOMNode) node).getStartOffset();
+ int i = nodeStartOff - 1;
+ while (i > 0) {
+ char c = ' ';
+ try {
+ c = doc.getChar(i);
+ } catch (BadLocationException e) {
+ // We check for bad locations so this should not happen
+ }
+ if(UCharacter.isWhitespace(c) && !(c == '\r' || c == '\n')) {
+ builder.insert(0, c);
+ i--;
+ } else {
+ break;
+ }
+ }
+ return builder.toString();
+ }
+
+ private String getNewlineString() {
+ return ((IDOMNode) node).getStructuredDocument().getLineDelimiter();
+ }
+
+}
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ValueUpdateAdapter.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ValueUpdateAdapter.java
new file mode 100644
index 00000000..0449a812
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/translators/ValueUpdateAdapter.java
@@ -0,0 +1,158 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.translators;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
+
+/**
+ * Handles notifications from the DOM that a simple text value has changed.
+ *
+ * @author Mike Poindexter
+ */
+class ValueUpdateAdapter extends TranslatorAdapter implements INodeAdapter {
+ /**
+ *
+ */
+ private EObject modelObject;
+
+ private EStructuralFeature feature;
+
+ private List<Node> linkedWhitespaceNodes = Collections.emptyList();
+
+ public ValueUpdateAdapter(SSESyncResource resource, Element node,
+ EObject object, EStructuralFeature feature) {
+ super(resource);
+ this.node = node;
+ this.modelObject = object;
+ this.feature = feature;
+ }
+
+ public boolean isAdapterForType(Object type) {
+ return ValueUpdateAdapter.class.equals(type);
+ }
+
+ public void notifyChanged(INodeNotifier notifier, int eventType,
+ Object changedFeature, Object oldValue, Object newValue, int pos) {
+ if (resource.isProcessEvents()) {
+ try {
+ resource.setProcessEvents(false);
+ if (newValue instanceof Text) {
+ changedFeature = newValue;
+ newValue = ((Text) newValue).getData();
+ }
+ if (changedFeature instanceof Text) {
+ if (null == newValue) {
+ ExtendedEcoreUtil.eUnsetOrRemove(modelObject, feature,
+ oldValue);
+ } else {
+ ExtendedEcoreUtil.eSetOrAdd(modelObject, feature,
+ newValue.toString().trim());
+ }
+ }
+ } finally {
+ resource.setProcessEvents(true);
+ }
+
+ }
+
+ }
+
+ @Override
+ public void load() {
+ Object value = getElementText(node);
+ if (feature instanceof EAttribute) {
+ EAttribute ea = (EAttribute) feature;
+ value = EcoreUtil.createFromString(ea.getEAttributeType(), value
+ .toString());
+ }
+
+ modelObject.eSet(feature, value);
+ }
+
+ @Override
+ public void save() {
+ setElementTextValue(node, null, modelObject.eGet(feature));
+ }
+
+ @Override
+ public void update(Object oldValue, Object newValue, int index) {
+ setElementTextValue(node, oldValue, modelObject.eGet(feature));
+ }
+
+ /**
+ * Sets the text value of an existing node, attempting to preserve
+ * whitespace
+ *
+ * @param element
+ * @param oldValue
+ * @param newValue
+ */
+ private void setElementTextValue(Element element, Object oldValue,
+ Object newValue) {
+ newValue = newValue == null ? "" : newValue.toString(); //$NON-NLS-1$
+ boolean replacedChild = false;
+
+ if (oldValue != null) {
+ // First try to find a text node with the old value and set it (to
+ // preserve whitespace)
+ NodeList children = element.getChildNodes();
+ int nChildren = children.getLength();
+ for (int i = 0; i < nChildren; i++) {
+ Node child = children.item(i);
+ if (child instanceof Text) {
+ String value = ((Text) child).getData();
+ int oldIdx = value.indexOf(oldValue.toString());
+ if (oldIdx > -1) {
+ String replacement = value.substring(0, oldIdx)
+ + newValue.toString()
+ + value.substring(oldIdx
+ + oldValue.toString().length());
+ ((Text) child).setData(replacement);
+ replacedChild = true;
+ }
+ }
+ }
+ }
+
+ // If for some reason we couldn't find a text to update, just clear the
+ // element contents and put in our text.
+ if (!replacedChild) {
+ while (element.getFirstChild() != null) {
+ element.removeChild(element.getFirstChild());
+ }
+ Text text = node.getOwnerDocument().createTextNode(
+ newValue.toString());
+ element.appendChild(text);
+ }
+ }
+
+ public List<Node> getLinkedWhitespaceNodes() {
+ return linkedWhitespaceNodes;
+ }
+
+ public void setLinkedWhitespaceNodes(List<Node> linkedWhitespaceNodes) {
+ this.linkedWhitespaceNodes = linkedWhitespaceNodes;
+ }
+} \ No newline at end of file
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomAdapterFactory.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomAdapterFactory.java
new file mode 100644
index 00000000..8717ecb2
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomAdapterFactory.java
@@ -0,0 +1,904 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PomAdapterFactory.java 20588 2008-12-04 17:59:55Z jerdfelt $
+ */
+package org.eclipse.m2e.model.edit.pom.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.m2e.model.edit.pom.*;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage
+ * @generated
+ */
+public class PomAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static PomPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public PomAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = PomPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+ * the object is either the model's package or is an instance object of the
+ * model. <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PomSwitch<Adapter> modelSwitch = new PomSwitch<Adapter>() {
+ @Override
+ public Adapter caseActivation(Activation object) {
+ return createActivationAdapter();
+ }
+
+ @Override
+ public Adapter caseActivationFile(ActivationFile object) {
+ return createActivationFileAdapter();
+ }
+
+ @Override
+ public Adapter caseActivationOS(ActivationOS object) {
+ return createActivationOSAdapter();
+ }
+
+ @Override
+ public Adapter caseActivationProperty(ActivationProperty object) {
+ return createActivationPropertyAdapter();
+ }
+
+ @Override
+ public Adapter caseBuild(Build object) {
+ return createBuildAdapter();
+ }
+
+ @Override
+ public Adapter caseBuildBase(BuildBase object) {
+ return createBuildBaseAdapter();
+ }
+
+ @Override
+ public Adapter caseCiManagement(CiManagement object) {
+ return createCiManagementAdapter();
+ }
+
+ @Override
+ public Adapter caseContributor(Contributor object) {
+ return createContributorAdapter();
+ }
+
+ @Override
+ public Adapter caseDependency(Dependency object) {
+ return createDependencyAdapter();
+ }
+
+ @Override
+ public Adapter caseDependencyManagement(DependencyManagement object) {
+ return createDependencyManagementAdapter();
+ }
+
+ @Override
+ public Adapter caseDeploymentRepository(DeploymentRepository object) {
+ return createDeploymentRepositoryAdapter();
+ }
+
+ @Override
+ public Adapter caseDeveloper(Developer object) {
+ return createDeveloperAdapter();
+ }
+
+ @Override
+ public Adapter caseDistributionManagement(DistributionManagement object) {
+ return createDistributionManagementAdapter();
+ }
+
+ @Override
+ public Adapter caseDocumentRoot(DocumentRoot object) {
+ return createDocumentRootAdapter();
+ }
+
+ @Override
+ public Adapter caseExclusion(Exclusion object) {
+ return createExclusionAdapter();
+ }
+
+ @Override
+ public Adapter caseExtension(Extension object) {
+ return createExtensionAdapter();
+ }
+
+ @Override
+ public Adapter caseIssueManagement(IssueManagement object) {
+ return createIssueManagementAdapter();
+ }
+
+ @Override
+ public Adapter caseLicense(License object) {
+ return createLicenseAdapter();
+ }
+
+ @Override
+ public Adapter caseMailingList(MailingList object) {
+ return createMailingListAdapter();
+ }
+
+ @Override
+ public Adapter caseModel(Model object) {
+ return createModelAdapter();
+ }
+
+ @Override
+ public Adapter caseNotifier(org.eclipse.m2e.model.edit.pom.Notifier object) {
+ return createNotifierAdapter();
+ }
+
+ @Override
+ public Adapter caseOrganization(Organization object) {
+ return createOrganizationAdapter();
+ }
+
+ @Override
+ public Adapter caseParent(Parent object) {
+ return createParentAdapter();
+ }
+
+ @Override
+ public Adapter casePlugin(Plugin object) {
+ return createPluginAdapter();
+ }
+
+ @Override
+ public Adapter casePluginExecution(PluginExecution object) {
+ return createPluginExecutionAdapter();
+ }
+
+ @Override
+ public Adapter casePluginManagement(PluginManagement object) {
+ return createPluginManagementAdapter();
+ }
+
+ @Override
+ public Adapter casePrerequisites(Prerequisites object) {
+ return createPrerequisitesAdapter();
+ }
+
+ @Override
+ public Adapter caseProfile(Profile object) {
+ return createProfileAdapter();
+ }
+
+ @Override
+ public Adapter caseRelocation(Relocation object) {
+ return createRelocationAdapter();
+ }
+
+ @Override
+ public Adapter caseReporting(Reporting object) {
+ return createReportingAdapter();
+ }
+
+ @Override
+ public Adapter caseReportPlugin(ReportPlugin object) {
+ return createReportPluginAdapter();
+ }
+
+ @Override
+ public Adapter caseReportSet(ReportSet object) {
+ return createReportSetAdapter();
+ }
+
+ @Override
+ public Adapter caseRepository(Repository object) {
+ return createRepositoryAdapter();
+ }
+
+ @Override
+ public Adapter caseRepositoryPolicy(RepositoryPolicy object) {
+ return createRepositoryPolicyAdapter();
+ }
+
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+
+ @Override
+ public Adapter caseScm(Scm object) {
+ return createScmAdapter();
+ }
+
+ @Override
+ public Adapter caseSite(Site object) {
+ return createSiteAdapter();
+ }
+
+ @Override
+ public Adapter casePropertyElement(PropertyElement object) {
+ return createPropertyElementAdapter();
+ }
+
+ @Override
+ public Adapter caseConfiguration(Configuration object) {
+ return createConfigurationAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Activation <em>Activation</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that
+ * we can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Activation
+ * @generated
+ */
+ public Adapter createActivationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationFile
+ * <em>Activation File</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationFile
+ * @generated
+ */
+ public Adapter createActivationFileAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationOS <em>Activation OS</em>}
+ * '. <!-- begin-user-doc --> This default implementation returns null so
+ * that we can easily ignore cases; it's useful to ignore a case when
+ * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationOS
+ * @generated
+ */
+ public Adapter createActivationOSAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.ActivationProperty
+ * <em>Activation Property</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.ActivationProperty
+ * @generated
+ */
+ public Adapter createActivationPropertyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Build <em>Build</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Build
+ * @generated
+ */
+ public Adapter createBuildAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.BuildBase <em>Build Base</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.BuildBase
+ * @generated
+ */
+ public Adapter createBuildBaseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.CiManagement <em>Ci Management</em>}
+ * '. <!-- begin-user-doc --> This default implementation returns null so
+ * that we can easily ignore cases; it's useful to ignore a case when
+ * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.CiManagement
+ * @generated
+ */
+ public Adapter createCiManagementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Contributor <em>Contributor</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that
+ * we can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Contributor
+ * @generated
+ */
+ public Adapter createContributorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Dependency <em>Dependency</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that
+ * we can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Dependency
+ * @generated
+ */
+ public Adapter createDependencyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.DependencyManagement
+ * <em>Dependency Management</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.DependencyManagement
+ * @generated
+ */
+ public Adapter createDependencyManagementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.DeploymentRepository
+ * <em>Deployment Repository</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.DeploymentRepository
+ * @generated
+ */
+ public Adapter createDeploymentRepositoryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Developer <em>Developer</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Developer
+ * @generated
+ */
+ public Adapter createDeveloperAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.DistributionManagement
+ * <em>Distribution Management</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.DistributionManagement
+ * @generated
+ */
+ public Adapter createDistributionManagementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.DocumentRoot <em>Document Root</em>}
+ * '. <!-- begin-user-doc --> This default implementation returns null so
+ * that we can easily ignore cases; it's useful to ignore a case when
+ * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.DocumentRoot
+ * @generated
+ */
+ public Adapter createDocumentRootAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Exclusion <em>Exclusion</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Exclusion
+ * @generated
+ */
+ public Adapter createExclusionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Extension <em>Extension</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Extension
+ * @generated
+ */
+ public Adapter createExtensionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.IssueManagement
+ * <em>Issue Management</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.IssueManagement
+ * @generated
+ */
+ public Adapter createIssueManagementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.License <em>License</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.License
+ * @generated
+ */
+ public Adapter createLicenseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.MailingList <em>Mailing List</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that
+ * we can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.MailingList
+ * @generated
+ */
+ public Adapter createMailingListAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Model <em>Model</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Model
+ * @generated
+ */
+ public Adapter createModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Notifier <em>Notifier</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Notifier
+ * @generated
+ */
+ public Adapter createNotifierAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Organization <em>Organization</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that
+ * we can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Organization
+ * @generated
+ */
+ public Adapter createOrganizationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Parent <em>Parent</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Parent
+ * @generated
+ */
+ public Adapter createParentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Plugin <em>Plugin</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Plugin
+ * @generated
+ */
+ public Adapter createPluginAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginExecution
+ * <em>Plugin Execution</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.PluginExecution
+ * @generated
+ */
+ public Adapter createPluginExecutionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.PluginManagement
+ * <em>Plugin Management</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.PluginManagement
+ * @generated
+ */
+ public Adapter createPluginManagementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Prerequisites <em>Prerequisites</em>}
+ * '. <!-- begin-user-doc --> This default implementation returns null so
+ * that we can easily ignore cases; it's useful to ignore a case when
+ * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Prerequisites
+ * @generated
+ */
+ public Adapter createPrerequisitesAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Profile <em>Profile</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Profile
+ * @generated
+ */
+ public Adapter createProfileAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Relocation <em>Relocation</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that
+ * we can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Relocation
+ * @generated
+ */
+ public Adapter createRelocationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Reporting <em>Reporting</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Reporting
+ * @generated
+ */
+ public Adapter createReportingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportPlugin <em>Report Plugin</em>}
+ * '. <!-- begin-user-doc --> This default implementation returns null so
+ * that we can easily ignore cases; it's useful to ignore a case when
+ * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.ReportPlugin
+ * @generated
+ */
+ public Adapter createReportPluginAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.ReportSet <em>Report Set</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.ReportSet
+ * @generated
+ */
+ public Adapter createReportSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Repository <em>Repository</em>}'.
+ * <!-- begin-user-doc --> This default implementation returns null so that
+ * we can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Repository
+ * @generated
+ */
+ public Adapter createRepositoryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.RepositoryPolicy
+ * <em>Repository Policy</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.RepositoryPolicy
+ * @generated
+ */
+ public Adapter createRepositoryPolicyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Resource <em>Resource</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Scm <em>Scm</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Scm
+ * @generated
+ */
+ public Adapter createScmAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Site <em>Site</em>}'. <!--
+ * begin-user-doc --> This default implementation returns null so that we
+ * can easily ignore cases; it's useful to ignore a case when inheritance
+ * will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Site
+ * @generated
+ */
+ public Adapter createSiteAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.PropertyElement
+ * <em>Property Element</em>}'. <!-- begin-user-doc --> This default
+ * implementation returns null so that we can easily ignore cases; it's
+ * useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.PropertyElement
+ * @generated
+ */
+ public Adapter createPropertyElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '
+ * {@link org.eclipse.m2e.model.edit.pom.Configuration <em>Configuration</em>}
+ * '. <!-- begin-user-doc --> This default implementation returns null so
+ * that we can easily ignore cases; it's useful to ignore a case when
+ * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.m2e.model.edit.pom.Configuration
+ * @generated
+ */
+ public Adapter createConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case. <!-- begin-user-doc --> This
+ * default implementation returns null. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // PomAdapterFactory
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomResourceFactoryImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomResourceFactoryImpl.java
new file mode 100644
index 00000000..26c2b49f
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomResourceFactoryImpl.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PomResourceFactoryImpl.java 20719 2009-02-02 05:52:56Z mpoindexter $
+ */
+package org.eclipse.m2e.model.edit.pom.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.util.PomResourceImpl
+ */
+public class PomResourceFactoryImpl extends ResourceFactoryImpl {
+
+ /**
+ * Creates an instance of the resource factory. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ */
+ public PomResourceFactoryImpl() {
+
+ }
+
+ @Override
+ public Resource createResource(URI uri) {
+ return new PomResourceImpl(uri);
+ }
+
+} // PomResourceFactoryImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomResourceImpl.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomResourceImpl.java
new file mode 100644
index 00000000..63dc5b92
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomResourceImpl.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.model.edit.pom.util;
+
+import java.io.IOException;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.m2e.model.edit.pom.Model;
+import org.eclipse.m2e.model.edit.pom.translators.SSESyncResource;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.m2e.model.edit.pom.util.PomResourceFactoryImpl
+ * @generated NOT
+ */
+public class PomResourceImpl extends SSESyncResource {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public PomResourceImpl(URI uri) {
+ super(uri);
+ }
+
+ public void load(Map<?, ?> options) throws IOException {
+ super.load(options);
+ }
+
+ public Model getModel() {
+ return (Model) getContents().get(0);
+ }
+
+} // PomResourceImpl
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomSwitch.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomSwitch.java
new file mode 100644
index 00000000..5ee48ad5
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomSwitch.java
@@ -0,0 +1,1060 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PomSwitch.java 20588 2008-12-04 17:59:55Z jerdfelt $
+ */
+package org.eclipse.m2e.model.edit.pom.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.m2e.model.edit.pom.*;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.m2e.model.edit.pom.PomPackage
+ * @generated
+ */
+public class PomSwitch<T> {
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static PomPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public PomSwitch() {
+ if (modelPackage == null) {
+ modelPackage = PomPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns
+ * a non null result; it yields that result. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code>
+ * call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns
+ * a non null result; it yields that result. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code>
+ * call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ } else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(
+ eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns
+ * a non null result; it yields that result. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code>
+ * call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case PomPackage.ACTIVATION: {
+ Activation activation = (Activation) theEObject;
+ T result = caseActivation(activation);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.ACTIVATION_FILE: {
+ ActivationFile activationFile = (ActivationFile) theEObject;
+ T result = caseActivationFile(activationFile);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.ACTIVATION_OS: {
+ ActivationOS activationOS = (ActivationOS) theEObject;
+ T result = caseActivationOS(activationOS);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.ACTIVATION_PROPERTY: {
+ ActivationProperty activationProperty = (ActivationProperty) theEObject;
+ T result = caseActivationProperty(activationProperty);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.BUILD: {
+ Build build = (Build) theEObject;
+ T result = caseBuild(build);
+ if (result == null)
+ result = caseBuildBase(build);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.BUILD_BASE: {
+ BuildBase buildBase = (BuildBase) theEObject;
+ T result = caseBuildBase(buildBase);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.CI_MANAGEMENT: {
+ CiManagement ciManagement = (CiManagement) theEObject;
+ T result = caseCiManagement(ciManagement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.CONTRIBUTOR: {
+ Contributor contributor = (Contributor) theEObject;
+ T result = caseContributor(contributor);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.DEPENDENCY: {
+ Dependency dependency = (Dependency) theEObject;
+ T result = caseDependency(dependency);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.DEPENDENCY_MANAGEMENT: {
+ DependencyManagement dependencyManagement = (DependencyManagement) theEObject;
+ T result = caseDependencyManagement(dependencyManagement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.DEPLOYMENT_REPOSITORY: {
+ DeploymentRepository deploymentRepository = (DeploymentRepository) theEObject;
+ T result = caseDeploymentRepository(deploymentRepository);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.DEVELOPER: {
+ Developer developer = (Developer) theEObject;
+ T result = caseDeveloper(developer);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.DISTRIBUTION_MANAGEMENT: {
+ DistributionManagement distributionManagement = (DistributionManagement) theEObject;
+ T result = caseDistributionManagement(distributionManagement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.DOCUMENT_ROOT: {
+ DocumentRoot documentRoot = (DocumentRoot) theEObject;
+ T result = caseDocumentRoot(documentRoot);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.EXCLUSION: {
+ Exclusion exclusion = (Exclusion) theEObject;
+ T result = caseExclusion(exclusion);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.EXTENSION: {
+ Extension extension = (Extension) theEObject;
+ T result = caseExtension(extension);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.ISSUE_MANAGEMENT: {
+ IssueManagement issueManagement = (IssueManagement) theEObject;
+ T result = caseIssueManagement(issueManagement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.LICENSE: {
+ License license = (License) theEObject;
+ T result = caseLicense(license);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.MAILING_LIST: {
+ MailingList mailingList = (MailingList) theEObject;
+ T result = caseMailingList(mailingList);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.MODEL: {
+ Model model = (Model) theEObject;
+ T result = caseModel(model);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.NOTIFIER: {
+ Notifier notifier = (Notifier) theEObject;
+ T result = caseNotifier(notifier);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.ORGANIZATION: {
+ Organization organization = (Organization) theEObject;
+ T result = caseOrganization(organization);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.PARENT: {
+ Parent parent = (Parent) theEObject;
+ T result = caseParent(parent);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.PLUGIN: {
+ Plugin plugin = (Plugin) theEObject;
+ T result = casePlugin(plugin);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.PLUGIN_EXECUTION: {
+ PluginExecution pluginExecution = (PluginExecution) theEObject;
+ T result = casePluginExecution(pluginExecution);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.PLUGIN_MANAGEMENT: {
+ PluginManagement pluginManagement = (PluginManagement) theEObject;
+ T result = casePluginManagement(pluginManagement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.PREREQUISITES: {
+ Prerequisites prerequisites = (Prerequisites) theEObject;
+ T result = casePrerequisites(prerequisites);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.PROFILE: {
+ Profile profile = (Profile) theEObject;
+ T result = caseProfile(profile);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.RELOCATION: {
+ Relocation relocation = (Relocation) theEObject;
+ T result = caseRelocation(relocation);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.REPORTING: {
+ Reporting reporting = (Reporting) theEObject;
+ T result = caseReporting(reporting);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.REPORT_PLUGIN: {
+ ReportPlugin reportPlugin = (ReportPlugin) theEObject;
+ T result = caseReportPlugin(reportPlugin);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.REPORT_SET: {
+ ReportSet reportSet = (ReportSet) theEObject;
+ T result = caseReportSet(reportSet);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.REPOSITORY: {
+ Repository repository = (Repository) theEObject;
+ T result = caseRepository(repository);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.REPOSITORY_POLICY: {
+ RepositoryPolicy repositoryPolicy = (RepositoryPolicy) theEObject;
+ T result = caseRepositoryPolicy(repositoryPolicy);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.RESOURCE: {
+ Resource resource = (Resource) theEObject;
+ T result = caseResource(resource);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.SCM: {
+ Scm scm = (Scm) theEObject;
+ T result = caseScm(scm);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.SITE: {
+ Site site = (Site) theEObject;
+ T result = caseSite(site);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.PROPERTY_ELEMENT: {
+ PropertyElement propertyElement = (PropertyElement) theEObject;
+ T result = casePropertyElement(propertyElement);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case PomPackage.CONFIGURATION: {
+ Configuration configuration = (Configuration) theEObject;
+ T result = caseConfiguration(configuration);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Activation</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Activation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActivation(Activation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Activation File</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Activation File</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActivationFile(ActivationFile object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Activation OS</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Activation OS</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActivationOS(ActivationOS object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Activation Property</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate
+ * the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Activation Property</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseActivationProperty(ActivationProperty object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Build</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Build</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBuild(Build object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Build Base</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Build Base</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBuildBase(BuildBase object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Ci Management</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Ci Management</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCiManagement(CiManagement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Contributor</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Contributor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContributor(Contributor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Dependency</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Dependency</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDependency(Dependency object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Dependency Management</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate
+ * the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Dependency Management</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDependencyManagement(DependencyManagement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Deployment Repository</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate
+ * the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Deployment Repository</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeploymentRepository(DeploymentRepository object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Developer</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Developer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeveloper(Developer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Distribution Management</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate
+ * the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Distribution Management</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDistributionManagement(DistributionManagement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Document Root</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Document Root</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentRoot(DocumentRoot object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Exclusion</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Exclusion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExclusion(Exclusion object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Extension</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Extension</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtension(Extension object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Issue Management</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Issue Management</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIssueManagement(IssueManagement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>License</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>License</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLicense(License object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Mailing List</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Mailing List</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMailingList(MailingList object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Model</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModel(Model object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Notifier</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Notifier</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNotifier(Notifier object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Organization</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Organization</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOrganization(Organization object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Parent</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Parent</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParent(Parent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Plugin</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Plugin</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePlugin(Plugin object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Plugin Execution</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Plugin Execution</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePluginExecution(PluginExecution object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Plugin Management</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Plugin Management</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePluginManagement(PluginManagement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Prerequisites</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Prerequisites</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePrerequisites(Prerequisites object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Profile</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Profile</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProfile(Profile object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Relocation</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Relocation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRelocation(Relocation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Reporting</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Reporting</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReporting(Reporting object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Report Plugin</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Report Plugin</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReportPlugin(ReportPlugin object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Report Set</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Report Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReportSet(ReportSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Repository</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Repository</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRepository(Repository object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Repository Policy</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Repository Policy</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRepositoryPolicy(RepositoryPolicy object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Resource</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Scm</em>'. <!-- begin-user-doc --> This implementation returns null;
+ * returning a non-null result will terminate the switch. <!-- end-user-doc
+ * -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Scm</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseScm(Scm object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Site</em>'. <!-- begin-user-doc --> This implementation returns null;
+ * returning a non-null result will terminate the switch. <!-- end-user-doc
+ * -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Site</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSite(Site object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Property Element</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Property Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePropertyElement(PropertyElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>Configuration</em>'. <!-- begin-user-doc --> This implementation
+ * returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfiguration(Configuration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '
+ * <em>EObject</em>'. <!-- begin-user-doc --> This implementation returns
+ * null; returning a non-null result will terminate the switch, but this is
+ * the last case anyway. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '
+ * <em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // PomSwitch
diff --git a/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomXMLProcessor.java b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomXMLProcessor.java
new file mode 100644
index 00000000..0afa6afb
--- /dev/null
+++ b/org.eclipse.m2e.model.edit/src/main/java/org/eclipse/m2e/model/edit/pom/util/PomXMLProcessor.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PomXMLProcessor.java 20588 2008-12-04 17:59:55Z jerdfelt $
+ */
+package org.eclipse.m2e.model.edit.pom.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.m2e.model.edit.pom.PomPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PomXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PomXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ PomPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the PomResourceFactoryImpl
+ * factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new PomResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new PomResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // PomXMLProcessor

Back to the top