|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.uima.analysis_component.AnalysisComponent_ImplBase
org.apache.uima.analysis_component.JCasMultiplier_ImplBase
org.apache.uima.examples.casMultiplier.SimpleTextMerger
public class SimpleTextMerger
An example CasMultiplier, which merges text documents into larger ones. It attempts to merge all of the segments that came from one original artifact. This is done by checking the "lastSegment" feature of the SourceDocumentInformation FeatureStructure, which is expected to be populated by the CollectionReader or CasMultiplier that produced the input CASes.
Limitations: if the lastSegment feature is never set to true by the component producing the input CASes, the merger will never produce any output. Also, this implementation relies on the CASes arriving in order, which could be a problem in a mulithreaded framework implementation. The order requirement could be relieved by recording a segment number in the SourceDocumentInformation, but that would also make this example more complicated.
Field Summary | |
---|---|
static java.lang.String |
MESSAGE_DIGEST
|
static java.lang.String |
MISSING_SOURCE_DOCUMENT_INFO
|
static java.lang.String |
NO_NEXT_CAS
|
Constructor Summary | |
---|---|
SimpleTextMerger()
|
Method Summary | |
---|---|
boolean |
hasNext()
Asks if this AnalysisComponent has another CAS to output. |
void |
initialize(UimaContext aContext)
Performs any startup tasks required by this component. |
AbstractCas |
next()
Gets the next output CAS. |
void |
process(JCas aJCas)
This method should be overriden by subclasses. |
Methods inherited from class org.apache.uima.analysis_component.JCasMultiplier_ImplBase |
---|
getCasInstancesRequired, getEmptyJCas, getRequiredCasInterface, process |
Methods inherited from class org.apache.uima.analysis_component.AnalysisComponent_ImplBase |
---|
batchProcessComplete, collectionProcessComplete, destroy, getContext, getResultSpecification, reconfigure, setResultSpecification |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String MESSAGE_DIGEST
public static final java.lang.String MISSING_SOURCE_DOCUMENT_INFO
public static final java.lang.String NO_NEXT_CAS
Constructor Detail |
---|
public SimpleTextMerger()
Method Detail |
---|
public void initialize(UimaContext aContext) throws ResourceInitializationException
AnalysisComponent
The framework supplies this AnalysisComponent with a reference to the UimaContext
that
it will use, for example to access configuration settings or resources. This AnalysisComponent
should store a reference to its the UimaContext
for later use.
initialize
in interface AnalysisComponent
initialize
in class AnalysisComponent_ImplBase
aContext
- Provides access to services and resources managed by the framework. This includes
configuration parameters, logging, and access to external resources.
ResourceInitializationException
- if this AnalysisComponent cannot initialize successfully.public void process(JCas aJCas) throws AnalysisEngineProcessException
JCasMultiplier_ImplBase
AnalysisComponent.hasNext()
is called and returns
false, or until the process
method is called again (see
AnalysisComponent
for details).
process
in class JCasMultiplier_ImplBase
aJCas
- a JCAS that this AnalysisComponent should process.
AnalysisEngineProcessException
- if a problem occurs during processingpublic boolean hasNext() throws AnalysisEngineProcessException
AnalysisComponent
AnalysisComponent.next()
should retrieve the next output CAS. When this method returns false,
the AnalysisComponent gives up control of the initial CAS that was passed to its
AnalysisComponent.process(AbstractCas)
method.
AnalysisEngineProcessException
- if a problem occurs during processingpublic AbstractCas next() throws AnalysisEngineProcessException
AnalysisComponent
AnalysisComponent.hasNext()
and checking that it returns true.
The AnalysisComponent can obtain a new CAS by calling UimaContext.getEmptyCas(Class)
(or instead, one of the helper methods in the ImplBase class that it extended).
AnalysisEngineProcessException
- if a problem occurs during processing
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |