<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
     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 points ***** -->
	
	<extension-point
		id="jaxbPlatforms"
		name="%JAXB_PLATFORMS"
		schema="schema/jaxbPlatforms.exsd"/>
	
	
	<!-- ***** extensions ***** -->
	
	<!-- =================================================================================== -->
	<!-- Extension: JAXB Problem Marker                                                       -->
	<!-- **** Do NOT qualify the marker id with org.eclipse.jpt.jaxb.core, see bug 252891 		 -->
	<!-- =================================================================================== -->
	<extension
		point="org.eclipse.core.resources.markers"
		id="jaxbProblemMarker" 
		name="%JAXB_PROBLEM_MARKER">

		<persistent value="true"/>
		
		<!-- Can't use text marker until we have specific models for each input type (XML, java)
		<super type="org.eclipse.core.resources.textmarker"/>
		-->
		
		<super type="org.eclipse.wst.validation.problemmarker2"/>
		<super type="org.eclipse.jdt.core.problem"/>
	</extension>
	
	
	<extension
		point="org.eclipse.jpt.jaxb.core.jaxbPlatforms">
		
		<jaxbPlatformGroup
        	id="generic"
        	label="%GENERIC_PLATFORM_GROUP_LABEL"/>
		
		<jaxbPlatform
			id="generic_2_1"
			label="%GENERIC_2_1_PLATFORM_LABEL"
			factoryClass="org.eclipse.jpt.jaxb.core.internal.jaxb21.GenericJaxb_2_1_PlatformDefinitionFactory"
			group="generic"
			jaxbFacetVersion="2.1"
			default="false"/>

		<jaxbPlatform
       	 	id="generic_2_2"
       	 	label="%GENERIC_2_2_PLATFORM_LABEL"
       	 	factoryClass="org.eclipse.jpt.jaxb.core.internal.jaxb22.GenericJaxb_2_2_PlatformDefinitionFactory"
        	group="generic"
        	jaxbFacetVersion="2.2"
        	default="false"/>
		
	</extension>
	
	
	<extension 
		point="org.eclipse.jst.common.project.facet.core.libraryProviders">
		
		<provider
			id="jaxb-no-op-library-provider"
			extends="jpt-no-op-library-provider">
			<param name="message" value="%JAXB_NO_OP_LIBRARY_PROVIDER_MESSAGE"/>
			<enablement>
				<with variable="requestingProjectFacet">
					<test 
						property="org.eclipse.wst.common.project.facet.core.projectFacet" 
						value="jpt.jaxb" forcePluginActivation="true"/>
				</with>
			</enablement>
		</provider>
		
		<provider
			id="jaxb-user-library-provider"
			extends="wtp-user-library-provider">
			<enablement>
				<with variable="requestingProjectFacet">
					<test property="org.eclipse.wst.common.project.facet.core.projectFacet" 
						value="jpt.jaxb" forcePluginActivation="true"/>
				</with>
			</enablement>
			<action type="INSTALL">
				<config class="org.eclipse.jpt.jaxb.core.internal.libprov.JaxbUserLibraryProviderInstallOperationConfig"/>
				<operation class="org.eclipse.jst.j2ee.internal.common.classpath.WtpUserLibraryProviderInstallOperation"/>
			</action>
		</provider>
		
		<provider 
			id="jaxb-osgi-bundles-library-provider"
			extends="wtp-osgi-bundles-library-provider"
			abstract="true">
			<enablement>
				<with variable="requestingProjectFacet">
					<test property="org.eclipse.wst.common.project.facet.core.projectFacet" 
						value="jpt.jaxb" forcePluginActivation="true"/>
				</with>
			</enablement>
			<action type="INSTALL">
				<config class="org.eclipse.jpt.jaxb.core.internal.libprov.JaxbOsgiBundlesLibraryProviderInstallOperationConfig"/>
				<operation class="org.eclipse.jst.j2ee.internal.common.classpath.WtpOsgiBundlesLibraryProviderInstallOperation"/>
			</action>
		</provider>
		
	</extension>
	
	
	<extension 
		point="org.eclipse.wst.common.project.facet.core.runtimes">
		
		<supported>
			<facet id="jpt.jaxb"/>
			<runtime-component any="true"/>
		</supported>
		
	</extension>
	
	
	<extension
		point="org.eclipse.wst.common.project.facet.core.facets">
		
		<project-facet id="jpt.jaxb">
			<label>%JAXB_FACET_LABEL</label>
			<description>%JAXB_FACET_DESCRIPTION</description>
		</project-facet>
		
		<project-facet-version facet="jpt.jaxb" version="2.1">
			<constraint>
				<requires facet="java" version="[5.0"/>
			</constraint>
		</project-facet-version>
		
		<project-facet-version facet="jpt.jaxb" version="2.2">
			<constraint>
				<requires facet="java" version="[5.0"/>
			</constraint>
		</project-facet-version>
		
		<template id="jpt.jaxb.template">
			<label>%JAXB_TEMPLATE_LABEL</label>
			<fixed facet="jpt.jaxb"/>
			<fixed facet="java"/>
		</template>
		
		<action facet="jpt.jaxb" type="install" id="jpt.jaxb.install">
			<config-factory class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetInstallConfigFactory"/>
			<delegate class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetInstallDelegate"/>
		</action>
		
		<action facet="jpt.jaxb" type="version-change" id="jpt.jaxb.version-change">
			<config-factory class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetVersionChangeConfigFactory"/>
			<delegate class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetVersionChangeDelegate"/>
		</action>
		
		<action facet="jpt.jaxb" type="uninstall" id="jpt.jaxb.uninstall">
			<delegate class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetUninstallDelegate"/>
		</action>
		
	</extension>
	
	
	<extension
		point="org.eclipse.wst.validation.validatorV2"
		id="jaxbValidator"
		name="%JAXB_VALIDATOR">
		
		<validator
        	class="org.eclipse.jpt.jaxb.core.internal.validation.JaxbValidator"
        	markerId="org.eclipse.jpt.jaxb.core.jaxbProblemMarker">
			<include>
				<rules>
					<facet id="jpt.jaxb"/>
				</rules>
			</include>
			<include>
				<rules>
					<contentType id="org.eclipse.jdt.core.javaSource" exactMatch="false"/>
					<contentType id="org.eclipse.jpt.core.content.javaPackageInfo" exactMatch="false"/>
				</rules>
			</include>
		</validator>
		
	</extension>
		
</plugin>
