org.jclouds.collect.internal
Class Arg0ToPagedIterable<T,I extends Arg0ToPagedIterable<T,I>>

java.lang.Object
  extended by org.jclouds.collect.internal.Arg0ToPagedIterable<T,I>
All Implemented Interfaces:
com.google.common.base.Function<IterableWithMarker<T>,PagedIterable<T>>, InvocationContext<I>
Direct Known Subclasses:
Arg0ToPagedIterable.FromCaller

@Beta
public abstract class Arg0ToPagedIterable<T,I extends Arg0ToPagedIterable<T,I>>
extends Object
implements com.google.common.base.Function<IterableWithMarker<T>,PagedIterable<T>>, InvocationContext<I>

Used to propagate arg0 during an advance in a PagedIterable. For example, in the call api.getUserApi().listPathPrefix("/users"), the arg0 is the value "/users".

Author:
Adrian Cole

Nested Class Summary
static class Arg0ToPagedIterable.FromCaller<T,I extends Arg0ToPagedIterable.FromCaller<T,I>>
          Used to propagate caller arg0 to a callee during an advance in a PagedIterable.
 
Constructor Summary
Arg0ToPagedIterable()
           
 
Method Summary
 PagedIterable<T> apply(IterableWithMarker<T> input)
           
protected  List<Object> getArgs(GeneratedHttpRequest request)
           
protected abstract  com.google.common.base.Function<Object,IterableWithMarker<T>> markerToNextForArg0(com.google.common.base.Optional<Object> arg0)
           
 I setContext(HttpRequest request)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.google.common.base.Function
equals
 

Constructor Detail

Arg0ToPagedIterable

public Arg0ToPagedIterable()
Method Detail

apply

public PagedIterable<T> apply(IterableWithMarker<T> input)
Specified by:
apply in interface com.google.common.base.Function<IterableWithMarker<T>,PagedIterable<T>>

getArgs

protected List<Object> getArgs(GeneratedHttpRequest request)

markerToNextForArg0

protected abstract com.google.common.base.Function<Object,IterableWithMarker<T>> markerToNextForArg0(com.google.common.base.Optional<Object> arg0)
Parameters:
arg0 - present when there was an arg0

setContext

public I setContext(HttpRequest request)
Specified by:
setContext in interface InvocationContext<I extends Arg0ToPagedIterable<T,I>>


Copyright © 2009-2013 jclouds. All Rights Reserved.