<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<plugin>
   <extension
         point="org.apache.uima.ruta.ide.actionExtension">
      <action
            class="org.apache.uima.ruta.example.extensions.ExampleActionIDEExtension"
            engine="org.apache.uima.ruta.example.extensions.ExampleActionExtension">
      </action>
   </extension>
   <extension
         point="org.apache.uima.ruta.ide.conditionExtension">
      <condition
            class="org.apache.uima.ruta.example.extensions.ExampleConditionIDEExtension"
            engine="org.apache.uima.ruta.example.extensions.ExampleConditionExtension">
      </condition>
   </extension>
   <extension
         point="org.apache.uima.ruta.ide.typeFunctionExtension">
      <condition
            class="org.apache.uima.ruta.example.extensions.ExampleTypeFunctionIDEExtension"
            engine="org.apache.uima.ruta.example.extensions.ExampleTypeFunctionExtension">
      </condition>
   </extension>
   <extension
         point="org.apache.uima.ruta.ide.booleanFunctionExtension">
      <condition
            class="org.apache.uima.ruta.example.extensions.ExampleBooleanFunctionIDEExtension"
            engine="org.apache.uima.ruta.example.extensions.ExampleBooleanFunctionExtension">
      </condition>
   </extension>
   <extension
         point="org.apache.uima.ruta.ide.stringFunctionExtension">
      <condition
            class="org.apache.uima.ruta.example.extensions.ExampleStringFunctionIDEExtension"
            engine="org.apache.uima.ruta.example.extensions.ExampleStringFunctionExtension">
      </condition>
   </extension>
   <extension
         point="org.apache.uima.ruta.ide.numberFunctionExtension">
      <condition
            class="org.apache.uima.ruta.example.extensions.ExampleNumberFunctionIDEExtension"
            engine="org.apache.uima.ruta.example.extensions.ExampleNumberFunctionExtension">
      </condition>
   </extension>
   <extension
         point="org.apache.uima.ruta.ide.blockExtension">
      <block
            class="org.apache.uima.ruta.example.extensions.ExampleBlockIDEExtension"
            engine="org.apache.uima.ruta.example.extensions.ExampleBlockExtension">
      </block>
   </extension>

</plugin>
