Package relaxngcc.automaton

## Class Alphabet.Fork

- java.lang.Object
- - relaxngcc.automaton.Alphabet
  - - relaxngcc.automaton.Alphabet.Fork

- Enclosing class:
    Alphabet

      public static final class Alphabet.Fork
      extends Alphabet

  Alphabet that "forks" a state into a set of sub-automata. Used to handle <interleave>s

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class relaxngcc.automaton.Alphabet

      `Alphabet.DataText, Alphabet.EnterAttribute, Alphabet.EnterElement, Alphabet.ForAction, Alphabet.Fork, Alphabet.LeaveAttribute, Alphabet.LeaveElement, Alphabet.Markup, Alphabet.Ref, Alphabet.Text, Alphabet.ValueText`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `NameClass[]` | `_attributeNameClasses` | for attributes.
    `boolean[]` | `_canConsumeText` | for texts.
    `NameClass[]` | `_elementNameClasses` | NameClass that represents elements that can be consumed by each branch.
    `State[]` | `_subAutomata` | Initial states of sub-automata.

    - ### Fields inherited from class relaxngcc.automaton.Alphabet

      `_locator, DATA_TEXT, ENTER_ATTRIBUTE, ENTER_ELEMENT, FOR_ACTION, FORK, LEAVE_ATTRIBUTE, LEAVE_ELEMENT, REF_BLOCK, VALUE_TEXT`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Fork​(State[] subAutomata, NameClass[] elementNC, NameClass[] attNC, boolean[] text, org.xml.sax.Locator loc)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Alphabet.Fork` | `asFork()` |
    `boolean` | `equals​(java.lang.Object o)` |
    `java.lang.String` | `getClassName()` | Gets the name of the InterleaveFilter implementation class.
    `int` | `hashCode()` |
    `boolean` | `isNullable()` | Returns true if this fork&join is nullable.
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class relaxngcc.automaton.Alphabet

      `asDataText, asEnterAttribute, asEnterElement, asForAction, asLeaveAttribute, asLeaveElement, asMarkup, asRef, asText, asValueText, getType, isDataText, isEnterAttribute, isEnterElement, isForAction, isFork, isLeaveAttribute, isLeaveElement, isMarkup, isRef, isText, isValueText, printLocator`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### _subAutomata

          public final State[] _subAutomata

      Initial states of sub-automata.

    - #### _elementNameClasses

          public final NameClass[] _elementNameClasses

      NameClass that represents elements that can be consumed by each branch.

    - #### _attributeNameClasses

          public final NameClass[] _attributeNameClasses

      for attributes.

    - #### _canConsumeText

          public final boolean[] _canConsumeText

      for texts.

  - ### Constructor Detail

    - #### Fork

          public Fork​(State[] subAutomata,
                      NameClass[] elementNC,
                      NameClass[] attNC,
                      boolean[] text,
                      org.xml.sax.Locator loc)

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in class `Alphabet`

    - #### equals

          public boolean equals​(java.lang.Object o)

      Overrides:
        `equals` in class `Alphabet`

    - #### asFork

          public Alphabet.Fork asFork()

      Overrides:
        `asFork` in class `Alphabet`

    - #### getClassName

          public java.lang.String getClassName()

      Gets the name of the InterleaveFilter implementation class.

    - #### isNullable

          public boolean isNullable()

      Returns true if this fork&join is nullable.