public static CollectionReaderDescription createReaderDescription()

in uimafit-core/src/main/java/org/apache/uima/fit/factory/CollectionReaderFactory.java [805:863]


  public static CollectionReaderDescription createReaderDescription(
          Class<? extends CollectionReader> readerClass, TypeSystemDescription typeSystem,
          TypePriorities typePriorities, FsIndexCollection indexes, Capability[] capabilities,
          ConfigurationParameter[] configurationParameters, Object[] configurationValues,
          Map<String, ExternalResourceDescription> externalResources)
          throws ResourceInitializationException {
    // create the descriptor and set configuration parameters
    CollectionReaderDescription desc = UIMAFramework.getResourceSpecifierFactory()
            .createCollectionReaderDescription();
    desc.setFrameworkImplementation(Constants.JAVA_FRAMEWORK_NAME);
    desc.setImplementationName(readerClass.getName());

    // set parameters
    setParameters(desc, readerClass, configurationParameters, configurationValues);

    // Configure resource meta data
    ResourceMetaData meta = desc.getMetaData();
    ResourceMetaDataFactory.configureResourceMetaData(meta, readerClass);

    // set the type system
    if (typeSystem != null) {
      desc.getCollectionReaderMetaData().setTypeSystem(typeSystem);
    }

    if (typePriorities != null) {
      desc.getCollectionReaderMetaData().setTypePriorities(typePriorities);
    }

    // set indexes from the argument to this call or from the annotation present in the
    // component if the argument is null
    if (indexes != null) {
      desc.getCollectionReaderMetaData().setFsIndexCollection(indexes);
    } else {
      desc.getCollectionReaderMetaData().setFsIndexCollection(createFsIndexCollection(readerClass));
    }

    // set capabilities from the argument to this call or from the annotation present in the
    // component if the argument is null
    if (capabilities != null) {
      desc.getCollectionReaderMetaData().setCapabilities(capabilities);
    } else {
      Capability capability = CapabilityFactory.createCapability(readerClass);
      if (capability != null) {
        desc.getCollectionReaderMetaData().setCapabilities(new Capability[] { capability });
      }
    }

    // Extract external resource dependencies
    desc.setExternalResourceDependencies(createResourceDependencies(readerClass));

    // Bind External Resources
    if (externalResources != null) {
      for (Entry<String, ExternalResourceDescription> e : externalResources.entrySet()) {
        bindResourceOnce(desc, e.getKey(), e.getValue());
      }
    }

    return desc;
  }