/** * Wraps the source iterator as a chunked iterator. * * @param chunkSize * The chunk size. * @param src * The source iterator. */ @SuppressWarnings("unchecked") public ChunkedStriterator(final int chunkSize, final Iterator<E> src) { this((I) new ChunkedWrappedIterator<E>(src, chunkSize, null/* keyOrder */, null/* filter */)); }
/** * Return <code>true</code> if there are elements in the source iterator. */ @Override public boolean hasNext() { if(open && src.hasNext()) return true; /* * Explicit close() so we close the source also when this iterator is * exhausted. * * @see https://sourceforge.net/apps/trac/bigdata/ticket/361 */ close(); return false; }
@Override public E[] nextChunk(final IKeyOrder<E> keyOrder) { if (keyOrder == null) throw new IllegalArgumentException(); final E[] chunk = nextChunk(); if (!keyOrder.equals(getKeyOrder())) { // sort into the required order. Arrays.sort(chunk, 0, chunk.length, keyOrder.getComparator()); } return chunk; }
/** * The next element from the source iterator. */ @Override public E next() { if (!hasNext()) { throw new NoSuchElementException(); } final E e = src.next(); nelements++; return e; }
/** * The next element from the source iterator. */ @Override public E next() { if (!hasNext()) { throw new NoSuchElementException(); } final E e = src.next(); nelements++; return e; }
/** * Wraps the source iterator as a chunked iterator. * * @param chunkSize * The chunk size. * @param src * The source iterator. */ @SuppressWarnings("unchecked") public ChunkedStriterator(final int chunkSize, final Iterator<E> src) { this((I) new ChunkedWrappedIterator<E>(src, chunkSize, null/* keyOrder */, null/* filter */)); }
@Override public E[] nextChunk(final IKeyOrder<E> keyOrder) { if (keyOrder == null) throw new IllegalArgumentException(); final E[] chunk = nextChunk(); if (!keyOrder.equals(getKeyOrder())) { // sort into the required order. Arrays.sort(chunk, 0, chunk.length, keyOrder.getComparator()); } return chunk; }
public E[] nextChunk() { if (!hasNext()) {
/** * Return <code>true</code> if there are elements in the source iterator. */ @Override public boolean hasNext() { if(open && src.hasNext()) return true; /* * Explicit close() so we close the source also when this iterator is * exhausted. * * @see https://sourceforge.net/apps/trac/bigdata/ticket/361 */ close(); return false; }
/** * Wraps the source iterator as a chunked ordered iterator. * * @param chunkSize * The chunk size. * @param src * The source iterator. */ @SuppressWarnings("unchecked") public ChunkedOrderedStriterator(final int chunkSize, final Iterator<E> src) { this((I) new ChunkedWrappedIterator<E>(src, chunkSize, null/* keyOrder */, null/*filter*/)); }
public E[] nextChunk() { if (!hasNext()) {
/** * Wraps the source iterator as a chunked ordered iterator. * * @param chunkSize * The chunk size. * @param src * The source iterator. */ @SuppressWarnings("unchecked") public ChunkedOrderedStriterator(final int chunkSize, final Iterator<E> src) { this((I) new ChunkedWrappedIterator<E>(src, chunkSize, null/* keyOrder */, null/*filter*/)); }
public Chunkerator(final Iterator<E> src, final int chunkSize, final Class<? extends E> elementClass, final IKeyOrder<E> keyOrder, final IElementFilter<E> filter) { if (src == null) throw new IllegalArgumentException(); this.src = new ChunkedWrappedIterator<E>(src, chunkSize, elementClass, keyOrder, filter); }
public Chunkerator(final Iterator<E> src, final int chunkSize, final Class<? extends E> elementClass, final IKeyOrder<E> keyOrder, final IElementFilter<E> filter) { if (src == null) throw new IllegalArgumentException(); this.src = new ChunkedWrappedIterator<E>(src, chunkSize, elementClass, keyOrder, filter); }
/** * Visits nothing. */ @Override @SuppressWarnings("unchecked") public IChunkedOrderedIterator<E> iterator(final long offset, final long limit, final int capacity) { return new ChunkedWrappedIterator<E>(Collections.EMPTY_LIST.iterator()); }
/** * Visits nothing. */ @Override @SuppressWarnings("unchecked") public IChunkedOrderedIterator<E> iterator(final long offset, final long limit, final int capacity) { return new ChunkedWrappedIterator<E>(Collections.EMPTY_LIST.iterator()); }
public void test_filter() { final IChunkedIterator<Long> actual = (IChunkedIterator<Long>) new ChunkedStriterator<IChunkedIterator<Long>, Long>( Arrays.asList(new Long[] { 1L, 3L, 5L }).iterator()) .addFilter(new Appender<IChunkedIterator<Long>, Long>( new ChunkedWrappedIterator<Long>(Arrays.asList( new Long[] { 2L, 3L, 4L }).iterator()))); assertEquals(new Long[] { // 1L, 3L, 5L, // src1 2L, 3L, 4L, // src2 }, actual.nextChunk()); }
public void test_filter() { final IChunkedIterator<Long> actual = (IChunkedIterator<Long>) new ChunkedStriterator<IChunkedIterator<Long>, Long>( Arrays.asList(new Long[] { 1L, 3L, 5L }).iterator()) .addFilter(new MergeFilter<IChunkedIterator<Long>, Long>( new ChunkedWrappedIterator<Long>(Arrays.asList( new Long[] { 2L, 3L, 4L }).iterator()))); assertEquals(new Long[] { 1L, 2L, 3L, 4L, 5L }, actual.nextChunk()); }
public void test_filter() { final IChunkedIterator<Long> actual = (IChunkedIterator<Long>) new ChunkedStriterator<IChunkedIterator<Long>, Long>( Arrays.asList(new Long[] { 1L, 3L, 5L }).iterator()) .addFilter(new MergeFilter<IChunkedIterator<Long>, Long>( new ChunkedWrappedIterator<Long>(Arrays.asList( new Long[] { 2L, 3L, 4L }).iterator()))); assertEquals(new Long[] { 1L, 2L, 3L, 4L, 5L }, actual.nextChunk()); }
public void test_filter() { final IChunkedIterator<Long> actual = (IChunkedIterator<Long>) new ChunkedStriterator<IChunkedIterator<Long>, Long>( Arrays.asList(new Long[] { 1L, 3L, 5L }).iterator()) .addFilter(new Appender<IChunkedIterator<Long>, Long>( new ChunkedWrappedIterator<Long>(Arrays.asList( new Long[] { 2L, 3L, 4L }).iterator()))); assertEquals(new Long[] { // 1L, 3L, 5L, // src1 2L, 3L, 4L, // src2 }, actual.nextChunk()); }