org.apache.lucene.util.automaton

## Class DaciukMihovAutomatonBuilder

- java.lang.Object
- - org.apache.lucene.util.automaton.DaciukMihovAutomatonBuilder

    public final class DaciukMihovAutomatonBuilder
    extends Object

Builds a minimal, deterministic `Automaton` that accepts a set of strings. The algorithm requires sorted input data, but is very fast (nearly linear with the input size).

See Also:
  `build(Collection)`, `Automata.makeStringUnion(Collection)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `add(CharsRef current)` Add another character sequence to this automaton.
`static Automaton` `build(Collection<BytesRef> input)` Build a minimal, deterministic automaton from a sorted list of `BytesRef` representing strings in UTF-8.
`org.apache.lucene.util.automaton.DaciukMihovAutomatonBuilder.State` `complete()` Finalize the automaton and return the root state.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### add

    public void add(CharsRef current)

Add another character sequence to this automaton. The sequence must be lexicographically larger or equal compared to any previous sequences added to this automaton (the input must be sorted).

#### complete

    public org.apache.lucene.util.automaton.DaciukMihovAutomatonBuilder.State complete()

Finalize the automaton and return the root state. No more strings can be added to the builder after this call.

Returns:
  Root automaton state.

#### build

    public static Automaton build(Collection<BytesRef> input)

Build a minimal, deterministic automaton from a sorted list of `BytesRef` representing strings in UTF-8. These strings must be binary-sorted.