@CreoleResource(name="JAPE Transducer", comment="A module for executing Jape grammars.", helpURL="http://gate.ac.uk/userguide/chap:jape", icon="jape") public class Transducer extends AbstractLanguageAnalyser implements ActionsPublisher, Benchmarkable, ControllerAwarePR
Modifier and Type | Class and Description |
---|---|
protected class |
Transducer.SerializeTransducerAction
Saves the Jape Transuder to the binary file.
|
AbstractProcessingResource.InternalStatusListener, AbstractProcessingResource.IntervalProgressListener
Modifier and Type | Field and Description |
---|---|
protected DefaultActionContext |
actionContext |
protected List<Action> |
actionList |
protected List<String> |
annotationAccessors
List of class names for any custom
AnnotationAccessor s. |
protected Batch |
batch
The actual JapeTransducer used for processing the document(s).
|
protected URL |
binaryGrammarURL
The URL to the serialized jape file used as grammar by this transducer.
|
protected Boolean |
enableDebugging
A switch used to activate the JAPE debugger.
|
protected String |
encoding
The encoding used for reding the grammar file(s).
|
protected URL |
grammarURL
The URL to the jape file used as grammar by this transducer.
|
protected String |
inputASName
The
AnnotationSet used as input for the transducer. |
protected Ontology |
ontology
The ontology that will be available on the RHS of JAPE rules.
|
protected List<String> |
operators
List of class names for any custom
ConstraintPredicate . |
protected String |
outputASName
The
AnnotationSet used as output by the transducer. |
static String |
TRANSD_ANNOTATION_ACCESSORS_PARAMETER_NAME |
static String |
TRANSD_BINARY_GRAMMAR_URL_PARAMETER_NAME |
static String |
TRANSD_DOCUMENT_PARAMETER_NAME |
static String |
TRANSD_ENCODING_PARAMETER_NAME |
static String |
TRANSD_GRAMMAR_URL_PARAMETER_NAME |
static String |
TRANSD_INPUT_AS_PARAMETER_NAME |
static String |
TRANSD_OPERATORS_PARAMETER_NAME |
static String |
TRANSD_OUTPUT_AS_PARAMETER_NAME |
corpus, document
interrupted
name
features
ANNOTATION_COREF_FEATURE_NAME, DATE_ANNOTATION_TYPE, DATE_POSTED_ANNOTATION_TYPE, DEFAULT_FILE, DOCUMENT_COREF_FEATURE_NAME, JOB_ID_ANNOTATION_TYPE, LOCATION_ANNOTATION_TYPE, LOOKUP_ANNOTATION_TYPE, LOOKUP_CLASS_FEATURE_NAME, LOOKUP_INSTANCE_FEATURE_NAME, LOOKUP_LANGUAGE_FEATURE_NAME, LOOKUP_MAJOR_TYPE_FEATURE_NAME, LOOKUP_MINOR_TYPE_FEATURE_NAME, LOOKUP_ONTOLOGY_FEATURE_NAME, MONEY_ANNOTATION_TYPE, ORGANIZATION_ANNOTATION_TYPE, PERSON_ANNOTATION_TYPE, PERSON_GENDER_FEATURE_NAME, PLUGIN_DIR, SENTENCE_ANNOTATION_TYPE, SPACE_TOKEN_ANNOTATION_TYPE, TOKEN_ANNOTATION_TYPE, TOKEN_CATEGORY_FEATURE_NAME, TOKEN_KIND_FEATURE_NAME, TOKEN_LENGTH_FEATURE_NAME, TOKEN_ORTH_FEATURE_NAME, TOKEN_STRING_FEATURE_NAME
Constructor and Description |
---|
Transducer()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
controllerExecutionAborted(Controller c,
Throwable t)
Called by a controller containing this PR when the controller's
execution has been aborted by an exception thrown by one of the
contained PR's
execute methods, or by the controller
itself. |
void |
controllerExecutionFinished(Controller c)
Called by a controller containing this PR when the controller's
execution has completed successfully.
|
void |
controllerExecutionStarted(Controller c)
Called by a controller containing this PR when the controller
begins executing.
|
void |
execute()
Implementation of the run() method from
Runnable . |
List<Action> |
getActions()
Gets the list of actions that can be performed on this resource.
|
List<String> |
getAnnotationAccessors()
Gets the list of class names for any custom
AnnotationAccessor s. |
String |
getBenchmarkId()
Get the benchmark ID of this Transducers batch.
|
URL |
getBinaryGrammarURL() |
Boolean |
getEnableDebugging() |
String |
getEncoding()
Gets the encoding used for reding the grammar file(s).
|
URL |
getGrammarURL()
Gets the URL to the grammar used to build this transducer.
|
String |
getInputASName()
Gets the
AnnotationSet used as input by this transducer. |
Ontology |
getOntology()
Gets the ontology used by this transducer.
|
List<String> |
getOperators()
Gets the list of class names for any custom boolean operators.
|
String |
getOutputASName()
Gets the
AnnotationSet used as output by this transducer. |
Resource |
init()
This method is the one responsible for initialising the transducer.
|
protected DefaultActionContext |
initActionContext()
Method that initialises the ActionContext.
|
protected void |
initCustomConstraints()
Loads any custom operators and annotation accessors into the ConstraintFactory.
|
void |
interrupt()
Notifies all the PRs in this controller that they should stop their
execution as soon as possible.
|
void |
serialize(ObjectOutputStream out)
Sends a serialized (binary) copy of this transducer to the specified output stream.
|
void |
setAnnotationAccessors(List<String> annotationAccessors)
Sets the list of class names for any custom
AnnotationAccessor s. |
void |
setBenchmarkId(String benchmarkId)
Set the benchmark ID of this PR.
|
void |
setBinaryGrammarURL(URL binaryGrammarURL) |
void |
setEnableDebugging(Boolean enableDebugging) |
void |
setEncoding(String newEncoding)
Sets the encoding to be used for reding the input file(s) forming the Jape
grammar.
|
void |
setGrammarURL(URL newGrammarURL)
Sets the grammar to be used for building this transducer.
|
void |
setInputASName(String newInputASName)
Sets the
AnnotationSet to be used as input for the transducer. |
void |
setOntology(Ontology ontology)
Sets the ontology used by this transducer.
|
void |
setOperators(List<String> operators)
Sets the list of class names for any custom boolean operators.
|
void |
setOutputASName(String newOutputASName)
Sets the
AnnotationSet to be used as output by the transducer. |
getCorpus, getDocument, setCorpus, setDocument
addProgressListener, addStatusListener, cleanup, fireProcessFinished, fireProgressChanged, fireStatusChanged, getRuntimeParameterValues, getRuntimeParameterValues, isInterrupted, reInit, removeProgressListener, removeStatusListener
checkParameterValues, flushBeanInfoCache, forgetBeanInfo, getBeanInfo, getInitParameterValues, getInitParameterValues, getName, getParameterValue, getParameterValue, getParameterValues, removeResourceListeners, setName, setParameterValue, setParameterValue, setParameterValues, setParameterValues, setResourceListeners, toString
getFeatures, setFeatures
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
reInit
cleanup, getParameterValue, setParameterValue, setParameterValues
getFeatures, setFeatures
getName, setName
isInterrupted
public static final String TRANSD_DOCUMENT_PARAMETER_NAME
public static final String TRANSD_INPUT_AS_PARAMETER_NAME
public static final String TRANSD_OUTPUT_AS_PARAMETER_NAME
public static final String TRANSD_ENCODING_PARAMETER_NAME
public static final String TRANSD_GRAMMAR_URL_PARAMETER_NAME
public static final String TRANSD_BINARY_GRAMMAR_URL_PARAMETER_NAME
public static final String TRANSD_OPERATORS_PARAMETER_NAME
public static final String TRANSD_ANNOTATION_ACCESSORS_PARAMETER_NAME
protected List<Action> actionList
protected DefaultActionContext actionContext
protected URL grammarURL
protected URL binaryGrammarURL
protected String inputASName
AnnotationSet
used as input for the transducer.protected String outputASName
AnnotationSet
used as output by the transducer.protected List<String> operators
ConstraintPredicate
.protected List<String> annotationAccessors
AnnotationAccessor
s.protected Boolean enableDebugging
public Transducer()
init()
method.public Resource init() throws ResourceInstantiationException
init
in interface Resource
init
in class AbstractProcessingResource
ResourceInstantiationException
protected DefaultActionContext initActionContext()
public void execute() throws ExecutionException
Runnable
. This
method is responsible for doing all the processing of the input document.execute
in interface Executable
execute
in class AbstractProcessingResource
ExecutionException
public List<Action> getActions()
getActions
in interface ActionsPublisher
protected void initCustomConstraints() throws ResourceInstantiationException
ResourceInstantiationException
public void serialize(ObjectOutputStream out) throws IOException
IOException
public void interrupt()
interrupt
in interface Executable
interrupt
in class AbstractProcessingResource
@CreoleParameter(comment="The URL to the grammar file.", suffixes="jape", disjunction="grammar", priority=1) public void setGrammarURL(URL newGrammarURL)
newGrammarURL
- an URL to a file containing a Jape grammar.public URL getGrammarURL()
URL
pointing to the grammar file.@CreoleParameter(comment="The encoding used for reading the grammar", defaultValue="UTF-8") public void setEncoding(String newEncoding)
newEncoding
- a {link String} representing the encoding.public String getEncoding()
@RunTime @Optional @CreoleParameter(comment="The annotation set to be used as input for the transducer") public void setInputASName(String newInputASName)
AnnotationSet
to be used as input for the transducer.newInputASName
- a AnnotationSet
public String getInputASName()
AnnotationSet
used as input by this transducer.AnnotationSet
@RunTime @Optional @CreoleParameter(comment="The annotation set to be used as output for the transducer") public void setOutputASName(String newOutputASName)
AnnotationSet
to be used as output by the transducer.newOutputASName
- a AnnotationSet
public String getOutputASName()
AnnotationSet
used as output by this transducer.AnnotationSet
public Boolean getEnableDebugging()
@RunTime @CreoleParameter(defaultValue="false") public void setEnableDebugging(Boolean enableDebugging)
public List<String> getOperators()
ConstraintPredicate
.@Optional @CreoleParameter(comment="Class names that implement gate.jape.constraint.ConstraintPredicate.") public void setOperators(List<String> operators)
ConstraintPredicate
.public List<String> getAnnotationAccessors()
AnnotationAccessor
s.@Optional @CreoleParameter(comment="Class names that implement gate.jape.constraint.AnnotationAccessor.") public void setAnnotationAccessors(List<String> annotationAccessors)
AnnotationAccessor
s.public String getBenchmarkId()
getBenchmarkId
in interface Benchmarkable
public void setBenchmarkId(String benchmarkId)
setBenchmarkId
in interface Benchmarkable
benchmarkId
- the benchmark ID, which must not contain spaces
as it is already used as a separator in the log, you can use
Benchmark.createBenchmarkId(String, String)
for it.public Ontology getOntology()
Ontology
value.@RunTime @Optional @CreoleParameter(comment="The ontology to be used by this transducer") public void setOntology(Ontology ontology)
ontology
- an Ontology
value.public URL getBinaryGrammarURL()
@CreoleParameter(comment="The URL to the binary grammar file.", suffixes="jape", disjunction="grammar", priority=100) public void setBinaryGrammarURL(URL binaryGrammarURL)
public void controllerExecutionStarted(Controller c) throws ExecutionException
ControllerAwarePR
execute
d on this run.controllerExecutionStarted
in interface ControllerAwarePR
c
- the Controller
that is executing.ExecutionException
- if an error occurs that requires the
controller to abort its execution.public void controllerExecutionFinished(Controller c) throws ExecutionException
ControllerAwarePR
execute
method of any of this controller's PRs in
this run.controllerExecutionFinished
in interface ControllerAwarePR
c
- the Controller
that is executing.ExecutionException
- if an error occurs that requires the
controller to abort its execution.public void controllerExecutionAborted(Controller c, Throwable t) throws ExecutionException
ControllerAwarePR
execute
methods, or by the controller
itself. When this method is called, it is guaranteed that there
will be no more calls to the execute
method of any
of this controller's PRs in this run.controllerExecutionAborted
in interface ControllerAwarePR
c
- the Controller
that is executing.t
- the Throwable
that caused the controller to
abort. This will be either an ExecutionException
,
a RuntimeException
or an Error
.ExecutionException
- if an error occurs in this method that
requires the controller to abort its execution. This
method should not rethrow t
, as the
controller will do this after informing any other
ControllerAware
PRs it contains.