Example usage for com.google.common.collect UnmodifiableIterator remove

List of usage examples for com.google.common.collect UnmodifiableIterator remove

Introduction

In this page you can find the example usage for com.google.common.collect UnmodifiableIterator remove.

Prototype

@Deprecated
@Override
public final void remove() 

Source Link

Document

Guaranteed to throw an exception and leave the underlying data unmodified.

Usage

From source file:org.kitesdk.data.hbase.DaoView.java

@Override
public DatasetReader<E> newReader() {
    final DatasetReader<E> wrappedReader = newEntityScanner();
    final UnmodifiableIterator<E> filteredIterator = Iterators.filter(wrappedReader.iterator(),
            constraints.toEntityPredicate());
    AbstractDatasetReader<E> reader = new AbstractDatasetReader<E>() {
        @Override/*from  w w  w. j  a va2s.com*/
        public void initialize() {
            if (wrappedReader instanceof InitializeAccessor) {
                ((InitializeAccessor) wrappedReader).initialize();
            }
        }

        @Override
        public boolean hasNext() {
            Preconditions.checkState(isOpen(), "Attempt to read from a scanner that is not open");
            return filteredIterator.hasNext();
        }

        @Override
        public E next() {
            Preconditions.checkState(isOpen(), "Attempt to read from a scanner that is not open");
            return filteredIterator.next();
        }

        @Override
        public void remove() {
            Preconditions.checkState(isOpen(), "Attempt to read from a scanner that is not open");
            filteredIterator.remove();
        }

        @Override
        public void close() {
            wrappedReader.close();
        }

        @Override
        public boolean isOpen() {
            return wrappedReader.isOpen();
        }

        @Override
        public Iterator<E> iterator() {
            return filteredIterator;
        }
    };
    reader.initialize();
    return reader;
}