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}