1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.collections.primitives.adapters;
18
19 import java.util.Collection;
20 import java.util.List;
21
22 import org.apache.commons.collections.primitives.CharCollection;
23 import org.apache.commons.collections.primitives.CharIterator;
24 import org.apache.commons.collections.primitives.CharList;
25 import org.apache.commons.collections.primitives.CharListIterator;
26
27
28
29
30
31
32
33 abstract class AbstractListCharList extends AbstractCollectionCharCollection implements CharList {
34
35 public void add(int index, char element) {
36 getList().add(index,new Character(element));
37 }
38
39 public boolean addAll(int index, CharCollection collection) {
40 return getList().addAll(index,CharCollectionCollection.wrap(collection));
41 }
42
43 public char get(int index) {
44 return ((Character)getList().get(index)).charValue();
45 }
46
47 public int indexOf(char element) {
48 return getList().indexOf(new Character(element));
49 }
50
51 public int lastIndexOf(char element) {
52 return getList().lastIndexOf(new Character(element));
53 }
54
55
56
57
58
59
60
61
62 public CharListIterator listIterator() {
63 return ListIteratorCharListIterator.wrap(getList().listIterator());
64 }
65
66
67
68
69
70
71
72
73 public CharListIterator listIterator(int index) {
74 return ListIteratorCharListIterator.wrap(getList().listIterator(index));
75 }
76
77 public char removeElementAt(int index) {
78 return ((Character)getList().remove(index)).charValue();
79 }
80
81 public char set(int index, char element) {
82 return ((Character)getList().set(index,new Character(element))).charValue();
83 }
84
85 public CharList subList(int fromIndex, int toIndex) {
86 return ListCharList.wrap(getList().subList(fromIndex,toIndex));
87 }
88
89 public boolean equals(Object obj) {
90 if(obj instanceof CharList) {
91 CharList that = (CharList)obj;
92 if(this == that) {
93 return true;
94 } else if(this.size() != that.size()) {
95 return false;
96 } else {
97 CharIterator thisiter = iterator();
98 CharIterator thatiter = that.iterator();
99 while(thisiter.hasNext()) {
100 if(thisiter.next() != thatiter.next()) {
101 return false;
102 }
103 }
104 return true;
105 }
106 } else {
107 return false;
108 }
109 }
110
111 public int hashCode() {
112 return getList().hashCode();
113 }
114
115 final protected Collection getCollection() {
116 return getList();
117 }
118
119 abstract protected List getList();
120 }