org.apache.lucene.util.automaton

## Class BasicAutomata

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

    public final class BasicAutomata
    extends Object

Construction of basic automata.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Method Summary

Methods
`static Automaton` `makeAnyChar()` Returns a new (deterministic) automaton that accepts any single codepoint.
`static Automaton` `makeAnyString()` Returns a new (deterministic) automaton that accepts all strings.
`static Automaton` `makeChar(int c)` Returns a new (deterministic) automaton that accepts a single codepoint of the given value.
`static Automaton` `makeCharRange(int min, int max)` Returns a new (deterministic) automaton that accepts a single codepoint whose value is in the given interval (including both end points).
`static Automaton` `makeEmpty()` Returns a new (deterministic) automaton with the empty language.
`static Automaton` `makeEmptyString()` Returns a new (deterministic) automaton that accepts only the empty string.
`static Automaton` `makeInterval(int min, int max, int digits)` Returns a new automaton that accepts strings representing decimal non-negative integers in the given interval.
`static Automaton` `makeString(int[] word, int offset, int length)`
`static Automaton` `makeString(String s)` Returns a new (deterministic) automaton that accepts the single given string.
`static Automaton` `makeStringUnion(Collection<BytesRef> utf8Strings)` Returns a new (deterministic and minimal) automaton that accepts the union of the given collection of `BytesRef`s representing UTF-8 encoded strings.

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

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

### Method Detail

#### makeEmpty

    public static Automaton makeEmpty()

Returns a new (deterministic) automaton with the empty language.

#### makeEmptyString

    public static Automaton makeEmptyString()

Returns a new (deterministic) automaton that accepts only the empty string.

#### makeAnyString

    public static Automaton makeAnyString()

Returns a new (deterministic) automaton that accepts all strings.

#### makeAnyChar

    public static Automaton makeAnyChar()

Returns a new (deterministic) automaton that accepts any single codepoint.

#### makeChar

    public static Automaton makeChar(int c)

Returns a new (deterministic) automaton that accepts a single codepoint of the given value.

#### makeCharRange

    public static Automaton makeCharRange(int min,
                          int max)

Returns a new (deterministic) automaton that accepts a single codepoint whose value is in the given interval (including both end points).

#### makeInterval

    public static Automaton makeInterval(int min,
                         int max,
                         int digits)
                                  throws IllegalArgumentException

Returns a new automaton that accepts strings representing decimal non-negative integers in the given interval.

Parameters:
  `min` - minimal value of interval
  `max` - maximal value of interval (both end points are included in the interval)
  `digits` - if >0, use fixed number of digits (strings must be prefixed by 0's to obtain the right length) - otherwise, the number of digits is not fixed
Throws:
  `IllegalArgumentException` - if min>max or if numbers in the interval cannot be expressed with the given fixed number of digits

#### makeString

    public static Automaton makeString(String s)

Returns a new (deterministic) automaton that accepts the single given string.

#### makeString

    public static Automaton makeString(int[] word,
                       int offset,
                       int length)

#### makeStringUnion

    public static Automaton makeStringUnion(Collection<BytesRef> utf8Strings)

Returns a new (deterministic and minimal) automaton that accepts the union of the given collection of `BytesRef`s representing UTF-8 encoded strings.

Parameters:
  `utf8Strings` - The input strings, UTF-8 encoded. The collection must be in sorted order.
Returns:
  An `Automaton` accepting all input strings. The resulting automaton is codepoint based (full unicode codepoints on transitions).