## gate.jape
Class Rule

    java.lang.Object
      |
      +--gate.jape.Transducer
            |
            +--gate.jape.Rule

All Implemented Interfaces:
  JapeConstants, Serializable

public class Rule
extends Transducer
implements JapeConstants, Serializable

A CPSL rule. Has an LHS, RHS and a name, and a priority.

See Also:
  Serialized Form

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
`Rule(String name, int position, int priority, LeftHandSide lhs, RightHandSide rhs)` Construction

Method Summary
`void` `addProcessProgressListener(ProgressListener listener)`
`void` `addStatusListener(StatusListener listener)`
`void` `cleanUp()` Clean up (delete action class files, for e.g.).
`void` `finish()` Finish: replace dynamic data structures with Java arrays; called after parsing.
`boolean` `finished()` Have we hit the end of the document without matching?
`int` `getEndPosition()` Return the ending position of a match.
`LeftHandSide` `getLHS()`
`int` `getNextMatch(Document doc, int position, int end)` If another match at or beyond `position` is possible return the position we want to fire in, else -1.
`int` `getPosition()` Get the rule's position in sequence (e.g.
`int` `getPriority()` Get the rule priority.
`RightHandSide` `getRHS()`
`int` `getStartPosition()` Return the starting position of a match.
`boolean` `matches(Document doc, int position, MutableInteger newPosition)` Does this element match the document at this position?
`int` `pending()` If we're pending (have matched), get the position we want to fire in, else -1.
`void` `removeProcessProgressListener(ProgressListener listener)`
`void` `removeStatusListener(StatusListener listener)`
`void` `reset()` Clear away the results of a match.
`String` `toString()` Create a string representation of the object.
`String` `toString(String pad)` Create a string representation of the object.
`void` `transduce(Document doc, AnnotationSet inputAS, AnnotationSet outputAS)` Apply the RHS of this rule (LHS must have been matched first).

Methods inherited from class gate.jape.Transducer
`addProgressListener, getBaseURL, getName, interrupt, isDebugMode, isInterrupted, removeProgressListener, setBaseURL, setDebugMode`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Rule

    public Rule(String name,
                int position,
                int priority,
                LeftHandSide lhs,
                RightHandSide rhs)

  Construction

Method Detail

### getPriority

    public int getPriority()

  Get the rule priority.

### getPosition

    public int getPosition()

  Get the rule's position in sequence (e.g. order in file).

### pending

    public int pending()

  If we're pending (have matched), get the position we want to fire in, else -1.

### finished

    public boolean finished()

  Have we hit the end of the document without matching?

### finish

    public void finish()

  Finish: replace dynamic data structures with Java arrays; called after parsing. WARNING: bad choice of names: this is not related to the weFinished member or the finished method!
  Overrides:
    `finish` in class `Transducer`

### getNextMatch

    public int getNextMatch(Document doc,
                            int position,
                            int end)

  If another match at or beyond `position` is possible return the position we want to fire in, else -1.

### getEndPosition

    public int getEndPosition()

  Return the ending position of a match. This is the rightmost span end of the matched annotations.

### getStartPosition

    public int getStartPosition()

  Return the starting position of a match. This is the leftmost span start of the matched annotations.

### matches

    public boolean matches(Document doc,
                           int position,
                           MutableInteger newPosition)

  Does this element match the document at this position?

### transduce

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

  Apply the RHS of this rule (LHS must have been matched first).
  Overrides:
    `transduce` in class `Transducer`

### reset

    public void reset()

  Clear away the results of a match.

### cleanUp

    public void cleanUp()

  Clean up (delete action class files, for e.g.).
  Overrides:
    `cleanUp` in class `Transducer`

### toString

    public String toString()

  Create a string representation of the object.
  Overrides:
    `toString` in class `Object`

### toString

    public String toString(String pad)

  Create a string representation of the object.
  Overrides:
    `toString` in class `Transducer`

### getLHS

    public LeftHandSide getLHS()

### getRHS

    public RightHandSide getRHS()

### addStatusListener

    public void addStatusListener(StatusListener listener)

  Overrides:
    `addStatusListener` in class `Transducer`

### removeStatusListener

    public void removeStatusListener(StatusListener listener)

  Overrides:
    `removeStatusListener` in class `Transducer`

### addProcessProgressListener

    public void addProcessProgressListener(ProgressListener listener)

### removeProcessProgressListener

    public void removeProcessProgressListener(ProgressListener listener)