in uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArrayList.java [288:619]
private List<T> gl_read_pear(List<T> baseItems) {
return new List<T>() {
/*
* @see java.lang.Iterable#forEach(java.util.function.Consumer)
*/
@Override
public void forEach(Consumer<? super T> action) {
baseItems.forEach(item -> {
T pearedItem = _maybeGetPearFs(item);
action.accept(pearedItem);
});
}
/*
* @see java.util.List#size()
*/
@Override
public int size() {
return baseItems.size();
}
/*
* @see java.util.List#isEmpty()
*/
@Override
public boolean isEmpty() {
return baseItems.isEmpty();
}
/*
* @see java.util.List#contains(java.lang.Object)
*/
@Override
public boolean contains(Object o) {
return (o instanceof TOP top)
? baseItems.contains(_maybeGetBaseForPearFs(top))
: false;
}
/*
* @see java.util.List#iterator()
*/
@Override
public Iterator<T> iterator() {
return new Iterator<T>() {
Iterator<T> outerIt = baseItems.iterator();
/*
* @see java.util.Iterator#hasNext()
*/
@Override
public boolean hasNext() {
return outerIt.hasNext();
}
/*
* @see java.util.Iterator#next()
*/
@Override
public T next() {
return _maybeGetPearFs(outerIt.next());
}
};
}
/*
* @see java.util.List#toArray()
*/
@Override
public Object[] toArray() {
Object[] a = baseItems.toArray();
FSArrayList.this._casView.swapInPearVersion(a);
return a;
}
/*
* @see java.util.List#toArray(java.lang.Object[])
*/
@Override
public <U> U[] toArray(U[] a) {
U[] aa = baseItems.toArray(a);
FSArrayList.this._casView.swapInPearVersion(aa);
return aa;
}
/*
* @see java.util.List#add(java.lang.Object)
*/
@Override
public boolean add(T e) {
throw new UnsupportedOperationException();
}
/*
* @see java.util.List#remove(java.lang.Object)
*/
@Override
public boolean remove(Object o) {
throw new UnsupportedOperationException();
}
/*
* @see java.util.List#containsAll(java.util.Collection)
*/
@Override
public boolean containsAll(Collection<?> c) {
for (Object item : c) {
if (!contains(item)) {
return false;
}
}
return true;
}
/*
* @see java.util.List#addAll(java.util.Collection)
*/
@Override
public boolean addAll(Collection<? extends T> c) {
throw new UnsupportedOperationException();
}
/*
* @see java.util.List#addAll(int, java.util.Collection)
*/
@Override
public boolean addAll(int index, Collection<? extends T> c) {
throw new UnsupportedOperationException();
}
/*
* @see java.util.List#removeAll(java.util.Collection)
*/
@Override
public boolean removeAll(Collection<?> c) {
throw new UnsupportedOperationException();
}
/*
* @see java.util.List#retainAll(java.util.Collection)
*/
@Override
public boolean retainAll(Collection<?> c) {
throw new UnsupportedOperationException();
}
/*
* @see java.util.List#replaceAll(java.util.function.UnaryOperator)
*/
@Override
public void replaceAll(UnaryOperator<T> operator) {
for (int i = size() - 1; i >= 0; i--) {
baseItems.set(i, _maybeGetBaseForPearFs(
operator.apply(_maybeGetPearFs(baseItems.get(i)))));
}
}
/*
* @see java.util.Collection#removeIf(java.util.function.Predicate)
*/
@Override
public boolean removeIf(Predicate<? super T> filter) {
throw new UnsupportedOperationException();
}
/*
* @see java.util.List#sort(java.util.Comparator)
*/
@Override
public void sort(Comparator<? super T> c) {
baseItems.sort((o1, o2) -> c.compare(_maybeGetPearFs(o1), _maybeGetPearFs(o2)));
}
/*
* @see java.util.List#clear()
*/
@Override
public void clear() {
throw new UnsupportedOperationException();
}
/*
* @see java.util.List#equals(java.lang.Object)
*/
@Override
public boolean equals(Object o) {
return baseItems.equals(o);
}
/*
* @see java.util.List#hashCode()
*/
@Override
public int hashCode() {
return baseItems.hashCode();
}
/*
* @see java.util.List#get(int)
*/
@Override
public T get(int index) {
return _maybeGetPearFs(baseItems.get(index));
}
/*
* @see java.util.List#set(int, java.lang.Object)
*/
@Override
public T set(int index, T element) {
return baseItems.set(index, _maybeGetBaseForPearFs(element));
}
/*
* @see java.util.List#add(int, java.lang.Object)
*/
@Override
public void add(int index, T element) {
throw new UnsupportedOperationException();
}
/*
* @see java.util.Collection#stream()
*/
@Override
public Stream<T> stream() {
return baseItems.stream().map(item -> _maybeGetPearFs(item));
}
/*
* @see java.util.List#remove(int)
*/
@Override
public T remove(int index) {
throw new UnsupportedOperationException();
}
/*
* @see java.util.Collection#parallelStream()
*/
@Override
public Stream<T> parallelStream() {
return baseItems.parallelStream().map(item -> _maybeGetPearFs(item));
}
@Override
public int indexOf(Object o) {
return baseItems.indexOf((o instanceof TOP top) ? _maybeGetBaseForPearFs(top) : o);
}
@Override
public int lastIndexOf(Object o) {
return baseItems.lastIndexOf((o instanceof TOP top) ? _maybeGetBaseForPearFs(top) : o);
}
@Override
public ListIterator<T> listIterator() {
return listIterator(0);
}
@Override
public ListIterator<T> listIterator(int index) {
return new ListIterator<T>() {
ListIterator<T> baseIt = baseItems.listIterator(index);
@Override
public boolean hasNext() {
return baseIt.hasNext();
}
@Override
public T next() {
return _maybeGetPearFs(baseIt.next());
}
@Override
public boolean hasPrevious() {
return baseIt.hasPrevious();
}
@Override
public void forEachRemaining(Consumer<? super T> action) {
baseIt.forEachRemaining(item -> action.accept(_maybeGetPearFs(item)));
}
@Override
public T previous() {
return baseIt.previous();
}
@Override
public int nextIndex() {
return baseIt.nextIndex();
}
@Override
public int previousIndex() {
return baseIt.previousIndex();
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
@Override
public void set(T e) {
baseIt.set(_maybeGetBaseForPearFs(e));
}
@Override
public void add(T e) {
throw new UnsupportedOperationException();
}
};
}
@Override
public List<T> subList(int fromIndex, int toIndex) {
return gl_read_pear(baseItems.subList(fromIndex, toIndex));
}
@Override
public Spliterator<T> spliterator() {
return FSArrayList.this._casView.makePearAware(baseItems.spliterator());
}
};
}