<!--
 ***************************************************************
 * 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.
 ***************************************************************
-->


<!-- This is the configuration file for the factory methods in the UIMAFramework class.
   Do not edit this file unless you are SURE you know what you are doing. -->
<factoryConfig>
  <cpm class="org.apache.uima.collection.impl.cpm.CPMImpl"/>
  <logger class="org.apache.uima.util.impl.Slf4jLogger_impl"/>
  <!-- logger class="org.apache.uima.util.impl.JSR47Logger_impl"/ -->
  <resourceManager class="org.apache.uima.resource.impl.ResourceManager_impl"/>
  <resourceManagerPearWrapper class="org.apache.uima.resource.impl.ResourceManagerPearWrapper_impl"/>
  <configurationManager class="org.apache.uima.resource.impl.ConfigurationManager_impl"/>
  <uimaContext class="org.apache.uima.impl.RootUimaContext_impl"/>
  <cpe class="org.apache.uima.collection.impl.CollectionProcessingEngine_impl"/>
  <timer class="org.apache.uima.internal.util.JavaTimer"/>   
  <resource>
    <simpleFactory specifier="org.apache.uima.resource.ResourceSpecifier">
      <binding specifier="org.apache.uima.resource.URISpecifier" 
               resource="org.apache.uima.adapter.vinci.VinciAnalysisEngineServiceAdapter"/>
      <binding specifier="org.apache.uima.resource.PearSpecifier" 
               resource="org.apache.uima.analysis_engine.impl.PearAnalysisEngineWrapper"/>
      <binding specifier="org.apache.uima.resource.FileResourceSpecifier" 
               resource="org.apache.uima.resource.impl.DataResource_impl"/>
      <binding specifier="org.apache.uima.resource.FileLanguageResourceSpecifier" 
               resource="org.apache.uima.resource.impl.FileLanguageResource_impl"/>
      <binding specifier="org.apache.uima.resource.ConfigurableDataResourceSpecifier" 
               resource="org.apache.uima.resource.impl.ConfigurableDataResource_impl"/>
    </simpleFactory>
    <customFactory specifier="org.apache.uima.collection.CasConsumerDescription"
                   factoryClass="org.apache.uima.impl.CasConsumerFactory_impl"/>
    <customFactory specifier="org.apache.uima.collection.CasInitializerDescription"
                   factoryClass="org.apache.uima.impl.CasInitializerFactory_impl"/>
    <customFactory specifier="org.apache.uima.collection.CollectionReaderDescription"
                   factoryClass="org.apache.uima.impl.CollectionReaderFactory_impl"/>
    <customFactory specifier="org.apache.uima.resource.ResourceCreationSpecifier"
                   factoryClass="org.apache.uima.impl.AnalysisEngineFactory_impl"/>
    <customFactory specifier="org.apache.uima.resource.CustomResourceSpecifier"
                   factoryClass="org.apache.uima.impl.CustomResourceFactory_impl"/>
  </resource>

    <!--  element attribute may be omitted if has no XML specification -->
  <resourceSpecifier>
    <binding element="analysisEngineDescription" 
             interface="org.apache.uima.analysis_engine.AnalysisEngineDescription" 
             class="org.apache.uima.analysis_engine.impl.AnalysisEngineDescription_impl"/>
    <binding element="analysisEngineMetaData" 
             interface="org.apache.uima.analysis_engine.metadata.AnalysisEngineMetaData" 
             class="org.apache.uima.analysis_engine.metadata.impl.AnalysisEngineMetaData_impl"/>
    <binding element="asbMetaData" 
             interface="org.apache.uima.analysis_engine.asb.AsbMetaData" 
             class="org.apache.uima.analysis_engine.asb.impl.AsbMetaData_impl"/>
    <binding element="attribute" 
             interface="org.apache.uima.search.Attribute" 
             class="org.apache.uima.search.impl.Attribute_impl"/>
    <binding element="capability" 
             interface="org.apache.uima.resource.metadata.Capability" 
             class="org.apache.uima.resource.metadata.impl.Capability_impl"/>
    <binding element="casConsumerDescription" 
             interface="org.apache.uima.collection.CasConsumerDescription"
             class="org.apache.uima.collection.impl.CasConsumerDescription_impl"/>
    <binding element="casInitializerDescription"
             interface="org.apache.uima.collection.CasInitializerDescription"
             class="org.apache.uima.collection.impl.CasInitializerDescription_impl"/>
    <binding element="collectionReaderDescription"
             interface="org.apache.uima.collection.CollectionReaderDescription"
             class="org.apache.uima.collection.impl.CollectionReaderDescription_impl"/>
    <binding element="configurableDataResourceSpecifier"
             interface="org.apache.uima.resource.ConfigurableDataResourceSpecifier"
             class="org.apache.uima.resource.impl.ConfigurableDataResourceSpecifier_impl"/>
    <binding element="configurationGroup"
             interface="org.apache.uima.resource.metadata.ConfigurationGroup"
             class="org.apache.uima.resource.metadata.impl.ConfigurationGroup_impl"/>
    <binding element="configurationParameter"
             interface="org.apache.uima.resource.metadata.ConfigurationParameter"
             class="org.apache.uima.resource.metadata.impl.ConfigurationParameter_impl"/>
    <binding element="configurationParameterSettings"
             interface="org.apache.uima.resource.metadata.ConfigurationParameterSettings"
             class="org.apache.uima.resource.metadata.impl.ConfigurationParameterSettings_impl"/>
    <binding element="configurationParameters"
             interface="org.apache.uima.resource.metadata.ConfigurationParameterDeclarations"
             class="org.apache.uima.resource.metadata.impl.ConfigurationParameterDeclarations_impl"/>
    <binding element="customResourceSpecifier"
             interface="org.apache.uima.resource.CustomResourceSpecifier"
             class="org.apache.uima.resource.impl.CustomResourceSpecifier_impl"/>
    <binding element="externalResource"
             interface="org.apache.uima.resource.ExternalResourceDescription"
             class="org.apache.uima.resource.impl.ExternalResourceDescription_impl"/>
    <binding element="externalResourceBinding"
             interface="org.apache.uima.resource.metadata.ExternalResourceBinding"
             class="org.apache.uima.resource.metadata.impl.ExternalResourceBinding_impl"/>
    <binding element="externalResourceDependency"
             interface="org.apache.uima.resource.ExternalResourceDependency"
             class="org.apache.uima.resource.impl.ExternalResourceDependency_impl"/>
    <binding element="feature"
             interface="org.apache.uima.analysis_engine.TypeOrFeature"
             class="org.apache.uima.analysis_engine.impl.TypeOrFeature_impl"/>
    <binding element="featureDescription"
             interface="org.apache.uima.resource.metadata.FeatureDescription"
             class="org.apache.uima.resource.metadata.impl.FeatureDescription_impl"/>
    <binding element="fileLanguageResourceSpecifier"
             interface="org.apache.uima.resource.FileLanguageResourceSpecifier"
             class="org.apache.uima.resource.impl.FileLanguageResourceSpecifier_impl"/>
    <binding element="fileResourceSpecifier"
             interface="org.apache.uima.resource.FileResourceSpecifier"
             class="org.apache.uima.resource.impl.FileResourceSpecifier_impl"/>
    <binding element="filter"
             interface="org.apache.uima.search.Filter"
             class="org.apache.uima.search.impl.Filter_impl"/>
    <binding element="fixedFlow"
             interface="org.apache.uima.analysis_engine.metadata.FixedFlow"
             class="org.apache.uima.analysis_engine.metadata.impl.FixedFlow_impl"/>
    <binding element="flowControllerDescription"
             interface="org.apache.uima.flow.FlowControllerDescription"
             class="org.apache.uima.flow.impl.FlowControllerDescription_impl"/>
    <binding element="capabilityLanguageFlow"
             interface="org.apache.uima.analysis_engine.metadata.CapabilityLanguageFlow"
             class="org.apache.uima.analysis_engine.metadata.impl.CapabilityLanguageFlow_impl"/>
    <binding element="fsIndexes"
             interface="org.apache.uima.resource.metadata.FsIndexCollection"
             class="org.apache.uima.resource.metadata.impl.FsIndexCollection_impl"/>
    <binding element="fsIndexCollection"
             interface="org.apache.uima.resource.metadata.FsIndexCollection"
             class="org.apache.uima.resource.metadata.impl.FsIndexCollection_impl"/>
    <binding element="fsIndexDescription"
             interface="org.apache.uima.resource.metadata.FsIndexDescription"
             class="org.apache.uima.resource.metadata.impl.FsIndexDescription_impl"/>
    <binding element="fsIndexKey"
             interface="org.apache.uima.resource.metadata.FsIndexKeyDescription"
             class="org.apache.uima.resource.metadata.impl.FsIndexKeyDescription_impl"/>
    <binding element="import"
             interface="org.apache.uima.resource.metadata.Import"
             class="org.apache.uima.resource.metadata.impl.Import_impl"/>
    <binding element="indexBuildItem"
             interface="org.apache.uima.search.IndexBuildItem"
             class="org.apache.uima.search.impl.IndexBuildItem_impl"/>
    <binding element="indexBuildSpecification"
             interface="org.apache.uima.search.IndexBuildSpecification"
             class="org.apache.uima.search.impl.IndexBuildSpecification_impl"/>
    <binding element="indexRule"
             interface="org.apache.uima.search.IndexRule"
             class="org.apache.uima.search.impl.IndexRule_impl"/>
    <binding element="indexingSpecification"
             interface="org.apache.uima.search.IndexingSpecification"
             class="org.apache.uima.search.impl.IndexingSpecification_impl"/>
    <binding element="mapping"
             interface="org.apache.uima.search.Mapping"
             class="org.apache.uima.search.impl.Mapping_impl"/>
    <binding element="nameValuePair"
             interface="org.apache.uima.resource.metadata.NameValuePair"
             class="org.apache.uima.resource.metadata.impl.NameValuePair_impl"/>
    <binding element="operationalProperties"
             interface="org.apache.uima.resource.metadata.OperationalProperties"
             class="org.apache.uima.resource.metadata.impl.OperationalProperties_impl"/>
    <binding element="parameter"
             interface="org.apache.uima.resource.Parameter"
             class="org.apache.uima.resource.impl.Parameter_impl"/>
    <binding element="priorityList"
             interface="org.apache.uima.resource.metadata.TypePriorityList"
             class="org.apache.uima.resource.metadata.impl.TypePriorityList_impl"/>
    <binding element="processingResourceMetaData"
             interface="org.apache.uima.resource.metadata.ProcessingResourceMetaData"
             class="org.apache.uima.resource.metadata.impl.ProcessingResourceMetaData_impl"/>
    <binding element="resourceMetaData" 
             interface="org.apache.uima.resource.metadata.ResourceMetaData"
             class="org.apache.uima.resource.metadata.impl.ResourceMetaData_impl"/>
    <binding element="resourceManagerConfiguration"
             interface="org.apache.uima.resource.metadata.ResourceManagerConfiguration"
             class="org.apache.uima.resource.metadata.impl.ResourceManagerConfiguration_impl"/>
    <binding element="resultSpecification"
             interface="org.apache.uima.analysis_engine.ResultSpecification"
             class="org.apache.uima.analysis_engine.impl.ResultSpecification_impl"/>
    <binding element="flowController"
             interface="org.apache.uima.analysis_engine.metadata.FlowControllerDeclaration"
             class="org.apache.uima.analysis_engine.metadata.impl.FlowControllerDeclaration_impl"/>
    <binding element="simplePrecondition"
             interface="org.apache.uima.resource.metadata.SimplePrecondition"
             class="org.apache.uima.resource.metadata.impl.SimplePrecondition_impl"/>
    <binding element="style"
             interface="org.apache.uima.search.Style"
             class="org.apache.uima.search.impl.Style_impl"/>
    <binding element="taeDescription"
             interface="org.apache.uima.analysis_engine.TaeDescription"
             class="org.apache.uima.analysis_engine.impl.TaeDescription_impl"/>
    <binding element="type"
             interface="org.apache.uima.analysis_engine.TypeOrFeature"
             class="org.apache.uima.analysis_engine.impl.TypeOrFeature_impl"/>
    <binding element="typeDescription"
             interface="org.apache.uima.resource.metadata.TypeDescription"
             class="org.apache.uima.resource.metadata.impl.TypeDescription_impl"/>
    <binding element="typePriorities"
             interface="org.apache.uima.resource.metadata.TypePriorities"
             class="org.apache.uima.resource.metadata.impl.TypePriorities_impl"/>
    <binding element="typeSystemDescription"
             interface="org.apache.uima.resource.metadata.TypeSystemDescription"
             class="org.apache.uima.resource.metadata.impl.TypeSystemDescription_impl"/>
    <binding element="uriSpecifier"
             interface="org.apache.uima.resource.URISpecifier"
             class="org.apache.uima.resource.impl.URISpecifier_impl"/>
    <binding element="pearSpecifier"
             interface="org.apache.uima.resource.PearSpecifier"
             class="org.apache.uima.resource.impl.PearSpecifier_impl"/>
    <binding element="value"
             interface="org.apache.uima.resource.metadata.AllowedValue"
             class="org.apache.uima.resource.metadata.impl.AllowedValue_impl"/>
    <binding element="sofaMapping"
             interface="org.apache.uima.analysis_engine.metadata.SofaMapping"
             class="org.apache.uima.analysis_engine.metadata.impl.SofaMapping_impl"/>

    <binding element="casInitializer" 
             interface="org.apache.uima.collection.metadata.CpeCollectionReaderCasInitializer"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeCollectionReaderCasInitializerImpl"/>
    <binding element="casProcessor"
             interface="org.apache.uima.collection.metadata.CpeCasProcessor"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorCpeObject"/>
    <binding element="casProcessors"
             interface="org.apache.uima.collection.metadata.CpeCasProcessors"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeCasProcessorsImpl"/>
    <binding element="checkpoint"
             interface="org.apache.uima.collection.metadata.CpeCheckpoint"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeCheckpointImpl"/>
    <binding element="collectionIterator"
             interface="org.apache.uima.collection.metadata.CpeCollectionReaderIterator"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeCollectionReaderIteratorImpl"/>
    <binding element="collectionReader"
             interface="org.apache.uima.collection.metadata.CpeCollectionReader"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeCollectionReaderImpl"/>
    <binding element="cpeConfig"
             interface="org.apache.uima.collection.metadata.CpeConfiguration"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeConfigurationImpl"/>
    <binding element="cpeDescription"
             interface="org.apache.uima.collection.metadata.CpeDescription"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeDescriptionImpl"/>
    <binding element="descriptor"
             interface="org.apache.uima.collection.metadata.CpeComponentDescriptor"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeComponentDescriptorImpl"/>
    <binding element="errorHandling"
             interface="org.apache.uima.collection.metadata.CasProcessorErrorHandling"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorErrorHandlingImpl"/>
    <binding element="include"
             interface="org.apache.uima.collection.metadata.CpeInclude"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeIncludeImpl"/>
    <binding element="runInSeparateProcess"
             interface="org.apache.uima.collection.metadata.CasProcessorRunInSeperateProcess"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorRunInSeperateProcessImpl"/>
    <binding element="deploymentParameters"
             interface="org.apache.uima.collection.metadata.CasProcessorDeploymentParams"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorDeploymentParamsImpl"/>
    <binding element="exec"
             interface="org.apache.uima.collection.metadata.CasProcessorExecutable"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorExecutableImpl"/>
    <binding element="filter"
             interface="org.apache.uima.collection.metadata.CasProcessorFilter"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorFilterImpl"/>
    <binding element="arg"
             interface="org.apache.uima.collection.metadata.CasProcessorExecArg"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorExecArgImpl"/>
    <binding element="env"
             interface="org.apache.uima.collection.metadata.CasProcessorRuntimeEnvParam"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorRuntimeEnvParamImpl"/>
    <binding element="outputQueue" 
             interface="org.apache.uima.collection.metadata.OutputQueue"
             class="org.apache.uima.collection.impl.metadata.cpe.OutputQueue_impl"/>
    <binding element="maxConsecutiveRestarts"
             interface="org.apache.uima.collection.metadata.CasProcessorMaxRestarts"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorMaxRestartsImpl"/>
    <binding element="errorRateThreshold"
             interface="org.apache.uima.collection.metadata.CasProcessorErrorRateThreshold"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorErrorRateThresholdImpl"/>
    <binding element="timeout"
             interface="org.apache.uima.collection.metadata.CasProcessorTimeout"
             class="org.apache.uima.collection.impl.metadata.cpe.CasProcessorTimeoutImpl"/>
    <binding element="sofaNameMappings"
             interface="org.apache.uima.collection.metadata.CpeSofaMappings"
             class="org.apache.uima.collection.impl.metadata.cpe.CpeSofaMappingsImpl"/>

    <binding interface="org.apache.uima.util.Settings"
             class="org.apache.uima.util.impl.Settings_impl"/>
  </resourceSpecifier>
</factoryConfig>
