diff --git a/src/main/java/appeng/util/SortedList.java b/src/main/java/appeng/util/SortedList.java deleted file mode 100644 index 8875fbf8..00000000 --- a/src/main/java/appeng/util/SortedList.java +++ /dev/null @@ -1,198 +0,0 @@ -package appeng.util; - -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.ListIterator; - -public class SortedList implements Iterable, List, Cloneable { - - private boolean sorted = true; - private final Comparator comp; - private final LinkedList storage = new LinkedList(); - - private void makeSorted() { - if (!sorted) { - sorted = true; - Collections.sort(storage, comp); - } - } - - public SortedList(Comparator comp) { - this.comp = comp; - } - - @Override - public boolean add(T input) { - sorted = false; - return storage.add(input); - } - - @Override - public boolean addAll(Collection input) { - if (!input.isEmpty()) - sorted = false; - return storage.addAll(input); - } - - @Override - public void clear() { - sorted = true; - storage.clear(); - } - - @Override - public boolean contains(Object input) { - return storage.contains(input); - } - - @Override - public boolean containsAll(Collection input) { - return storage.containsAll(input); - } - - @Override - public boolean isEmpty() { - return isEmpty(); - } - - @Override - public Iterator iterator() { - makeSorted(); - return storage.iterator(); - } - - public Iterator reverseIterator() { - makeSorted(); - final ListIterator listIterator = listIterator(size()); - - return new Iterator() { - - @Override - public boolean hasNext() { - return listIterator.hasPrevious(); - } - - @Override - public T next() { - return listIterator.previous(); - } - - @Override - public void remove() { - listIterator.remove(); - } - - }; - } - - @Override - public boolean remove(Object input) { - return storage.remove(input); - } - - @Override - public boolean removeAll(Collection input) { - return storage.removeAll(input); - } - - @Override - public boolean retainAll(Collection input) { - return storage.retainAll(input); - } - - @Override - public int size() { - return storage.size(); - } - - @Override - public Object[] toArray() { - return storage.toArray(); - } - - @Override - public X[] toArray(X[] input) { - return storage.toArray(input); - } - - public Comparator comparator() { - return comp; - } - - public T first() { - makeSorted(); - return storage.peekFirst(); - } - - public T last() { - makeSorted(); - return storage.peekLast(); - } - - @Override - public void add(int index, T element) { - makeSorted(); - sorted = false; - add(index, element); - } - - @Override - public boolean addAll(int index, Collection c) { - sorted = false; - return addAll(index, c); - } - - @Override - public T get(int index) { - makeSorted(); - return get(index); - } - - @Override - public int indexOf(Object o) { - makeSorted(); - return indexOf(o); - } - - @Override - public int lastIndexOf(Object o) { - makeSorted(); - return lastIndexOf(o); - } - - @Override - public ListIterator listIterator() { - makeSorted(); - return listIterator(); - } - - @Override - public ListIterator listIterator(int index) { - makeSorted(); - return listIterator(index); - } - - @Override - public T remove(int index) { - makeSorted(); - return remove(index); - } - - @Override - public T set(int index, T element) { - makeSorted(); - sorted = false; - return set(index, element); - } - - @Override - public List subList(int fromIndex, int toIndex) { - makeSorted(); - return storage.subList(fromIndex, toIndex); - } - -}