<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.hyades.models.hierarchy"
   name="%pluginName"
   version="3.0.0"
   provider-name="Eclipse.org"
   class="org.eclipse.hyades.models.hierarchy.plugin.HierarchyPlugin$Implementation">

   <runtime>
      <library name="hmodel.jar">
         <export name="*"/>
         <packages prefixes="org.eclipse.hyades.loaders.util,org.eclipse.hyades.loaders.hierarchy,org.eclipse.hyades.models.hierarchy"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.core.runtime.compatibility"/>
      <import plugin="org.eclipse.emf.ecore" export="true"/>
      <import plugin="org.eclipse.emf.ecore.xmi" export="true"/>
      <import plugin="org.apache.xerces" export="true"/>
      <import plugin="org.eclipse.core.resources" export="true"/>
   </requires>


<!--
	A loader for an XML fragment can be defined using the following extension point.
	The class defined by class attribute should implement org.eclipse.hyades.loaders.util.XMLFragmentLoader interface.
	<extension point="org.eclipse.hyades.models.hierarchy.fragment_loader">
    	<loader
        	elementName = "CommonBaseEvent"
			class = "org.eclipse.hyades.models.cbe.loaders.CommonBaseEvent" />
	</extension>

	An XML fragment handler can be defined using the following extension point.
	The class defined by class attribute should implement org.eclipse.hyades.loaders.util.XMLFragmentHandler interface.
	Only one XML fragement handler can be active, so to enable a specific handler please disable all the others handlers.
	<extension point="org.eclipse.hyades.models.hierarchy.fragment_handler">
    	<handler
			class = "org.eclipse.hyades.loaders.util.SAXFragmentHandler" />
	</extension>
	
	A loaders factory for a set of XML fragments can be defined using the following extension point.
	The class defined by "class" attribute should implement org.eclipse.hyades.loaders.util.XMLFragmentLoadersFactory interface.
	<extension point="org.eclipse.hyades.models.hierarchy.fragment_loaders_factory">
    	<loadersFactory
			class = "org.eclipse.hyades.loaders.hierarchy.HierarchyXMLLoadersFactory" />
	</extension>

	A resource loader (used to load the content of an XMI document) can be defined using the following extension point.
	The class defined by class attribute should implement org.eclipse.hyades.loaders.hierarchy.util.XMLResourceLoader interface.
	<extension point="org.eclipse.hyades.models.hierarchy.resource_loader">
    	<resourceLoader
        	fileExtension = "trcaxmi"
			class = "org.eclipse.hyades.loaders.hierarchy.XMLResourceLoaderImpl" />
	</extension>

	A lookup service can be defined using the following extension point.
	The class defined by class attribute should implement org.eclipse.hyades.loaders.util.LookupService interface.
   <extension
         point="org.eclipse.hyades.models.hierarchy.lookup_service">
      <lookupService
            class="org.eclipse.hyades.loaders.cbe.CBELookupService">
      </lookupService>
   </extension>

-->
   <extension-point id="fragment_loader" name="%loader"/>
   <extension-point id="fragment_handler" name="%handler"/>
   <extension-point id="fragment_loaders_factory" name="%loadersFactory"/>
   <extension-point id="resource_loader" name="%resourceLoader"/>
   <extension-point id="lookup_service" name="%lookupService"/>
   <extension-point id="hyades_resource_factory" name="%hyadesResourceFactory" schema="schema/hyades_resource_factory.exsd"/>

   <extension
         point="org.eclipse.hyades.models.hierarchy.fragment_loaders_factory">
      <loadersFactory
            class="org.eclipse.hyades.loaders.util.HierarchyXMLLoadersFactory">
      </loadersFactory>
   </extension>
   <extension
         point="org.eclipse.hyades.models.hierarchy.fragment_loader">
      <loader
            elementName="node"
            class="org.eclipse.hyades.loaders.hierarchy.XMLnodeLoader">
      </loader>
   </extension>
   <extension
         point="org.eclipse.hyades.models.hierarchy.fragment_loader">
      <loader
            elementName="processCreate"
            class="org.eclipse.hyades.loaders.hierarchy.XMLprocessCreateLoader">
      </loader>
   </extension>
   <extension
         point="org.eclipse.hyades.models.hierarchy.fragment_loader">
      <loader
            elementName="agentCreate"
            class="org.eclipse.hyades.loaders.hierarchy.XMLagentCreateLoader">
      </loader>
   </extension>
   <extension
         point="org.eclipse.hyades.models.hierarchy.lookup_service">
      <lookupService
            class="org.eclipse.hyades.loaders.util.HierarchyLookupService">
      </lookupService>
   </extension>
   <extension
         point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/hyades/models/hierarchy.xmi"
            class="org.eclipse.hyades.models.hierarchy.HierarchyPackage">
      </package>
   </extension>
   <extension
         id="HierarchyTest"
         point="org.eclipse.core.runtime.applications">
      <application>
         <run
               class="hierarchy.tests.HierarchyTest">
         </run>
      </application>
   </extension>

</plugin>
