Class ArrayAlphabet<I>

    • Field Detail

      • symbols

        protected final I[] symbols
    • Constructor Detail

      • ArrayAlphabet

        @SafeVarargs
        public ArrayAlphabet​(I... symbols)
    • Method Detail

      • getSymbol

        public I getSymbol​(int index)
        Description copied from interface: Alphabet
        Returns the symbol with the given index in this alphabet.
        Parameters:
        index - the index of the requested symbol.
        Returns:
        symbol with the given index.
      • getSymbolIndex

        public int getSymbolIndex​(I symbol)
        Description copied from interface: Alphabet
        Returns the index of the given symbol in the alphabet.
        Parameters:
        symbol - the symbol whose index should be determined
        Returns:
        the index of the given symbol
      • writeToArray

        public void writeToArray​(int offset,
                                 @Nullable Object[] array,
                                 int tgtOfs,
                                 int num)
        Description copied from interface: ArrayWritable
        Writes the contents of this container to an array. The behavior of calling this method should be equivalent to System.arraycopy(this.toArray(), offset, array, tgtOfs, num);
        Parameters:
        offset - how many elements of this container to skip.
        array - the array in which to store the elements.
        tgtOfs - the starting offset in the target array.
        num - the maximum number of elements to copy.
      • containsSymbol

        public boolean containsSymbol​(I symbol)
        Description copied from interface: Alphabet
        Checks whether the given symbol is part of the alphabet.

        Caution: the default implementation is rather inefficient and should be overridden, if possible.

        Parameters:
        symbol - the symbol to check
        Returns:
        true iff the symbol is part of the alphabet