package com.kreative.paint.material.alphabet;
import java.awt.Font;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class AlphabetList implements List<Alphabet> {
public final String name;
public final int width;
public final Font font;
private final List<Alphabet> alphabets;
public AlphabetList(String name, int width, Font font) {
this.name = name;
this.width = width;
this.font = font;
this.alphabets = new ArrayList<Alphabet>();
}
@Override
public boolean equals(Object that) {
if (that instanceof AlphabetList) {
return this.equals((AlphabetList)that, false);
} else {
return false;
}
}
public boolean equals(AlphabetList that, boolean withName) {
if (!this.alphabets.equals(that.alphabets)) return false;
if (!withName) return true;
if (this.name != null) return this.name.equals(that.name);
if (that.name != null) return that.name.equals(this.name);
return true;
}
@Override
public int hashCode() {
return alphabets.hashCode();
}
@Override
public boolean add(Alphabet e) {
return alphabets.add(e);
}
@Override
public void add(int index, Alphabet element) {
alphabets.add(index, element);
}
@Override
public boolean addAll(Collection<? extends Alphabet> c) {
return alphabets.addAll(c);
}
@Override
public boolean addAll(int index, Collection<? extends Alphabet> c) {
return alphabets.addAll(index, c);
}
@Override
public void clear() {
alphabets.clear();
}
@Override
public boolean contains(Object o) {
return alphabets.contains(o);
}
@Override
public boolean containsAll(Collection<?> c) {
return alphabets.containsAll(c);
}
@Override
public Alphabet get(int index) {
return alphabets.get(index);
}
@Override
public int indexOf(Object o) {
return alphabets.indexOf(o);
}
@Override
public boolean isEmpty() {
return alphabets.isEmpty();
}
@Override
public Iterator<Alphabet> iterator() {
return alphabets.iterator();
}
@Override
public int lastIndexOf(Object o) {
return alphabets.lastIndexOf(o);
}
@Override
public ListIterator<Alphabet> listIterator() {
return alphabets.listIterator();
}
@Override
public ListIterator<Alphabet> listIterator(int index) {
return alphabets.listIterator(index);
}
@Override
public boolean remove(Object o) {
return alphabets.remove(o);
}
@Override
public Alphabet remove(int index) {
return alphabets.remove(index);
}
@Override
public boolean removeAll(Collection<?> c) {
return alphabets.removeAll(c);
}
@Override
public boolean retainAll(Collection<?> c) {
return alphabets.retainAll(c);
}
@Override
public Alphabet set(int index, Alphabet element) {
return alphabets.set(index, element);
}
@Override
public int size() {
return alphabets.size();
}
@Override
public List<Alphabet> subList(int fromIndex, int toIndex) {
return alphabets.subList(fromIndex, toIndex);
}
@Override
public Object[] toArray() {
return alphabets.toArray();
}
@Override
public <T> T[] toArray(T[] a) {
return alphabets.toArray(a);
}
}