Package owl.automaton

## Interface EdgesAutomatonMixin<S,A extends OmegaAcceptance>

- Type Parameters:
    `S` - the type of the states of the automaton
    `A` - the type of the omega-acceptance condition of the automaton
  All Superinterfaces:
    `Automaton<S,A>`

      public interface EdgesAutomatonMixin<S,A extends OmegaAcceptance>
      extends Automaton<S,A>

  Mixin interface for implementing an automaton by `Automaton.edges(Object, BitSet)`.

  It is impossible to implement the incompatible sister interface `LabelledEdgesAutomatonMixin` and the compiler will reject the code, since there are conflicting defaults for `Automaton.prefersLabelled()`.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface owl.automaton.Automaton

      `Automaton.EdgeVisitor<S>, Automaton.HybridVisitor<S>, Automaton.LabelledEdgeVisitor<S>, Automaton.Property, Automaton.Visitor<S>`

  - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default Collection<Edge<S>>` | `edges​(S state)` | Returns all successor edges of the specified `state` under any valuation.
    `default Collection<LabelledEdge<S>>` | `labelledEdges​(S state)` | Returns all labelled edges of the specified `state`.
    `default boolean` | `prefersLabelled()` | Indicate if the automaton implements a fast computation (e.g.
    `default Set<S>` | `successors​(S state)` | Returns all successors of the specified `state`.

    - ### Methods inherited from interface owl.automaton.Automaton

      `accept, accept, accept, acceptance, edge, edges, factory, forEachEdge, forEachLabelledEdge, initialStates, is, name, onlyInitialState, predecessors, size, states, successor, successors`

- - ### Method Detail

    - #### successors

          default Set<S> successors​(S state)

      Description copied from interface: `Automaton`
      Returns all successors of the specified `state`.
      Specified by:
        `successors` in interface `Automaton<S,A extends OmegaAcceptance>`
      Parameters:
        `state` - The starting state of the transition.
      Returns:
        The successor set.

    - #### edges

          default Collection<Edge<S>> edges​(S state)

      Description copied from interface: `Automaton`
      Returns all successor edges of the specified `state` under any valuation.
      Specified by:
        `edges` in interface `Automaton<S,A extends OmegaAcceptance>`
      Parameters:
        `state` - The starting state of the edges.
      Returns:
        The set of edges originating from `state`

    - #### labelledEdges

          default Collection<LabelledEdge<S>> labelledEdges​(S state)

      Description copied from interface: `Automaton`
      Returns all labelled edges of the specified `state`.
      Specified by:
        `labelledEdges` in interface `Automaton<S,A extends OmegaAcceptance>`
      Parameters:
        `state` - The state.
      Returns:
        All labelled edges of the state.

    - #### prefersLabelled

          default boolean prefersLabelled()

      Description copied from interface: `Automaton`
      Indicate if the automaton implements a fast computation (e.g. symbolic) of labelled edges. Returns `true`, if the automaton advices to use `Automaton.labelledEdges(Object)` and `Automaton.accept(LabelledEdgeVisitor)` for accessing all outgoing edges of a state.
      Specified by:
        `prefersLabelled` in interface `Automaton<S,A extends OmegaAcceptance>`
      Returns:
        The preferred traversal method.