gate.jape
Class SinglePhaseTransducer

java.lang.Object
  extended bygate.jape.Transducer
      extended bygate.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

Field Summary
private static boolean DEBUG
          Debug flag
private  boolean finishedAlready
          Whether the finish method has been called or not.
(package private)  FSM fsm
           
(package private)  Set input
          Defines the types of input annotations that this transducer reads.
private  HashMap optionSettings
          The values of any option settings given.
private  Vector progressListeners
           
private  int ruleApplicationStyle
          Type of rule application (constants defined in JapeConstants).
private  PrioritisedRuleList rules
          The list of rules in this transducer.
 
Fields inherited from class gate.jape.Transducer
interrupted, name, ontology
 
Fields inherited from interface gate.jape.JapeConstants
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
private  void addAnnotationsByOffset(SimpleSortedSet keys, Set annotations)
           
 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.
 void cleanUp()
          Clean up (delete action class files, for e.g.).
 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.
 FSM getFSM()
           
 String getOption(String name)
          Get the value for a particular option.
 int getRuleApplicationStyle()
           
 PrioritisedRuleList getRules()
           
 void removeProgressListener(ProgressListener l)
           
 void setOption(String name, String setting)
          Add an option setting.
 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, isInterrupted, removeStatusListener, setBaseURL, setDebugMode, setOntology
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEBUG

private static final boolean DEBUG
Debug flag

See Also:
Constant Field Values

ruleApplicationStyle

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


rules

private 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

FSM fsm

optionSettings

private HashMap optionSettings
The values of any option settings given.


finishedAlready

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


input

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.


progressListeners

private transient Vector progressListeners
Constructor Detail

SinglePhaseTransducer

public SinglePhaseTransducer(String name)
Construction from name.

Method Detail

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

addAnnotationsByOffset

private void addAnnotationsByOffset(SimpleSortedSet keys,
                                    Set annotations)

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

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.


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()