<?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.blockExtension">
      <block
            class="org.apache.uima.ruta.block.OnlyFirstBlockIDEExtension"
            engine="org.apache.uima.ruta.block.OnlyFirstBlockExtension">
      </block>
   </extension>
   <extension
         point="org.apache.uima.ruta.ide.blockExtension">
      <block
            class="org.apache.uima.ruta.block.OnlyOnceBlockIDEExtension"
            engine="org.apache.uima.ruta.block.OnlyOnceBlockExtension">
      </block>
   </extension>
   <extension
         point="org.apache.uima.ruta.ide.stringFunctionExtension">
      <stringFunction
            class="org.apache.uima.ruta.string.StringOperationsIDEExtension"
            engine="org.apache.uima.ruta.string.StringOperationsExtension">
      </stringFunction>
   </extension>
   <extension
         point="org.apache.uima.ruta.ide.booleanFunctionExtension">
      <condition
            class="org.apache.uima.ruta.string.BooleanOperationsIDEExtension"
            engine="org.apache.uima.ruta.string.bool.BooleanOperationsExtension">
      </condition>
   </extension>

</plugin>
