## gate.jape
Class ConstraintGroup

    java.lang.Object
      |
      +--gate.jape.PatternElement
            |
            +--gate.jape.ConstraintGroup

All Implemented Interfaces:
  Cloneable, JapeConstants, Matcher, Serializable

public class ConstraintGroup
extends PatternElement
implements JapeConstants, Serializable

A sequence of conjunctions of PatternElement that form a disjunction.

See Also:
  Serialized Form

Field Summary
`private ArrayList` `currentConjunction` An array of PatternElements making up a conjunction.
`private static boolean` `DEBUG` Debug flag
`private ArrayList` `patternElementDisjunction1` An array of arrays that represent PatternElement conjunctions during parsing of the .jape.
`private PatternElement[][]` `patternElementDisjunction2` The pattern element disjunction for transduction - Java arrays.

Fields inherited from class gate.jape.PatternElement
`matchHistory`

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
`ConstraintGroup()` Anonymous constructor.

Method Summary
`void` `addPatternElement(PatternElement pe)` Add an element to the current conjunction.
`Object` `clone()` Need cloning for processing of macro references.
`void` `createDisjunction()` Make a new disjunction at this point.
`void` `finish()` Finish: replace dynamic data structures with Java arrays; called after parsing.
`protected Iterator` `getCPEs()` Get an list of CPEs that we contain.
`AnnotationSet` `getMatchedAnnots()` Access to the annotations that have been matched by this group.
`PatternElement[][]` `getPatternElementDisjunction()`
`boolean` `matches(Document doc, int position, MutableInteger newPosition)` Does this element match the document at this position?
`void` `reset()` Clear all the annotations that have been matched by this group.
`void` `rollback(int arity)` Multilevel rollback of annot caches etc.
`String` `toString()` Create a string representation of the object.
`String` `toString(String pad)` Create a string representation of the object.

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

Field Detail

### DEBUG

    private static final boolean DEBUG

  Debug flag

### patternElementDisjunction1

    private ArrayList patternElementDisjunction1

  An array of arrays that represent PatternElement conjunctions during parsing of the .jape. Each conjunction is considered as being disjunct with the next. (I.e. they are or'd, in the same way as expressions around "||" in C and Java.) Set during parsing; replaced by finish().

### patternElementDisjunction2

    private PatternElement[][] patternElementDisjunction2

  The pattern element disjunction for transduction - Java arrays.

### currentConjunction

    private ArrayList currentConjunction

  An array of PatternElements making up a conjunction. It is a member of patternElementDisjunction. This is the one we're adding to at present. Used during parsing, not matching.

Constructor Detail

### ConstraintGroup

    public ConstraintGroup()

  Anonymous constructor.

Method Detail

### clone

    public Object clone()

  Need cloning for processing of macro references. See comments on `PatternElement.clone()`
  Overrides:
    `clone` in class `PatternElement`

### createDisjunction

    public void createDisjunction()

  Make a new disjunction at this point.

### addPatternElement

    public void addPatternElement(PatternElement pe)

  Add an element to the current conjunction.

### getCPEs

    protected Iterator getCPEs()

  Get an list of CPEs that we contain.

### finish

    public void finish()

  Finish: replace dynamic data structures with Java arrays; called after parsing.

### getMatchedAnnots

    public AnnotationSet getMatchedAnnots()

  Access to the annotations that have been matched by this group.
  Overrides:
    `getMatchedAnnots` in class `PatternElement`

### reset

    public void reset()

  Clear all the annotations that have been matched by this group.
  Overrides:
    `reset` in class `PatternElement`

### rollback

    public void rollback(int arity)

  Multilevel rollback of annot caches etc.
  Overrides:
    `rollback` in class `PatternElement`

### matches

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

  Does this element match the document at this position?

### 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 `PatternElement`

### getPatternElementDisjunction

    public PatternElement[][] getPatternElementDisjunction()