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

     <extension
         point="org.eclipse.jdt.launching.classpathProviders">
      <classpathProvider
            class="org.eclipse.jdt.debug.testplugin.EmptyClasspathProvider"
            id="org.eclipse.jdt.debug.tests.EmptyClasspathProvider">
      </classpathProvider>
   </extension>
   <extension
         point="org.eclipse.debug.ui.consoleLineTrackers">
      <consoleLineTracker
            class="org.eclipse.jdt.debug.testplugin.ConsoleLineTracker"
            processType="java"
            id="org.eclipse.jdt.debug.tests.ConsoleLineTracker">
      </consoleLineTracker>
   </extension>
   <extension
         point="org.eclipse.jdt.core.classpathVariableInitializer">
      <classpathVariableInitializer
            variable="NULL_VARIABLE"
            class="org.eclipse.jdt.debug.testplugin.NullVariableInitializer">
      </classpathVariableInitializer>
   </extension>
   <extension
         point="org.eclipse.debug.core.launchModes">
      <launchMode
            label="TEST_MODE"
            mode="TEST_MODE">
      </launchMode>
      <launchMode
            label="Alternate"
            mode="alternate">
      </launchMode>
      <launchMode
            label="Alternate 2"
            mode="alternate2">
      </launchMode>
   </extension>
   <extension
         point="org.eclipse.debug.core.launchDelegates">
      <launchDelegate
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestModeLaunchDelegate"
            type="org.eclipse.jdt.launching.localJavaApplication"
            modes="TEST_MODE"
            id="org.eclipse.jdt.debug.tests.testModeLaunchDelegate">
      </launchDelegate>
      <launchDelegate
            sourceLocatorId="org.eclipse.jdt.debug.tests.testSourceLocator"
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestLaunchDelegate"
            type="org.eclipse.jdt.debug.tests.testConfigType"
            sourcePathComputerId="org.eclipse.jdt.debug.tests.testSourcePathComputer"
            modes="debug"
            id="org.eclipse.jdt.debug.tests.testSourceDelegate"/>
      <launchDelegate
            delegate="org.eclipse.jdt.debug.testplugin.AlternateDelegate"
            id="org.eclipse.jdt.debug.tests.alternateDelegate"
            modes="alternate"
            name="Alternate Java Debugger"
            type="org.eclipse.jdt.launching.localJavaApplication">
         <modeCombination
               modes="alternate, debug">
         </modeCombination>
         <modeCombination
               modes="debug, alternate2">
         </modeCombination>
         <modeCombination
               modes="alternate2, debug, alternate">
         </modeCombination>
      </launchDelegate>
      <launchDelegate
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestLaunchDelegate1"
            id="org.eclipse.jdt.debug.tests.testDelegate1"
            modes="alternate2"
            name="Testing Multiple Launch Delegate"
            type="org.eclipse.jdt.launching.localJavaApplication">
      </launchDelegate>
      <launchDelegate
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestLaunchDelegate2"
            id="org.eclipse.jdt.debug.tests.testtDelegate2"
            modes="alternate2"
            name="Testing Multiple Launch Delegate 2"
            type="org.eclipse.jdt.launching.localJavaApplication">
      </launchDelegate>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            type="org.eclipse.jdt.launching.localJavaApplication"
            class="org.eclipse.jdt.debug.testplugin.launching.TestJavaApplicationTabGroup"
            id="org.eclipse.jdt.debug.tests.launchConfigurationTabGroup.testJavaApplication">
         <launchMode
               perspective="org.eclipse.jdt.ui.JavaPerspective"
               mode="TEST_MODE">
         </launchMode>
      </launchConfigurationTabGroup>
   </extension>
   <extension
         point="org.eclipse.core.variables.valueVariables">
      <variable
            initializerClass="org.eclipse.jdt.debug.testplugin.ValueVariableInitializer"
            name="VALUE_VAR_WITH_INITIALIZER"
            description="sample value variable">
      </variable>
      <variable
            initialValue="initial-value"
            name="VALUE_VAR_WITH_VALUE"
            description="sample value variable">
      </variable>
      <variable
            description="sample value variable"
            initializerClass="org.eclipse.jdt.debug.testplugin.ValueVariableInitializer"
            name="VALUE_VAR_WITH_INITIALIZER_READ_ONLY"
            readOnly="true">
      </variable>
      <variable
            description="sample value variable"
            initialValue="initial-value"
            name="VALUE_VAR_WITH_VALUE_READ_ONLY"
            readOnly="true">
      </variable>
   </extension>
   <extension
         point="org.eclipse.core.variables.dynamicVariables">
      <variable
            name="SAMPLE_DYNAMIC_VAR"
            description="sample dynamic variable"
            resolver="org.eclipse.jdt.debug.testplugin.SampleDynamicVariableResolver">
      </variable>
   </extension>
   <extension
         id="messageConsoleActionSet"
         name="Message Console Test"
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="Message Console Test"
            description="Tests the message (generic) console"
            id="org.eclipse.jdt.debug.tests.messageConsoleActionSet">
         <menu
               label="Run"
               path="additions"
               id="org.eclipse.ui.run">
            <separator
                  name="TestGroup">
            </separator>
         </menu>
         <action
               label="Test Bufferred Output"
               class="org.eclipse.jdt.debug.tests.console.TestBufferredOutputActionDelegate"
               menubarPath="org.eclipse.ui.run/TestGroup"
               id="org.eclipse.jdt.debug.tests.testBufferredOutputAction">
         </action>
         <action
               label="Test Message Console"
               class="org.eclipse.jdt.debug.tests.console.TestMessageConsoleActionDelegate"
               menubarPath="org.eclipse.ui.run/TestGroup"
               id="org.eclipse.jdt.debug.tests.testMessageConsoleAction">
         </action>
         <action
               label="Test Show Console"
               class="org.eclipse.jdt.debug.tests.console.TestShowConsoleActionDelegate"
               menubarPath="org.eclipse.ui.run/TestGroup"
               id="org.eclipse.jdt.debug.tests.testShowConsoleAction">
         </action>         
      </actionSet>
      <actionSet
            label="IO Console Tests"
            description="Test the generic IOConsole"
            id="org.eclipse.jdt.debug.tests.ioConsoleTest">
         <menu
               label="Run"
               path="additions"
               id="org.eclipse.ui.run"/>
         <action
               label="IOConsole Echo Test"
               class="org.eclipse.jdt.debug.tests.console.IOConsoleEchoActionDelegate"
               menubarPath="org.eclipse.ui.run/IOConsoleTestGroup"
               id="org.eclipse.jdt.debug.tests.echoTest"/>
         <action
               label="IOConsole Multiple Stream Test"
               class="org.eclipse.jdt.debug.tests.console.IOConsoleMultipleStreamActionDelegate"
               menubarPath="org.eclipse.ui.run/IOConsoleTestGroup"
               id="org.eclipse.jdt.debug.tests.outputTest"/>
         <action
               label="IOConsole Output Test"
               class="org.eclipse.jdt.debug.tests.console.IOConsoleOutputActionDelegate"
               menubarPath="org.eclipse.ui.run/IOConsoleTestGroup"
               id="org.eclipse.jdt.debug.tests.outputTest"/>
         <action
               label="IOConsole Hyperlink Test"
               class="org.eclipse.jdt.debug.tests.console.IOConsoleHyperlinkActionDelegate"
               menubarPath="org.eclipse.ui.run/IOConsoleTestGroup"
               id="org.eclipse.jdt.debug.tests.hyperlinkTest"/>

      </actionSet>
   </extension>
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            name="Test Config Type"
            delegate="org.eclipse.jdt.debug.testplugin.launching.TestLaunchDelegate"
            modes="run"
            id="org.eclipse.jdt.debug.tests.testConfigType">
      </launchConfigurationType>
   </extension>
   <extension
         point="org.eclipse.debug.core.statusHandlers">
      <statusHandler
            code="1000"
            plugin="org.eclipse.jdt.debug.tests"
            class="org.eclipse.jdt.debug.tests.ui.performance.JavaApplicationStatusHandler"
            id="org.eclipse.jdt.debug.tests.performance.statusHandler.JavaApplication">
      </statusHandler>
   </extension>

   <extension point="org.eclipse.debug.ui.memoryRenderings">
      <renderingType
            id="rendering_type_1"
            name="Rendering One"
            class="org.eclipse.jdt.debug.testplugin.RenderingTypeDelegate">
      </renderingType>
      <renderingType
            id="rendering_type_2"
            name="Rendering Two"
            class="org.eclipse.jdt.debug.testplugin.RenderingTypeDelegate">
      </renderingType>
      <renderingType
            id="rendering_type_3"
            name="Rendering Default"
            class="org.eclipse.jdt.debug.testplugin.RenderingTypeDelegate">
      </renderingType>      
      <renderingBindings
      		primaryId="rendering_type_1">
      		<enablement>
      			<instanceof value="org.eclipse.jdt.debug.testplugin.MemoryBlockOne"/>
      		</enablement>
      </renderingBindings>
      <renderingBindings
      		renderingIds="rendering_type_1, rendering_type_2">
      		<enablement>
      			<instanceof value="org.eclipse.jdt.debug.testplugin.MemoryBlockTwo"/>
      		</enablement>
      </renderingBindings>
      <renderingBindings
      		defaultIds="rendering_type_3">
      		<enablement>
      			<instanceof value="org.eclipse.jdt.debug.testplugin.MemoryBlockThree"/>
      		</enablement>
      </renderingBindings>  
      <renderingBindings
      		class="org.eclipse.jdt.debug.testplugin.DynamicRenderingBindings">
      		<enablement>
      			<instanceof value="org.eclipse.jdt.debug.testplugin.MemoryBlockDynamic"/>
      		</enablement>
      </renderingBindings>                  
   </extension>
   <extension
         point="org.eclipse.debug.core.sourceLocators">
      <sourceLocator
            class="org.eclipse.jdt.debug.testplugin.TestSourceLocator"
            name="Test Source Locator"
            id="org.eclipse.jdt.debug.tests.testSourceLocator"/>
   </extension>
   <extension
         point="org.eclipse.debug.core.sourcePathComputers">
      <sourcePathComputer
            class="org.eclipse.jdt.debug.testplugin.launching.SourcePathComputerDelegate1"
            id="org.eclipse.jdt.debug.tests.testSourcePathComputer"/>
   </extension>
   <extension
         point="org.eclipse.jdt.core.classpathContainerInitializer">
      <classpathContainerInitializer
            class="org.eclipse.jdt.debug.testplugin.TestClasspathContainerInitializer"
            id="org.eclipse.jdt.debug.tests.TestClasspathContainer"/>
   </extension>
   <extension
         point="org.eclipse.jdt.launching.executionEnvironments">
      <environment
            description="Java 2 Platform, Test Edition 1.4.x"
            id="org.eclipse.jdt.debug.tests.environment.j2se14x"
            ruleParticipant="org.eclipse.jdt.debug.testplugin.AccessRuleParticipant"/>
      <environment
            description="Java 2 Platform, Test Edition 1.3.x"
            id="org.eclipse.jdt.debug.tests.environment.j2se13x"/>
      <ruleParticipant
            class="org.eclipse.jdt.debug.testplugin.SecondaryAccessRuleParticipant"
            id="org.eclipse.jdt.debug.tests.secondaryRuleParticipant">
      </ruleParticipant>
      <environment
            description="Java 2 Platform, Test Edition 1.5.x"
            id="org.eclipse.jdt.debug.tests.environment.j2se15x"
            ruleParticipant="org.eclipse.jdt.debug.testplugin.AccessRuleParticipant">
      </environment>
      <environment
            description="Test default system package access rules"
            id="org.eclipse.jdt.debug.tests.systemPackages"
            profileProperties="testresources/systempackage.profile">
      </environment>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <view
            class="org.eclipse.jdt.debug.testplugin.ContextView"
			id="org.eclipse.jdt.debug.tests.context.view.one"
            name="Java Debug Context View 1"/>
      <view
            class="org.eclipse.jdt.debug.testplugin.ContextView"
            id="org.eclipse.jdt.debug.tests.context.view.two"
            name="Java Debug Context View 2"/>
   </extension>
  <extension
        point="org.eclipse.debug.ui.contextViewBindings">
     <contextViewBinding
           autoClose="false"
           contextId="org.eclipse.jdt.debug.ui.debugging"
           viewId="org.eclipse.jdt.debug.tests.context.view.one">
     </contextViewBinding>
     <contextViewBinding
            viewId="org.eclipse.jdt.debug.tests.context.view.two"
            contextId="org.eclipse.jdt.debug.ui.debugging"
            >
     </contextViewBinding>
  </extension>
  <extension
        point="org.eclipse.debug.ui.launchConfigurationTabs">
     <tab
           class="org.eclipse.jdt.debug.testplugin.JavaAlernateModeTab"
           group="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
           id="org.eclipse.jdt.debug.tests.alteranateTab"
           name="Alterante Tab">
        <placement
              after="org.nonexistant.tab.placement">
        </placement>
     </tab>
     <tab
           class="org.eclipse.jdt.debug.testplugin.launching.ContributedTestTab1"
           group="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
           id="org.eclipse.jdt.debug.tests.testTab1"
           name="Test Tab 1">
        <placement
              after="org.eclipse.jdt.debug.ui.javaMainTab">
        </placement>
     </tab>
     <tab
           class="org.eclipse.jdt.debug.testplugin.launching.ContributedTestTab2"
           group="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
           id="org.eclipse.jdt.debug.tests.TestTab2"
           name="Test Tab 2">
        <placement
              after="org.eclipse.jdt.debug.ui.javaArgumentsTab">
        </placement>
     </tab>
     <tab
           class="org.eclipse.jdt.debug.testplugin.launching.ContributedTestTab3"
           group="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
           id="org.eclipse.jdt.debug.tests.TestTab3"
           name="Test Tab 3">
        <placement
              after="org.eclipse.jdt.debug.ui.javaArgumentsTab">
        </placement>
     </tab>
  </extension>
  <extension
        point="org.eclipse.debug.ui.launchShortcuts">
     <shortcut
           category="testing"
           class="org.eclipse.jdt.debug.testplugin.launching.TestLaunchShortcut"
           description="General Description"
           helpContextId="testing.help.id"
           id="org.eclipse.jdt.debug.tests.testShortCut"
           label="Test Shortcut"
           modes="run, debug"
           path="test/testing">
        <perspective
              id="org.eclipse.debug.ui.DebugPerspective">
        </perspective>
        <configurationType
              id="org.eclipse.jdt.launching.localJavaApplication">
        </configurationType>
        <description
              description="Run Description"
              mode="run">
        </description>
     </shortcut>
     <shortcut
           class="org.eclipse.jdt.debug.testplugin.launching.ParticipantLaunchShortcut"
           description="This shortcut participates in luanching where there is no IResource"
           id="org.eclipse.jdt.debug.tests.participantShortcut"
           label="Participant Launch Shortcut"
           modes="run, debug, profile">
        <configurationType
              id="org.eclipse.jdt.debug.tests.testConfigType">
        </configurationType>
        <contextualLaunch>
           <contextLabel
                 label="Run FOOX file"
                 mode="run">
           </contextLabel>
           <contextLabel
                 label="Debug FOOX file"
                 mode="debug">
           </contextLabel>
           <contextLabel
                 label="Profile FOOX file"
                 mode="profile">
           </contextLabel>
           <enablement>
              <with
                    variable="selection">
                 <iterate>
                    <or>
                       <test
                             property="org.eclipse.debug.ui.matchesPattern"
                             value="*.foox">
                       </test>
                       <not>
                          <adapt
                                type="org.eclipse.core.resources.IResource">
                          </adapt>
                       </not>
                    </or>
                 </iterate>
              </with>
           </enablement>
        </contextualLaunch>
     </shortcut>
  </extension>   
  <extension
        point="org.eclipse.debug.ui.detailPaneFactories">
     <detailFactories
           class="org.eclipse.jdt.debug.testplugin.detailpane.TestDetailPaneFactory"
           id="testDetailPaneFactory">
        <enablement>
            <or>
           		<with variable="selection">
         	    	<not>
                  <or>
                     <count
                           value="0">
                     </count>
                     <count
                           value="1">
                     </count>
                  </or>
          	    	</not>
            	</with>
             <with
                   variable="selection">
                <iterate>
                   <instanceof
                         value="org.eclipse.jdt.debug.core.IJavaVariable">
                   </instanceof>
                </iterate>
             </with>
            </or>
         </enablement>
     </detailFactories>
  </extension>
  <extension
        point="org.eclipse.core.runtime.adapters">
     <factory
           adaptableType="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer">
        <adapter
              type="org.eclipse.debug.ui.actions.ILaunchable">
        </adapter>
     </factory>
  </extension>
  <extension
        point="org.eclipse.debug.ui.launchConfigurationTabGroups">
     <launchConfigurationTabGroup
           class="org.eclipse.jdt.debug.testplugin.launching.TestTabGroup"
           description="Test Tab Group"
           id="org.eclipse.jdt.debug.tests.testTabGroup"
           type="org.eclipse.jdt.debug.tests.testConfigType">
     </launchConfigurationTabGroup>
  </extension>
  <extension
        id="debugFS"
        name="Debug File System"
        point="org.eclipse.core.filesystem.filesystems">
     <filesystem
           scheme="debug">
        <run
              class="org.eclipse.jdt.debug.testplugin.filesystem.DebugFileSystem">
        </run>
     </filesystem>
  </extension>

</plugin>
