List of usage examples for com.google.common.collect AbstractSequentialIterator AbstractSequentialIterator
protected AbstractSequentialIterator(@Nullable T firstOrNull)
From source file:com.proofpoint.event.collector.combiner.S3PrefixListing.java
@Override public Iterator<String> iterator() { Iterator<ObjectListing> objectListings = new AbstractSequentialIterator<ObjectListing>( s3Client.listObjects(listObjectsRequest)) { @Override//from w w w . j a v a 2 s . co m protected ObjectListing computeNext(ObjectListing previous) { if (!previous.isTruncated()) { return null; } return s3Client.listNextBatchOfObjects(previous); } }; return Iterators .concat(Iterators.transform(objectListings, new Function<ObjectListing, Iterator<String>>() { @Override public Iterator<String> apply(ObjectListing input) { return input.getCommonPrefixes().iterator(); } })); }
From source file:com.proofpoint.event.collector.combiner.S3ObjectListing.java
@Override public Iterator<S3ObjectSummary> iterator() { Iterator<ObjectListing> objectListings = new AbstractSequentialIterator<ObjectListing>( s3Client.listObjects(listObjectsRequest)) { @Override/* ww w . j a v a 2 s . c o m*/ protected ObjectListing computeNext(ObjectListing previous) { if (!previous.isTruncated()) { return null; } return s3Client.listNextBatchOfObjects(previous); } }; return Iterators.concat( Iterators.transform(objectListings, new Function<ObjectListing, Iterator<S3ObjectSummary>>() { @Override public Iterator<S3ObjectSummary> apply(ObjectListing input) { return input.getObjectSummaries().iterator(); } })); }
From source file:org.apache.aurora.scheduler.http.api.security.ShiroAuthorizingParamInterceptor.java
/** * Return each method in the inheritance hierarchy of method in the order described by * {@link AuthorizingParam}./*from w ww . j a v a 2s . c o m*/ * * @see org.apache.aurora.scheduler.http.api.security.AuthorizingParam */ private static Iterable<Method> getCandidateMethods(final Method method) { return () -> new AbstractSequentialIterator<Method>(method) { @Override protected Method computeNext(Method previous) { String name = previous.getName(); Class<?>[] parameterTypes = previous.getParameterTypes(); Class<?> declaringClass = previous.getDeclaringClass(); if (declaringClass.isInterface()) { return null; } Iterable<Class<?>> searchOrder = ImmutableList.<Class<?>>builder() .addAll(Optional.fromNullable(declaringClass.getSuperclass()).asSet()) .addAll(ImmutableList.copyOf(declaringClass.getInterfaces())).build(); for (Class<?> klazz : searchOrder) { try { return klazz.getMethod(name, parameterTypes); } catch (NoSuchMethodException ignored) { // Expected. } } return null; } }; }
From source file:edu.mit.streamjit.util.bytecode.Klass.java
/** * Returns an iterable of all superclasses of this class, in ascending * order; thus, the first class is the immediate superclass. * @return an an iterable of all superclasses of this class *//*from ww w. j ava 2 s.c om*/ public Iterable<Klass> superclasses() { return new Iterable<Klass>() { @Override public Iterator<Klass> iterator() { return new AbstractSequentialIterator<Klass>(getSuperclass()) { @Override protected Klass computeNext(Klass previous) { return previous.getSuperclass(); } }; } }; }
From source file:com.facebook.presto.hive.PrestoS3FileSystem.java
private Iterator<LocatedFileStatus> listPrefix(Path path) { String key = keyFromPath(path); if (!key.isEmpty()) { key += "/"; }//from ww w .j a v a2s. co 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:google.registry.util.CidrAddressBlock.java
@Override public Iterator<InetAddress> iterator() { return new AbstractSequentialIterator<InetAddress>(ip) { @Override/* w w w. j a v a2 s . c o m*/ protected InetAddress computeNext(InetAddress previous) { if (InetAddresses.isMaximum(previous)) { return null; } InetAddress next = InetAddresses.increment(previous); return (contains(next)) ? next : null; } }; }
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;//from www . j ava 2s . 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:io.prestosql.plugin.hive.s3.PrestoS3FileSystem.java
private Iterator<LocatedFileStatus> listPrefix(Path path) { String key = keyFromPath(path); if (!key.isEmpty()) { key += PATH_SEPARATOR;//from ww w . j av a2s . co m } ListObjectsRequest request = new ListObjectsRequest().withBucketName(getBucketName(uri)).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:com.google.cloud.genomics.utils.Paginator.java
/** * Search for objects. Warning: the returned {@link Iterable} may throw {@link SearchException} * during iteration; users are encouraged to call * {@link #search(Object, GenomicsRequestInitializer, Callback, RetryPolicy)} instead. * * @param request The search request.//from w ww. j a va 2 s . c o m * @param initializer The {@link GenomicsRequestInitializer} to initialize requests with. * @param retryPolicy A retry policy specifying behavior when a request fails * (usually due to SocketTimeoutExceptions) * @return A lazy stream of search results. */ public final Iterable<ItemT> search(final RequestT request, final GenomicsRequestInitializer<? super RequestSubT> initializer, final RetryPolicy retryPolicy) { final ApiT api = getApi(genomics); return FluentIterable.from(new Iterable<Pair>() { @Override public Iterator<Pair> iterator() { try { return new AbstractSequentialIterator<Pair>( new Pair(createSearch(api, request, Optional.<String>absent()), null)) { @Override protected Pair computeNext(Pair pair) { return Optional.fromNullable(pair.request).transform(new Function<RequestSubT, Pair>() { @Override public Pair apply(RequestSubT search) { try { initializer.initialize(search); ResponseT response = retryPolicy.execute(search); Optional<String> pageToken = Optional .fromNullable(Strings.emptyToNull(getNextPageToken(response))); return new Pair( pageToken.isPresent() ? createSearch(api, request, pageToken) : null, response); } catch (IOException e) { throw new SearchException(e); } } }).orNull(); } }; } catch (IOException e) { throw new SearchException(e); } } }).skip(1).transform(new Function<Pair, ResponseT>() { @Override public ResponseT apply(Pair pair) { return pair.response; } }).transformAndConcat(new Function<ResponseT, Iterable<ItemT>>() { @Override public Iterable<ItemT> apply(ResponseT response) { return Optional.fromNullable(getResponses(response)).or(Collections.<ItemT>emptyList()); } }); }
From source file:io.prestosql.plugin.hive.parquet.AbstractTestParquetReader.java
private static Iterable<Double> doubleSequence(double start, double step, int items) { return () -> new AbstractSequentialIterator<Double>(start) { private int item; @Override/*from ww w . j a v a 2 s .c om*/ protected Double computeNext(Double previous) { if (item >= items) { return null; } item++; return previous + step; } }; }