<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
  Copyright (c) 2014 Eike Stepper (Loehne, Germany) and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License v2.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/legal/epl-v20.html

  Contributors:
    Eike Stepper - initial API and implementation
-->

<plugin>


   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
      <!-- @generated JDT -->
      <factory
            uri="http://www.eclipse.org/oomph/setup/jdt/1.0"
            class="org.eclipse.oomph.setup.jdt.provider.JDTItemProviderAdapterFactory"
            supportedTypes=
              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
               org.eclipse.emf.edit.provider.ITreeItemContentProvider
               org.eclipse.emf.edit.provider.IItemLabelProvider
               org.eclipse.emf.edit.provider.IItemPropertySource"/>
   </extension>

   <extension point="org.eclipse.emf.edit.childCreationExtenders">
      <!-- @generated JDT -->
      <extender
            uri="http://www.eclipse.org/oomph/base/1.0"
            class="org.eclipse.oomph.setup.jdt.provider.JDTItemProviderAdapterFactory$BaseChildCreationExtender"/>
      <extender
            uri="http://www.eclipse.org/oomph/setup/1.0"
            class="org.eclipse.oomph.setup.jdt.provider.JDTItemProviderAdapterFactory$SetupChildCreationExtender"/>
   </extension>
</plugin>
