package com.github.davidmoten.rx.internal.operators;
import java.util.Collection;
import java.util.Iterator;
import java.util.Queue;
public class QueueWithResourcesForwarder<T> implements QueueWithResources<T> {
private final Queue<T> q;
private volatile boolean unsubscribed;
public QueueWithResourcesForwarder(Queue<T> queue) {
this.q = queue;
}
@Override
public boolean add(T e) {
return q.add(e);
}
@Override
public boolean offer(T e) {
return q.offer(e);
}
@Override
public int size() {
return q.size();
}
@Override
public boolean isEmpty() {
return q.isEmpty();
}
@Override
public boolean contains(Object o) {
return q.contains(o);
}
@Override
public T remove() {
return q.remove();
}
@Override
public T poll() {
return q.poll();
}
@Override
public T element() {
return q.element();
}
@Override
public Iterator<T> iterator() {
return q.iterator();
}
@Override
public T peek() {
return q.peek();
}
@Override
public Object[] toArray() {
return q.toArray();
}
@Override
@SuppressWarnings("hiding")
public <T> T[] toArray(T[] a) {
return q.toArray(a);
}
@Override
public boolean remove(Object o) {
return q.remove(o);
}
@Override
public boolean containsAll(Collection<?> c) {
return q.containsAll(c);
}
@Override
public boolean addAll(Collection<? extends T> c) {
return q.addAll(c);
}
@Override
public boolean removeAll(Collection<?> c) {
return q.removeAll(c);
}
@Override
public boolean retainAll(Collection<?> c) {
return q.retainAll(c);
}
@Override
public void clear() {
q.clear();
}
@Override
public boolean equals(Object o) {
return q.equals(o);
}
@Override
public int hashCode() {
return q.hashCode();
}
@Override
public void unsubscribe() {
unsubscribed = true;
}
@Override
public void freeResources() {
// do nothing
}
@Override
public boolean isUnsubscribed() {
return unsubscribed;
}
@Override
public long resourcesSize() {
return 0;
}
}