Class CPEFactory
- java.lang.Object
-
- org.apache.uima.collection.impl.cpm.container.CPEFactory
-
public class CPEFactory extends Object
Component responsible for generating objects representing cpe descriptor configuration. Provides various ways to instantiate object model representing cpe configuration. In the simplest form it ingests an xml file (cpe descriptor), parses it and creates an object for every element in the xml file.Using objects representing configuration, this component creates CollectionReader CasInitializer, Analysis Engines, and Cas Consumers.
In addition to creating object, this component provides read/write access to the object model allowing for dynamic or programmatic modifications. It facilitates plugging in existing CollectionReaders and CasProcessors.
-
-
Field Summary
Fields Modifier and Type Field Description HashMap
casProcessorConfigMap
static String
CPM_HOME
-
Constructor Summary
Constructors Constructor Description CPEFactory(CpeDescription aDescriptor, ResourceManager aResourceManager)
Create a new CPEFactory for a CpeDescription that's already been parsed.CPEFactory(ResourceManager aResourceManager)
Create a new CPEFactory on which we will later call parse(String) to parse a CPE descriptor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCasProcessor(CasProcessor aCasProcessor)
Appends given Cas Processor to the list of CasProcessorsvoid
addCollectionReader(BaseCollectionReader collectionReader)
CasProcessor[]
getCasProcessors()
Returns an array of Cas Processors instantiated from the cpe descriptorBaseCollectionReader
getCollectionReader()
Returns Collection Reader instantiated from configuration in the cpe descriptor.CpeConfiguration
getCPEConfig()
Returns an object containing global CPE configuration including: Number of documents to process Checkpoint configuration id of the document begin processingCpeDescription
getCpeDescriptor()
Returns Cpe DescriptorString
getDescriptor(List aList)
URL
getDescriptorURL(CpeCasProcessor aCasProcessorCfg)
Returns a descriptor path associated with Cas Processorint
getProcessingUnitThreadCount()
Returns number of processing threads (Processing Units)ResourceManager
getResourceManager()
Gets the ResourceManager that all components of this CPE should share.ResourceSpecifier
getSpecifier(URL aDescriptorUrl)
Instantiates a ResourceSpecifier from a given URL.boolean
isDefault()
boolean
isDefinitionInstanceOf(Class aResourceClass, ResourceSpecifier resourceSpecifier, String aDescriptor)
Check if a class has appropriate typevoid
parse()
Creates an object representation from default cpe descriptor.void
parse(InputStream aDescriptorStream)
Creates an object representation for configuration in a given streamvoid
parse(String aDescriptor)
Creates an object representation for configuration in a given cpe descriptor file.CasProcessor
produceCasDataConsumer(Class aResourceClass, ResourceSpecifier aSpecifier, Map aAdditionalParams)
Instantiates CasData Consumer from a given class.
-
-
-
Field Detail
-
CPM_HOME
public static final String CPM_HOME
- See Also:
- Constant Field Values
-
casProcessorConfigMap
public HashMap casProcessorConfigMap
-
-
Constructor Detail
-
CPEFactory
public CPEFactory(ResourceManager aResourceManager)
Create a new CPEFactory on which we will later call parse(String) to parse a CPE descriptor.
-
CPEFactory
public CPEFactory(CpeDescription aDescriptor, ResourceManager aResourceManager) throws ResourceInitializationException
Create a new CPEFactory for a CpeDescription that's already been parsed.- Parameters:
aDescriptor
-aResourceManager
- the resource manager that all components of this CPE will share If null, a new ResourceManager will be created.- Throws:
ResourceInitializationException
-
-
Method Detail
-
parse
public void parse(String aDescriptor) throws InstantiationException
Creates an object representation for configuration in a given cpe descriptor file.- Parameters:
aDescriptor
- - path to the descriptor- Throws:
InstantiationException
- -
-
parse
public void parse(InputStream aDescriptorStream) throws InstantiationException
Creates an object representation for configuration in a given stream- Parameters:
aDescriptorStream
- - stream containing cpe description- Throws:
InstantiationException
- -
-
parse
public void parse()
Creates an object representation from default cpe descriptor.- Throws:
UIMARuntimeException
- wraps Exception
-
getCollectionReader
public BaseCollectionReader getCollectionReader() throws ResourceConfigurationException
Returns Collection Reader instantiated from configuration in the cpe descriptor. It also creates and intializes the Cas Initializer if one is defined and associates it with the CollectionReader.- Returns:
- CollectionReader instance
- Throws:
ResourceConfigurationException
-
getCasProcessors
public CasProcessor[] getCasProcessors() throws ResourceConfigurationException
Returns an array of Cas Processors instantiated from the cpe descriptor- Returns:
- - array of CasProcessor instances
- Throws:
ResourceConfigurationException
- -
-
isDefinitionInstanceOf
public boolean isDefinitionInstanceOf(Class aResourceClass, ResourceSpecifier resourceSpecifier, String aDescriptor) throws ResourceConfigurationException
Check if a class has appropriate type- Parameters:
aResourceClass
- - class to checkresourceSpecifier
- - specifier containing expected typeaDescriptor
- - descriptor name- Returns:
- true - if class matches type
- Throws:
ResourceConfigurationException
- -
-
produceCasDataConsumer
public CasProcessor produceCasDataConsumer(Class aResourceClass, ResourceSpecifier aSpecifier, Map aAdditionalParams) throws ResourceInitializationException
Instantiates CasData Consumer from a given class.- Parameters:
aResourceClass
- - CasDataConsumer classaSpecifier
- - specifieraAdditionalParams
- - parameters used to initialize CasDataConsumer- Returns:
- - instance of CasProcessor
- Throws:
ResourceInitializationException
- -
-
getDescriptorURL
public URL getDescriptorURL(CpeCasProcessor aCasProcessorCfg) throws ResourceConfigurationException
Returns a descriptor path associated with Cas Processor- Parameters:
aCasProcessorCfg
- - Cas Processor configuration- Returns:
- - Descriptor path
- Throws:
ResourceConfigurationException
- -
-
getSpecifier
public ResourceSpecifier getSpecifier(URL aDescriptorUrl) throws Exception
Instantiates a ResourceSpecifier from a given URL.- Parameters:
aDescriptorUrl
- - URL of descriptor- Returns:
- - ResourceSpecifier
- Throws:
Exception
- -
-
getCPEConfig
public CpeConfiguration getCPEConfig() throws InstantiationException
Returns an object containing global CPE configuration including:- Number of documents to process
- Checkpoint configuration
- id of the document begin processing
- Returns:
- Global CPE Configuration
- Throws:
InstantiationException
-
getProcessingUnitThreadCount
public int getProcessingUnitThreadCount() throws ResourceConfigurationException
Returns number of processing threads (Processing Units)- Returns:
- Number of processing threads
- Throws:
ResourceConfigurationException
- -
-
isDefault
public boolean isDefault()
- Returns:
- true if the configuration is the default
-
getCpeDescriptor
public CpeDescription getCpeDescriptor()
Returns Cpe Descriptor- Returns:
- the Cpe Descriptor
-
addCasProcessor
public void addCasProcessor(CasProcessor aCasProcessor) throws ResourceConfigurationException
Appends given Cas Processor to the list of CasProcessors- Parameters:
aCasProcessor
- - CasProcessor to add- Throws:
ResourceConfigurationException
-
getDescriptor
public String getDescriptor(List aList) throws ResourceConfigurationException
- Parameters:
aList
-- Returns:
- the cpe descriptor constructed from the list
- Throws:
ResourceConfigurationException
- -
-
addCollectionReader
public void addCollectionReader(BaseCollectionReader collectionReader)
- Parameters:
collectionReader
- - collection reader to use by the CPM
-
getResourceManager
public ResourceManager getResourceManager()
Gets the ResourceManager that all components of this CPE should share.- Returns:
- the resource manager
-
-