Interface CollectionReader

All Superinterfaces:
BaseCollectionReader, ConfigurableResource, Resource
All Known Implementing Classes:
CollectionReader_ImplBase

public interface CollectionReader extends BaseCollectionReader, ConfigurableResource
A CollectionReader is used to iterate over the elements of a Collection. Iteration is done using the BaseCollectionReader.hasNext() and getNext(CAS) methods. Each element of the collection is returned in a CAS.

A consuming CollectionReader is one that removes each element from the collection as it is read. To find out whether a CollectionReader will consume elements in this way, call the BaseCollectionReader.isConsuming() method.

Users of a CollectionReader should always close it when they are finished using it.

CollectionReaders are also ConfigurableResources, and can be instantiated from descriptors. See XMLParser.parseCollectionReaderDescription(XMLInputSource) and UIMAFramework.produceCollectionReader(ResourceSpecifier,Map) for more information.

  • Method Details

    • typeSystemInit

      void typeSystemInit(TypeSystem aTypeSystem) throws ResourceInitializationException
      Informs this CollectionReader that the CAS TypeSystem has changed. The CPM calls this method immediately following the call to Resource.initialize(ResourceSpecifier,Map), and will call it again whenever the CAS TypeSystem changes.

      In this method, the CollectionReader should use the TypeSystem to resolve the names of Type and Features to the actual Type and Feature objects, which can then be used during processing.

      Parameters:
      aTypeSystem - the CAS TypeSystem
      Throws:
      ResourceInitializationException - if the type system is not compatible with this Collection Reader
    • getNext

      void getNext(CAS aCAS) throws IOException, CollectionException
      Gets the next element of the collection. The element will be stored in the provided CAS object. If this is a consuming CollectionReader (see BaseCollectionReader.isConsuming()), this element will also be removed from the collection.
      Parameters:
      aCAS - the CAS to populate with the next element of the collection
      Throws:
      UIMA_IllegalStateException - if there are no more elements left in the collection
      IOException - if an I/O failure occurs
      CollectionException - if there is some other problem with reading from the Collection
    • getCasInitializer

      @Deprecated CasInitializer getCasInitializer()
      Deprecated.
      As of v2.0 CAS Initializers are deprecated.
      Gets the CAS Initializer that has been assigned to this Collection Reader. Note that CollectionReader implementations are not required to make use of the CAS Initializer - refer to the documentation for your specific Collection Reader.
      Returns:
      the CAS Initializer for this Collection Reader
    • setCasInitializer

      @Deprecated void setCasInitializer(CasInitializer aCasInitializer)
      Deprecated.
      As of v2.0 CAS Initializers are deprecated.
      Assigns a CAS Initializer for this Collection Reader to use. Note that CollectionReader implementations are not required to make use of the CAS Initializer - refer to the documentation for your specific Collection Reader.
      Parameters:
      aCasInitializer - the CAS Initializer for this Collection Reader