List of usage examples for com.google.common.collect Iterators concat
public static <T> Iterator<T> concat(final Iterator<? extends Iterator<? extends T>> inputs)
From source file:com.facebook.presto.hive.PrestoS3FileSystem.java
private Iterator<LocatedFileStatus> listPrefix(Path path) { String key = keyFromPath(path); if (!key.isEmpty()) { key += "/"; }/*from w ww . j a v a 2 s. c o m*/ ListObjectsRequest request = new ListObjectsRequest().withBucketName(uri.getHost()).withPrefix(key) .withDelimiter("/"); STATS.newListObjectsCall(); Iterator<ObjectListing> listings = new AbstractSequentialIterator<ObjectListing>(s3.listObjects(request)) { @Override protected ObjectListing computeNext(ObjectListing previous) { if (!previous.isTruncated()) { return null; } return s3.listNextBatchOfObjects(previous); } }; return Iterators.concat(Iterators.transform(listings, this::statusFromListing)); }
From source file:org.pshdl.model.impl.AbstractHDLVariableRef.java
@Override public Iterator<IHDLObject> deepIterator() { return new Iterator<IHDLObject>() { private int pos = 0; private Iterator<? extends IHDLObject> current; @Override//w w w. java 2 s .c o m public boolean hasNext() { if ((current != null) && !current.hasNext()) { current = null; } while (current == null) { switch (pos++) { case 0: if ((array != null) && (array.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(array.size()); for (final HDLExpression o : array) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; case 1: if ((bits != null) && (bits.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(bits.size()); for (final HDLRange o : bits) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; default: return false; } } return (current != null) && current.hasNext(); } @Override public IHDLObject next() { return current.next(); } @Override public void remove() { throw new IllegalArgumentException("Not supported"); } }; }
From source file:com.dataart.spreadsheetanalytics.engine.PoiWorkbookConverters.java
public PoiProxyCellIterator(PoiProxyCell[][][][] tile0) { final List<Iterator<PoiProxyCell>> iterators = new ArrayList<>(10); for (PoiProxyCell[][][] tile1 : tile0) { if (tile1 == null) { continue; }//ww w.j a v a 2s . c o m for (PoiProxyCell[][] tile2 : tile1) { if (tile2 == null) { continue; } for (PoiProxyCell[] tile3 : tile2) { if (tile3 == null) { continue; } iterators.add(Iterators.filter(Iterators.forArray(tile3), Predicates.notNull())); } } } this.iterator = Iterators.concat(iterators.iterator()); }
From source file:org.metastatic.rsync.TwoKeyMap.java
/** * Return an unmodifiable set of the SubTable objects in this class. * * @return A set of all sub-tables from this class. * @since 1.1//from www . ja va2 s . com */ public Set<Entry<ChecksumPair, T>> entrySet() { return new AbstractSet<Entry<ChecksumPair, T>>() { @Override public Iterator<Entry<ChecksumPair, T>> iterator() { Iterator<Iterator<Entry<ChecksumPair, T>>> it = Iterators.transform(map.entrySet().iterator(), new Function<Entry<Integer, Map<StrongKey, Value<T>>>, Iterator<Entry<ChecksumPair, T>>>() { @Override public Iterator<Entry<ChecksumPair, T>> apply( final Entry<Integer, Map<StrongKey, Value<T>>> input) { final Iterator<Entry<StrongKey, Value<T>>> it = input.getValue().entrySet() .iterator(); return new Iterator<Entry<ChecksumPair, T>>() { @Override public boolean hasNext() { return it.hasNext(); } @Override public Entry<ChecksumPair, T> next() { Entry<StrongKey, Value<T>> next = it.next(); return new AbstractMap.SimpleEntry<ChecksumPair, T>( new ChecksumPair(next.getValue().weakKey, next.getKey().getBytes()), next.getValue().value); } @Override public void remove() { it.remove(); } }; } }); return Iterators.concat(it); } @Override public int size() { return TwoKeyMap.this.size(); } }; }
From source file:com.splicemachine.fs.s3.PrestoS3FileSystem.java
private Iterator<LocatedFileStatus> listPrefix(Path path) { String key = keyFromPath(path); if (!key.isEmpty()) { key += PATH_SEPARATOR;// w w w . j av a2 s. c o m } ListObjectsRequest request = new ListObjectsRequest().withBucketName(uri.getHost()).withPrefix(key) .withDelimiter(PATH_SEPARATOR); STATS.newListObjectsCall(); Iterator<ObjectListing> listings = new AbstractSequentialIterator<ObjectListing>(s3.listObjects(request)) { @Override protected ObjectListing computeNext(ObjectListing previous) { if (!previous.isTruncated()) { return null; } return s3.listNextBatchOfObjects(previous); } }; return Iterators.concat(Iterators.transform(listings, this::statusFromListing)); }
From source file:org.pshdl.model.impl.AbstractHDLForLoop.java
@Override public Iterator<IHDLObject> deepIterator() { return new Iterator<IHDLObject>() { private int pos = 0; private Iterator<? extends IHDLObject> current; @Override// ww w. j a va 2 s .co m public boolean hasNext() { if ((current != null) && !current.hasNext()) { current = null; } while (current == null) { switch (pos++) { case 0: if ((range != null) && (range.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(range.size()); for (final HDLRange o : range) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; case 1: if (param != null) { current = Iterators.concat(Iterators.forArray(param), param.deepIterator()); } break; case 2: if ((dos != null) && (dos.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(dos.size()); for (final HDLStatement o : dos) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; default: return false; } } return (current != null) && current.hasNext(); } @Override public IHDLObject next() { return current.next(); } @Override public void remove() { throw new IllegalArgumentException("Not supported"); } }; }
From source file:org.pshdl.model.impl.AbstractHDLInlineFunction.java
@Override public Iterator<IHDLObject> deepIterator() { return new Iterator<IHDLObject>() { private int pos = 0; private Iterator<? extends IHDLObject> current; @Override/* w w w.j a va2s . com*/ public boolean hasNext() { if ((current != null) && !current.hasNext()) { current = null; } while (current == null) { switch (pos++) { case 0: if ((annotations != null) && (annotations.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(annotations.size()); for (final HDLAnnotation o : annotations) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; case 1: if ((args != null) && (args.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(args.size()); for (final HDLFunctionParameter o : args) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; case 2: if (returnType != null) { current = Iterators.concat(Iterators.forArray(returnType), returnType.deepIterator()); } break; case 3: if (expr != null) { current = Iterators.concat(Iterators.forArray(expr), expr.deepIterator()); } break; default: return false; } } return (current != null) && current.hasNext(); } @Override public IHDLObject next() { return current.next(); } @Override public void remove() { throw new IllegalArgumentException("Not supported"); } }; }
From source file:org.pshdl.model.impl.AbstractHDLNativeFunction.java
@Override public Iterator<IHDLObject> deepIterator() { return new Iterator<IHDLObject>() { private int pos = 0; private Iterator<? extends IHDLObject> current; @Override/*from ww w. j av a 2s.com*/ public boolean hasNext() { if ((current != null) && !current.hasNext()) { current = null; } while (current == null) { switch (pos++) { case 0: if ((annotations != null) && (annotations.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(annotations.size()); for (final HDLAnnotation o : annotations) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; case 1: if ((args != null) && (args.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(args.size()); for (final HDLFunctionParameter o : args) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; case 2: if (returnType != null) { current = Iterators.concat(Iterators.forArray(returnType), returnType.deepIterator()); } break; default: return false; } } return (current != null) && current.hasNext(); } @Override public IHDLObject next() { return current.next(); } @Override public void remove() { throw new IllegalArgumentException("Not supported"); } }; }
From source file:org.pshdl.model.impl.AbstractHDLPackage.java
@Override public Iterator<IHDLObject> deepIterator() { return new Iterator<IHDLObject>() { private int pos = 0; private Iterator<? extends IHDLObject> current; @Override/* w w w .j av a 2 s. co m*/ public boolean hasNext() { if ((current != null) && !current.hasNext()) { current = null; } while (current == null) { switch (pos++) { case 0: if ((units != null) && (units.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(units.size()); for (final HDLUnit o : units) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; case 1: if ((declarations != null) && (declarations.size() != 0)) { final List<Iterator<? extends IHDLObject>> iters = Lists .newArrayListWithCapacity(declarations.size()); for (final HDLDeclaration o : declarations) { iters.add(Iterators.forArray(o)); iters.add(o.deepIterator()); } current = Iterators.concat(iters.iterator()); } break; default: return false; } } return (current != null) && current.hasNext(); } @Override public IHDLObject next() { return current.next(); } @Override public void remove() { throw new IllegalArgumentException("Not supported"); } }; }
From source file:org.jboss.weld.manager.BeanManagerImpl.java
private <T> Iterable<T> createDynamicGlobalIterable(final Transform<T> transform) { return new Iterable<T>() { @Override/*from www . j av a 2s . com*/ public Iterator<T> iterator() { Set<Iterable<T>> result = new HashSet<Iterable<T>>(); for (BeanManagerImpl manager : managers) { result.add(transform.transform(manager)); } return Iterators .concat(Iterators.transform(result.iterator(), IterableToIteratorFunction.<T>instance())); } }; }