<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<plugin>
  <extension-point id="runtimeClasspathProviders" name="%extensionPointRuntimeClasspathProviders" schema="schema/runtimeClasspathProviders.exsd"/>
  <extension-point id="runtimeFacetMappings" name="%extensionPointRuntimeFacetMappings" schema="schema/runtimeFacetMappings.exsd"/>

  <extension point="org.eclipse.jdt.core.classpathContainerInitializer">
    <classpathContainerInitializer
      id="org.eclipse.jst.server.core.container"
      class="org.eclipse.jst.server.core.internal.RuntimeClasspathContainerInitializer"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.moduleTypes">
    <moduleType
       id="jst.web"
       name="%moduleTypeJ2EEWebName"/>
    <moduleType
       id="jst.ejb"
       name="%moduleTypeJ2EEEJBName"/>
    <moduleType
       id="jst.appclient"
       name="%moduleTypeJ2EEClientName"/>
    <moduleType
       id="jst.connector"
       name="%moduleTypeJ2EERARName"/>
    <moduleType
       id="jst.ear"
       name="%moduleTypeJ2EEEARName"/>
    <moduleType
       id="jst.utility"
       name="%moduleTypeJ2EEUtilityName"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.runtimeTypes">
    <runtimeType
       id="org.eclipse.jst.server.core.runtimeType"
       name="%runtimeTypeName"
       description="%runtimeTypeDescription"
       class="org.eclipse.jst.server.core.internal.GenericRuntime">
       <moduleType
         types="jst.*"
         versions="*"/>
    </runtimeType>
  </extension>

  <extension point="org.eclipse.jst.server.core.runtimeClasspathProviders">
    <runtimeClasspathProvider
      id="org.eclipse.jst.server.core.runtimeTarget"
      runtimeTypeIds="org.eclipse.jst.server.core.runtimeType"
      class="org.eclipse.jst.server.core.internal.GenericRuntimeClasspathProvider"/>
  </extension>

  <extension point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
      namespace="org.eclipse.jst.cactus.expressions"
      type="org.eclipse.core.runtime.IAdaptable"
      class="org.eclipse.jst.server.core.internal.cactus.ServletTestCasePropertyTester"
      properties="isServletTestCase"
      id="org.eclipse.jst.server.cactus.expression"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.moduleArtifactAdapters">
    <moduleArtifactAdapter
      id="org.eclipse.jst.server.cactus.moduleArtifactAdapter"
      class="org.eclipse.jst.server.core.internal.cactus.CactusModuleArtifactAdapterDelegate"
      priority="10">
      <enablement>
         <or>
            <instanceof value="org.eclipse.jdt.core.IMethod"/>
            <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
            <instanceof value="org.eclipse.jdt.core.IType"/>
            <instanceof value="org.eclipse.core.resources.IFile"/>
         </or>
      </enablement>
    </moduleArtifactAdapter>
  </extension>

  <extension point="org.eclipse.wst.server.core.launchableAdapters">
    <launchableAdapter
       id="org.eclipse.jst.server.cactus.launchableAdapter"
       class="org.eclipse.jst.server.core.internal.cactus.CactusLaunchableAdapterDelegate"/>
  </extension>

  <extension point="org.eclipse.wst.server.core.clients">
    <client
      id="org.eclipse.jst.server.jndi"
      name="%launchableJndi"
      description="%launchableJndiDescription"
      priority="-100"
      launchable="org.eclipse.jst.server.core.JndiLaunchable"
      class="org.eclipse.jst.server.core.internal.J2EELaunchableClient"/>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
    <runtime-component-type id="standard.jre"/>

    <runtime-component-version
       type="standard.jre"
       version="1.3"/>
    <runtime-component-version
       type="standard.jre"
       version="1.4"/>
    <runtime-component-version
       type="standard.jre"
       version="5.0"/>

    <adapter>
      <runtime-component id="standard.jre"/>
      <factory class="org.eclipse.jst.server.core.internal.StandardJreClasspathProvider$Factory"/>
      <type class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
    </adapter>

    <supported>
      <facet id="jst.java" version="1.3"/>
      <runtime-component id="standard.jre" version="&gt;=1.3"/>
    </supported>

    <supported>
      <facet id="jst.java" version="1.4"/>
      <runtime-component id="standard.jre" version="&gt;=1.4"/>
    </supported>

    <supported>
      <facet id="jst.java" version="5.0"/>
      <runtime-component id="standard.jre" version="&gt;=5.0"/>
    </supported>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimeBridges">
    <bridge
      id="org.eclipse.jst.server.core.default"
      class="org.eclipse.jst.server.core.internal.RuntimeBridge"/>
  </extension>

  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
    <runtime-component-type
       id="org.eclipse.jst.server.core.runtimeType"/>

    <runtime-component-version
       type="org.eclipse.jst.server.core.runtimeType"
       version="1.0"/>

    <adapter>
      <runtime-component
         id="org.eclipse.jst.server.core.runtimeType"/>
      <factory
         class="org.eclipse.jst.server.core.internal.RuntimeClasspathProvider$Factory"/>
      <type
         class="org.eclipse.jst.common.project.facet.core.IClasspathProvider"/>
    </adapter>

    <supported>
      <runtime-component
         id="org.eclipse.jst.server.core.runtimeType"
         version="1.0"/>
      <facet
         id="jst.web"
         version="2.2,2.3,2.4"/>
      <facet
         id="jst.ejb"
         version="1.1,2.0,2.1"/>
      <facet
         id="jst.ear"
         version="1.2,1.3,1.4"/>
      <facet
         id="jst.connector"
         version="1.0,1.5"/>
      <facet
         id="jst.appclient"
         version="1.2,1.3,1.4"/>
      <facet
         id="jst.utility"
         version="1.0"/>
    </supported>
  </extension>

  <extension point="org.eclipse.jst.server.core.runtimeFacetMappings">
    <runtimeFacetMapping
      runtimeTypeId="org.eclipse.jst.server.core.runtimeType"
      runtime-component="org.eclipse.jst.server.core.runtimeType"
      version="1.0"/>
  </extension>

</plugin>