Skip to content

Commit 948fe5f

Browse files
committed
Column: add default methods for Collection/List
1 parent c15e3e1 commit 948fe5f

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

src/main/java/org/scijava/table/Column.java

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@
3030

3131
package org.scijava.table;
3232

33+
import java.util.Collection;
34+
import java.util.Iterator;
3335
import java.util.List;
36+
import java.util.ListIterator;
3437

3538
import org.scijava.util.Sizable;
3639

@@ -59,4 +62,60 @@ public interface Column<T> extends List<T>, Sizable {
5962
/** Returns the actual type of data stored in the column. */
6063
Class<T> getType();
6164

65+
// -- List and Collection methods --
66+
67+
@Override
68+
default boolean isEmpty() {
69+
return size() == 0;
70+
}
71+
72+
@Override
73+
default boolean contains(final Object o) {
74+
return indexOf(o) >= 0;
75+
}
76+
77+
@Override
78+
default Iterator<T> iterator() {
79+
return listIterator();
80+
}
81+
82+
@Override
83+
default Object[] toArray() {
84+
return SimpleCollections.toArray(this);
85+
}
86+
87+
@Override
88+
default <E> E[] toArray(E[] a) {
89+
return SimpleCollections.toArray(this, a);
90+
}
91+
92+
@Override
93+
default boolean containsAll(Collection<?> c) {
94+
return SimpleCollections.containsAll(this, c);
95+
}
96+
97+
@Override
98+
default int indexOf(Object o) {
99+
return SimpleCollections.indexOf(this, o);
100+
}
101+
102+
@Override
103+
default int lastIndexOf(Object o) {
104+
return SimpleCollections.lastIndexOf(this, o);
105+
}
106+
107+
@Override
108+
default ListIterator<T> listIterator() {
109+
return listIterator(0);
110+
}
111+
112+
@Override
113+
default ListIterator<T> listIterator(final int index) {
114+
return SimpleCollections.listIterator(this, index);
115+
}
116+
117+
@Override
118+
default List<T> subList(int fromIndex, int toIndex) {
119+
return SimpleCollections.subList(this, fromIndex, toIndex);
120+
}
62121
}

0 commit comments

Comments
 (0)