197 lines
4.1 KiB
Java
197 lines
4.1 KiB
Java
package io.gitlab.jfronny.gson.compile.processor.util;
|
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
import java.util.*;
|
|
import java.util.function.*;
|
|
import java.util.stream.Stream;
|
|
|
|
public class DelegateList<T> implements List<T> {
|
|
private final List<T> delegate;
|
|
|
|
public DelegateList(List<T> delegate) {
|
|
Objects.requireNonNull(delegate);
|
|
this.delegate = delegate instanceof DelegateList<T> dl ? dl.unwrap() : delegate;
|
|
}
|
|
|
|
@Override
|
|
public int size() {
|
|
return delegate.size();
|
|
}
|
|
|
|
@Override
|
|
public boolean isEmpty() {
|
|
return delegate.isEmpty();
|
|
}
|
|
|
|
@Override
|
|
public boolean contains(Object o) {
|
|
return delegate.contains(o);
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public Iterator<T> iterator() {
|
|
return delegate.iterator();
|
|
}
|
|
|
|
@Override
|
|
public void forEach(Consumer<? super T> action) {
|
|
delegate.forEach(action);
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public Object[] toArray() {
|
|
return delegate.toArray();
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public <T1> T1[] toArray(@NotNull T1[] t1s) {
|
|
return delegate.toArray(t1s);
|
|
}
|
|
|
|
@Override
|
|
public <T1> T1[] toArray(IntFunction<T1[]> generator) {
|
|
return delegate.toArray(generator);
|
|
}
|
|
|
|
@Override
|
|
public boolean add(T t) {
|
|
return delegate.add(t);
|
|
}
|
|
|
|
@Override
|
|
public boolean remove(Object o) {
|
|
return delegate.remove(o);
|
|
}
|
|
|
|
@Override
|
|
public boolean containsAll(@NotNull Collection<?> collection) {
|
|
return delegate.containsAll(collection);
|
|
}
|
|
|
|
@Override
|
|
public boolean addAll(@NotNull Collection<? extends T> collection) {
|
|
return delegate.addAll(collection);
|
|
}
|
|
|
|
@Override
|
|
public boolean addAll(int i, @NotNull Collection<? extends T> collection) {
|
|
return delegate.addAll(i, collection);
|
|
}
|
|
|
|
@Override
|
|
public boolean removeAll(@NotNull Collection<?> collection) {
|
|
return delegate.removeAll(collection);
|
|
}
|
|
|
|
@Override
|
|
public boolean removeIf(Predicate<? super T> filter) {
|
|
return delegate.removeIf(filter);
|
|
}
|
|
|
|
@Override
|
|
public boolean retainAll(@NotNull Collection<?> collection) {
|
|
return delegate.retainAll(collection);
|
|
}
|
|
|
|
@Override
|
|
public void replaceAll(UnaryOperator<T> operator) {
|
|
delegate.replaceAll(operator);
|
|
}
|
|
|
|
@Override
|
|
public void sort(Comparator<? super T> c) {
|
|
delegate.sort(c);
|
|
}
|
|
|
|
@Override
|
|
public void clear() {
|
|
delegate.clear();
|
|
}
|
|
|
|
@Override
|
|
public T get(int i) {
|
|
return delegate.get(i);
|
|
}
|
|
|
|
@Override
|
|
public T set(int i, T t) {
|
|
return delegate.set(i, t);
|
|
}
|
|
|
|
@Override
|
|
public void add(int i, T t) {
|
|
delegate.add(i, t);
|
|
}
|
|
|
|
@Override
|
|
public T remove(int i) {
|
|
return delegate.remove(i);
|
|
}
|
|
|
|
@Override
|
|
public int indexOf(Object o) {
|
|
return delegate.indexOf(o);
|
|
}
|
|
|
|
@Override
|
|
public int lastIndexOf(Object o) {
|
|
return delegate.lastIndexOf(o);
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public ListIterator<T> listIterator() {
|
|
return delegate.listIterator();
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public ListIterator<T> listIterator(int i) {
|
|
return delegate.listIterator(i);
|
|
}
|
|
|
|
@NotNull
|
|
@Override
|
|
public List<T> subList(int i, int i1) {
|
|
return delegate.subList(i, i1);
|
|
}
|
|
|
|
@Override
|
|
public Spliterator<T> spliterator() {
|
|
return delegate.spliterator();
|
|
}
|
|
|
|
@Override
|
|
public Stream<T> stream() {
|
|
return delegate.stream();
|
|
}
|
|
|
|
@Override
|
|
public Stream<T> parallelStream() {
|
|
return delegate.parallelStream();
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return delegate.hashCode();
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object obj) {
|
|
return obj instanceof DelegateList<?> dl ? delegate.equals(dl.delegate) : delegate.equals(obj);
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return delegate.toString();
|
|
}
|
|
|
|
private List<T> unwrap() {
|
|
return delegate instanceof DelegateList<T> dl ? dl.unwrap() : delegate;
|
|
}
|
|
}
|