<?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.
 -->
<taeDescription xmlns="http://uima.apache.org/resourceSpecifier">
  <frameworkImplementation>org.apache.uima.cpp</frameworkImplementation>
  <primitive>true</primitive>
  <annotatorImplementationName>TestAnnotator</annotatorImplementationName>
  <analysisEngineMetaData>
    <name>Test UIMA C++ Primitive AE</name>
    <description>For descriptor testing only. The actual annotator code doesn't really exist</description>
    <version>1.0</version>
    <vendor>The Apache Software Foundation</vendor>
    <configurationParameters/>
    <configurationParameterSettings/>
    <typeSystemDescription>
      <types>
        <typeDescription>
          <name>NamedEntity</name>
          <description>Anything that has a name.</description>
          <supertypeName>uima.tcas.Annotation</supertypeName>
          <features>
            <featureDescription>
              <name>CanonicalName</name>
              <description>Canonical name for this entity.</description>
              <rangeTypeName>uima.cas.String</rangeTypeName>
            </featureDescription>
          </features>
        </typeDescription>
        <typeDescription>
          <name>Person</name>
          <description>A person.</description>
          <supertypeName>NamedEntity</supertypeName>
        </typeDescription>
        <typeDescription>
          <name>Place</name>
          <description>A place.</description>
          <supertypeName>NamedEntity</supertypeName>
          <features>
            <featureDescription>
              <name>SubType</name>
              <description>Kind of place.</description>
              <rangeTypeName>uima.cas.String</rangeTypeName>
            </featureDescription>
          </features>
        </typeDescription>
        <typeDescription>
          <name>DocumentStructure</name>
          <description>Identifies document structure, such as sentence or paragraph.</description>
          <supertypeName>uima.tcas.Annotation</supertypeName>
        </typeDescription>
        <typeDescription>
          <name>Paragraph</name>
          <description>A paragraph.</description>
          <supertypeName>DocumentStructure</supertypeName>
        </typeDescription>
        <typeDescription>
          <name>Sentence</name>
          <description>A sentence.</description>
          <supertypeName>DocumentStructure</supertypeName>
        </typeDescription>
      </types>
    </typeSystemDescription>
    <typePriorities>
      <priorityList>
        <type>Paragraph</type>
        <type>Sentence</type>
      </priorityList>
    </typePriorities>
    <fsIndexCollection>
      <fsIndexes>
        <fsIndexDescription>
          <label>DocStructIndex</label>
          <typeName>DocumentStructure</typeName>
          <keys>
            <fsIndexKey>
              <featureName>begin</featureName>
              <comparator>standard</comparator>
            </fsIndexKey>
            <fsIndexKey>
              <typePriority/>
            </fsIndexKey>
          </keys>
        </fsIndexDescription>
      </fsIndexes>
    </fsIndexCollection>
    <capabilities>
      <capability>
        <inputs/>
        <outputs>
          <type allAnnotatorFeatures="true">DocumentStructure</type>
          <type allAnnotatorFeatures="true">NamedEntity</type>
        </outputs>
        <languagesSupported>
          <language>en</language>
        </languagesSupported>
      </capability>
    </capabilities>
    <operationalProperties>
      <modifiesCas>true</modifiesCas>
      <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
      <outputsNewCASes>false</outputsNewCASes>
    </operationalProperties>
  </analysisEngineMetaData>
</taeDescription>