## gate.jape
Class SinglePhaseTransducer

    java.lang.Object
      |
      +--gate.jape.Transducer
            |
            +--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

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
`baseURL, debugMode, interrupted, name, statusListeners`

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, 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.
`void` `transduce1(Document doc, AnnotationSet annotationSet)` Transduce a document using the annotation set provided and the current rule application style.
`void` `transduce2(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, interrupt, isDebugMode, isInterrupted, removeStatusListener, setBaseURL, setDebugMode`

Methods inherited from class java.lang.Object
`<clinit>, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait`

Field Detail

### DEBUG

    private static final boolean DEBUG

  Debug flag

### 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.
  Overrides:
    `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.
  Overrides:
    `transduce` in class `Transducer`

### transduce1

    public void transduce1(Document doc,
                           AnnotationSet annotationSet)
                    throws JapeException

  Transduce a document using the annotation set provided and the current rule application style.

### transduce2

    public void transduce2(Document doc,
                           AnnotationSet inputAS,
                           AnnotationSet outputAS)
                    throws JapeException

  Transduce a document using the annotation set provided and the current rule application style.

### cleanUp

    public void cleanUp()

  Clean up (delete action class files, for e.g.).
  Overrides:
    `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.
  Overrides:
    `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()