<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?><!--
     Copyright (c) 2010  Oracle. 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: 
     	Oracle - initial API and implementation
 -->

<plugin>
	
	<extension 
		point="org.eclipse.core.runtime.adapters">
		
		<factory 
			class="org.eclipse.jpt.jaxb.ui.internal.wizards.facet.model.JaxbFacetInstallConfigToDataModelAdapterFactory" 
			adaptableType="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetInstallConfig">
			<adapter type="org.eclipse.wst.common.frameworks.datamodel.IDataModel"/>
		</factory>
		
	</extension>
  
  
	<extension
		point="org.eclipse.ui.newWizards">

		<category
			id="org.eclipse.jpt.jaxb"
			name="%jaxbWizardCategoryName"/>

 		<wizard
            id="org.eclipse.jpt.jaxb.ui.wizard.generateSchemaFromClasses"
			name="%generateSchemaFromClassesName"
 			category="org.eclipse.jpt.jaxb"
 			class="org.eclipse.jpt.jaxb.ui.internal.wizards.schemagen.SchemaGeneratorWizard"
			icon="icons/full/etool16/NewXSD.gif">
				<description>%generateSchemaFromClassesDesc</description>
				<selection class="org.eclipse.core.resources.IResource"/> 
		</wizard>

 		<wizard
            id="org.eclipse.jpt.jaxb.ui.wizard.generateJAXBClasses"
			name="%generateClassesFromSchemaName"
 			category="org.eclipse.jpt.jaxb"
 			class="org.eclipse.jpt.jaxb.ui.internal.wizards.classesgen.ClassesGeneratorWizard"
			icon="icons/full/etool16/newclass_wiz.gif">
				<description>%generateClassesFromSchemaDesc</description>
		</wizard>

		<!-- will need to specify a final perspective once we have a jaxb perspective -->
		<wizard
			id="org.eclipse.jpt.jaxb.ui.wizard.newJaxbProject"
			name="%newJaxbProjectWizardName"
			icon="icons/full/etool16/new_jaxb_project_wiz.gif"
			category="org.eclipse.jpt.jaxb"
			project="true">
			<description>%newJaxbProjectWizardDesc</description>
			<class class="org.eclipse.jpt.jaxb.ui.internal.wizards.proj.JaxbProjectWizard"> 
				<parameter name="menuIndex" value="35"/> 
			</class>
		</wizard>
		
	</extension>
	
	
	<extension
		point="org.eclipse.ui.popupMenus">

		<!-- contributions to the "Generate" submenu -->
		<objectContribution
			id="org.eclipse.jpt.ui.xsdFileActions"
			objectClass="org.eclipse.core.resources.IFile"
			nameFilter="*.xsd">
			<filter
				name="projectNature"
				value="org.eclipse.jdt.core.javanature">
			</filter>
			<action
				id="org.eclipse.jpt.jaxb.ui.generateJaxbClasses" 
				label="%generateJaxbClasses"
				menubarPath="generateMenuId/GenerateXML"
				class="org.eclipse.jpt.jaxb.ui.internal.actions.GenerateClassesAction"> 
			</action> 
		</objectContribution>
		
	</extension>
	
	
	<extension
		point="org.eclipse.wst.common.project.facet.ui.images">
		
		<image facet="jpt.jaxb" path="icons/full/etool16/jaxb_facet.gif"/>
		
	</extension>
	
	
	<extension 
		point="org.eclipse.wst.common.project.facet.ui.wizardPages">
		
		<wizard-pages action="jpt.jaxb.install">
			<page class="org.eclipse.jpt.jaxb.ui.internal.wizards.facet.JaxbFacetInstallPage"/>
		</wizard-pages>
		
	</extension>
 	
</plugin>
