<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.3"?>
<!--
	<copyright>
	
	Copyright (c) 2004 - 2008 Eike Stepper, Germany.
	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:
	  Eike Stepper - Initial API and implementation
	
	</copyright>
-->

<plugin>
    
  <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
    <factory 
       uri = "http://www.eclipse.org/emf/CDO/tests/model3/1.0.0" 
       class = "org.eclipse.emf.cdo.tests.model3.provider.Model3ItemProviderAdapterFactory" 
       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.itemProviderAdapterFactories">
    <factory 
       uri = "http://www.eclipse.org/emf/CDO/tests/subpackage/1.0.0" 
       class = "org.eclipse.emf.cdo.tests.model3.subpackage.provider.SubpackageItemProviderAdapterFactory" 
       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>

</plugin>
