GATE
Version 3.1-2270

gate.jape
Class SinglePhaseTransducer

java.lang.Object
  extended by gate.jape.Transducer
      extended by gate.jape.SinglePhaseTransducer
All Implemented Interfaces:
JapeConstants, Serializable

public class SinglePhaseTransducer
extends Transducer
implements JapeConstants, Serializable

Represents a complete CPSL grammar, with a phase name, options and rule set (accessible by name and by sequence). Implements a transduce method taking a Document as input. Constructs from String or File.

See Also:
Serialized Form

Nested Class Summary
protected static class SinglePhaseTransducer.SearchState
           
 
Field Summary
protected  boolean finishedAlready
          Whether the finish method has been called or not.
protected  FSM fsm
           
 Set input
          Defines the types of input annotations that this transducer reads.
protected  int ruleApplicationStyle
          Type of rule application (constants defined in JapeConstants).
protected  PrioritisedRuleList rules
          The list of rules in this transducer.
 
Fields inherited from class gate.jape.Transducer
enableDebugging, interrupted, name, ontology
 
Fields inherited from interface gate.jape.JapeConstants
ALL_STYLE, APPELT_STYLE, BRILL_STYLE, DEFAULT_PRIORITY, FIRST_STYLE, INDENT_PADDING, KLEENE_PLUS, KLEENE_QUERY, KLEENE_STAR, MULTI_SPAN_BINDING, NO_BINDING, NO_KLEENE_OP, ONCE_STYLE, SINGLE_SPAN_BINDING
 
Constructor Summary
SinglePhaseTransducer(String name)
          Construction from name.
 
Method Summary
 void addInput(String ident)
          Adds a new type of input annotations used by this transducer.
 void addProgressListener(ProgressListener l)
           
 void addRule(Rule rule)
          Add a rule.
protected  boolean attemptAdvance(ArrayList activeFSMInstances, ArrayList acceptingFSMInstances, SimpleSortedSet offsets, SimpleSortedSet annotationsByOffset, Document doc)
          Try to advance the activeFSMInstances.
 void cleanUp()
          Clean up (delete action class files, for e.g.).
protected  FSM createFSM()
           
 void finish()
          Finish: replace dynamic data structures with Java arrays; called after parsing.
protected  void fireProcessFinished()
           
protected  void fireProgressChanged(int e)
          This property affects the Appelt style of rules application.
protected  boolean fireRule(ArrayList acceptingFSMInstances, SinglePhaseTransducer.SearchState state, long lastNodeOff, SimpleSortedSet offsets, AnnotationSet inputAS, AnnotationSet outputAS, Document doc, SimpleSortedSet annotationsByOffset)
          Fire the rule that matched.
 FSM getFSM()
           
 String getOption(String name)
          Get the value for a particular option.
 PhaseController getPhaseController()
           
 int getRuleApplicationStyle()
           
 PrioritisedRuleList getRules()
           
 void removeProgressListener(ProgressListener l)
           
 void setOption(String name, String setting)
          Add an option setting.
 void setPhaseController(PhaseController phaseController)
           
 void setRuleApplicationStyle(int style)
          Set the type of rule application (types defined in JapeConstants).
 String toString()
          A string representation of this object.
 String toString(String pad)
          A string representation of this object.
 void transduce(Document doc, AnnotationSet inputAS, AnnotationSet outputAS)
          Transduce a document using the annotation set provided and the current rule application style.
 
Methods inherited from class gate.jape.Transducer
addStatusListener, fireStatusChanged, getBaseURL, getName, getOntology, interrupt, isDebugMode, isEnableDebugging, isInterrupted, isMatchGroupMode, removeStatusListener, setBaseURL, setDebugMode, setEnableDebugging, setMatchGroupMode, setOntology
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ruleApplicationStyle

protected int ruleApplicationStyle
Type of rule application (constants defined in JapeConstants).


rules

protected PrioritisedRuleList rules
The list of rules in this transducer. Ordered by priority and addition sequence (which will be file position if they come from a file).


fsm

protected FSM fsm

finishedAlready

protected boolean finishedAlready
Whether the finish method has been called or not.


input

public Set input
Defines the types of input annotations that this transducer reads. If this set is empty the transducer will read all the annotations otherwise it will only "see" the annotations of types found in this list ignoring all other types of annotations.

Constructor Detail

SinglePhaseTransducer

public SinglePhaseTransducer(String name)
Construction from name.

Method Detail

getPhaseController

public PhaseController getPhaseController()

setPhaseController

public void setPhaseController(PhaseController phaseController)

setRuleApplicationStyle

public void setRuleApplicationStyle(int style)
Set the type of rule application (types defined in JapeConstants).


getFSM

public FSM getFSM()

addRule

public void addRule(Rule rule)
Add a rule.


setOption

public void setOption(String name,
                      String setting)
Add an option setting. If this option is set already, the new value overwrites the previous one.


getOption

public String getOption(String name)
Get the value for a particular option.


finish

public void finish()
Finish: replace dynamic data structures with Java arrays; called after parsing.

Specified by:
finish in class Transducer

createFSM

protected FSM createFSM()

transduce

public void transduce(Document doc,
                      AnnotationSet inputAS,
                      AnnotationSet outputAS)
               throws JapeException,
                      ExecutionException
Transduce a document using the annotation set provided and the current rule application style.

Specified by:
transduce in class Transducer
Throws:
JapeException
ExecutionException

attemptAdvance

protected boolean attemptAdvance(ArrayList activeFSMInstances,
                                 ArrayList acceptingFSMInstances,
                                 SimpleSortedSet offsets,
                                 SimpleSortedSet annotationsByOffset,
                                 Document doc)
                          throws ExecutionInterruptedException
Try to advance the activeFSMInstances.

Returns:
true if we ended in a 'final' state, false otherwise.
Throws:
ExecutionInterruptedException

fireRule

protected boolean fireRule(ArrayList acceptingFSMInstances,
                           SinglePhaseTransducer.SearchState state,
                           long lastNodeOff,
                           SimpleSortedSet offsets,
                           AnnotationSet inputAS,
                           AnnotationSet outputAS,
                           Document doc,
                           SimpleSortedSet annotationsByOffset)
                    throws JapeException,
                           ExecutionException
Fire the rule that matched.

Returns:
true if processing should keep going, false otherwise.
Throws:
JapeException
ExecutionException

cleanUp

public void cleanUp()
Clean up (delete action class files, for e.g.).

Specified by:
cleanUp in class Transducer

toString

public String toString()
A string representation of this object.

Overrides:
toString in class Object

toString

public String toString(String pad)
A string representation of this object.

Specified by:
toString in class Transducer

getRules

public PrioritisedRuleList getRules()

addInput

public void addInput(String ident)
Adds a new type of input annotations used by this transducer. If the list of input types is empty this transducer will parse all the annotations in the document otherwise the types not found in the input list will be completely ignored! To be used with caution!


removeProgressListener

public void removeProgressListener(ProgressListener l)
Overrides:
removeProgressListener in class Transducer

addProgressListener

public void addProgressListener(ProgressListener l)
Overrides:
addProgressListener in class Transducer

fireProgressChanged

protected void fireProgressChanged(int e)
Description copied from class: Transducer
This property affects the Appelt style of rules application. If true then the longest match will be fired otherwise the shortest will be used. By default it is true.

Overrides:
fireProgressChanged in class Transducer

fireProcessFinished

protected void fireProcessFinished()
Overrides:
fireProcessFinished in class Transducer

getRuleApplicationStyle

public int getRuleApplicationStyle()

GATE
Version 3.1-2270