001package net.automatalib.words.abstractimpl; 002 003import java.util.AbstractList; 004 005import net.automatalib.words.Alphabet; 006 007public abstract class AbstractAlphabet<I> extends AbstractList<I> implements Alphabet<I> { 008 009 010 @Override 011 public int compare(I o1, I o2) { 012 return getSymbolIndex(o1) - getSymbolIndex(o2); 013 } 014 015 @Override 016 public I get(int index) { 017 return getSymbol(index); 018 } 019 020 021 @Override 022 public void writeToArray(int offset, Object[] array, int tgtOfs, int num) { 023 for(int i = offset, j = tgtOfs, k = 0; k < num; i++, j++, k++) { 024 array[j] = getSymbol(i); 025 } 026 } 027}