<?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.
-->
<analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">
  <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
  <primitive>true</primitive>
  <annotatorImplementationName>org.apache.uima.ruta.engine.RutaEngine</annotatorImplementationName>
  <analysisEngineMetaData>
    <name>org.apache.uima.ruta.engine.BasicEngine</name>
    <description/>
    <version>1.0</version>
    <vendor/>
    <configurationParameters searchStrategy="language_fallback">
      <configurationParameter>
        <name>seeders</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>debug</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>additionalScripts</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>profile</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>debugWithMatches</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>statistics</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>additionalEngines</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>additionalExtensions</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>debugOnlyFor</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>scriptEncoding</name>
        <type>String</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>additionalEngineLoaders</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>resourcePaths</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>defaultFilteredTypes</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>mainScript</name>
        <type>String</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>scriptPaths</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>descriptorPaths</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>removeBasics</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>dynamicAnchoring</name>
        <description>Activates dynamic anchoring (possible speed up).</description>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>greedyRuleElement</name>
        <description>Activates greedy anchoring for rule elements.</description>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>greedyRule</name>
        <description>Activates greedy anchoring for complete rules.</description>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>lowMemoryProfile</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>createdBy</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>simpleGreedyForComposed</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>additionalUimafitEngines</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>strictImports</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>varNames</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>varValues</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>rules</name>
        <type>String</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
      <configurationParameter>
        <name>rulesScriptName</name>
        <description/>
        <type>String</type>
        <multiValued>false</multiValued>
        <mandatory>true</mandatory>
       </configurationParameter>
    <configurationParameter>
        <name>dictRemoveWS</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
      </configurationParameter>
    <configurationParameter>
        <name>reindexOnly</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    <configurationParameter>
        <name>reindexOnlyMentionedTypes</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    <configurationParameter>
        <name>indexOnlyMentionedTypes</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    <configurationParameter>
        <name>indexAdditionally</name>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    <configurationParameter>
        <name>emptyIsInvisible</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    <configurationParameter>
        <name>modifyDataPath</name>
        <type>Boolean</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    <configurationParameter>
        <name>csvSeparator</name>
        <type>String</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    <configurationParameter>
        <name>inferenceVisitors</name>
        <description/>
        <type>String</type>
        <multiValued>true</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    <configurationParameter>
        <name>maxRuleMatches</name>
        <description/>
        <type>Integer</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    <configurationParameter>
        <name>maxRuleElementMatches</name>
        <description/>
        <type>Integer</type>
        <multiValued>false</multiValued>
        <mandatory>false</mandatory>
    </configurationParameter>
    </configurationParameters>
    <configurationParameterSettings>
      <nameValuePair>
        <name>rulesScriptName</name>
        <value>
          <string>Anonymous</string>
        </value>
      </nameValuePair>
      <nameValuePair>
        <name>debug</name>
        <value>
          <boolean>false</boolean>
        </value>
      </nameValuePair>
      <nameValuePair>
        <name>profile</name>
        <value>
          <boolean>false</boolean>
        </value>
      </nameValuePair>
      <nameValuePair>
        <name>debugWithMatches</name>
        <value>
          <boolean>true</boolean>
        </value>
      </nameValuePair>
      <nameValuePair>
        <name>defaultFilteredTypes</name>
        <value>
          <array>
            <string>org.apache.uima.ruta.type.SPACE</string>
            <string>org.apache.uima.ruta.type.BREAK</string>
            <string>org.apache.uima.ruta.type.MARKUP</string>
          </array>
        </value>
      </nameValuePair>
      <nameValuePair>
        <name>removeBasics</name>
        <value>
          <boolean>false</boolean>
        </value>
      </nameValuePair>
      <nameValuePair>
        <name>seeders</name>
        <value>
          <array>
            <string>org.apache.uima.ruta.seed.DefaultSeeder</string>
          </array>
        </value>
      </nameValuePair>
      <nameValuePair>
        <name>createdBy</name>
        <value>
          <boolean>false</boolean>
        </value>
      </nameValuePair>
      <nameValuePair>
        <name>emptyIsInvisible</name>
        <value>
          <boolean>true</boolean>
        </value>
      </nameValuePair>
       <nameValuePair>
        <name>dictRemoveWS</name>
        <value>
          <boolean>true</boolean>
        </value>
      </nameValuePair>
      <nameValuePair>
        <name>inferenceVisitors</name>
        <value>
          <array/>
        </value>
      </nameValuePair>
      <nameValuePair>
         <name>maxRuleMatches</name>
         <value>
            <integer>2147483647</integer>
         </value>
      </nameValuePair>
      <nameValuePair>
         <name>maxRuleElementMatches</name>
         <value>
           <integer>2147483647</integer>
         </value>
      </nameValuePair>
    </configurationParameterSettings>
    <typeSystemDescription>
      <imports>
        <import name="org.apache.uima.ruta.engine.BasicTypeSystem"/>
      </imports>
    </typeSystemDescription>
    <typePriorities>
      <priorityList>
        <type>org.apache.uima.ruta.type.RutaFrame</type>
        <type>uima.tcas.Annotation</type>
        <type>org.apache.uima.ruta.type.RutaBasic</type>
      </priorityList>
    </typePriorities>
    <fsIndexCollection/>
    <capabilities>
      <capability>
        <inputs/>
        <outputs/>
        <languagesSupported/>
      </capability>
    </capabilities>
    <operationalProperties>
      <modifiesCas>true</modifiesCas>
      <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
      <outputsNewCASes>true</outputsNewCASes>
    </operationalProperties>
  </analysisEngineMetaData>
  <resourceManagerConfiguration/>
</analysisEngineDescription>
