home *** CD-ROM | disk | FTP | other *** search
- package java.util;
-
- public abstract class AbstractList extends AbstractCollection implements List {
- protected transient int modCount = 0;
-
- protected AbstractList() {
- }
-
- public boolean add(Object var1) {
- this.add(((AbstractCollection)this).size(), var1);
- return true;
- }
-
- public abstract Object get(int var1);
-
- public Object set(int var1, Object var2) {
- throw new UnsupportedOperationException();
- }
-
- public void add(int var1, Object var2) {
- throw new UnsupportedOperationException();
- }
-
- public Object remove(int var1) {
- throw new UnsupportedOperationException();
- }
-
- public int indexOf(Object var1) {
- ListIterator var2 = this.listIterator();
- if (var1 == null) {
- while(var2.hasNext()) {
- if (var2.next() == null) {
- return var2.previousIndex();
- }
- }
- } else {
- while(var2.hasNext()) {
- if (var1.equals(var2.next())) {
- return var2.previousIndex();
- }
- }
- }
-
- return -1;
- }
-
- public int lastIndexOf(Object var1) {
- ListIterator var2 = this.listIterator(((AbstractCollection)this).size());
- if (var1 == null) {
- while(var2.hasPrevious()) {
- if (var2.previous() == null) {
- return var2.nextIndex();
- }
- }
- } else {
- while(var2.hasPrevious()) {
- if (var1.equals(var2.previous())) {
- return var2.nextIndex();
- }
- }
- }
-
- return -1;
- }
-
- public void clear() {
- this.removeRange(0, ((AbstractCollection)this).size());
- }
-
- public boolean addAll(int var1, Collection var2) {
- boolean var3 = false;
-
- for(Iterator var4 = var2.iterator(); var4.hasNext(); var3 = true) {
- this.add(var1++, var4.next());
- }
-
- return var3;
- }
-
- public Iterator iterator() {
- return new Itr(this, (1)null);
- }
-
- public ListIterator listIterator() {
- return this.listIterator(0);
- }
-
- public ListIterator listIterator(int var1) {
- if (var1 >= 0 && var1 <= ((AbstractCollection)this).size()) {
- return new ListItr(this, var1);
- } else {
- throw new IndexOutOfBoundsException("Index: " + var1);
- }
- }
-
- public List subList(int var1, int var2) {
- return new SubList(this, var1, var2);
- }
-
- public boolean equals(Object var1) {
- if (var1 == this) {
- return true;
- } else if (!(var1 instanceof List)) {
- return false;
- } else {
- ListIterator var2 = this.listIterator();
- ListIterator var3 = ((List)var1).listIterator();
-
- while(var2.hasNext() && var3.hasNext()) {
- Object var4 = var2.next();
- Object var5 = var3.next();
- if (!(var4 == null ? var5 == null : var4.equals(var5))) {
- return false;
- }
- }
-
- return !var2.hasNext() && !var3.hasNext();
- }
- }
-
- public int hashCode() {
- int var1 = 1;
-
- for(Object var3 : this) {
- var1 = 31 * var1 + (var3 == null ? 0 : var3.hashCode());
- }
-
- return var1;
- }
-
- protected void removeRange(int var1, int var2) {
- ListIterator var3 = this.listIterator(var1);
- int var4 = 0;
-
- for(int var5 = var2 - var1; var4 < var5; ++var4) {
- var3.next();
- var3.remove();
- }
-
- }
- }
-