Class BaseCallerArg0ToIteratorOfListPage<T,O extends ListOptions,I extends BaseCallerArg0ToIteratorOfListPage<T,O,I>>

java.lang.Object
org.jclouds.googlecloud.internal.BaseCallerArg0ToIteratorOfListPage<T,O,I>
All Implemented Interfaces:
com.google.common.base.Function<ListPage<T>,Iterator<ListPage<T>>>, Function<ListPage<T>,Iterator<ListPage<T>>>, InvocationContext<I>
Direct Known Subclasses:
BaseCallerArg0ToIteratorOfListPage

public abstract class BaseCallerArg0ToIteratorOfListPage<T,O extends ListOptions,I extends BaseCallerArg0ToIteratorOfListPage<T,O,I>> extends Object implements com.google.common.base.Function<ListPage<T>,Iterator<ListPage<T>>>, InvocationContext<I>
  • Constructor Details

    • BaseCallerArg0ToIteratorOfListPage

      public BaseCallerArg0ToIteratorOfListPage()
  • Method Details

    • apply

      public Iterator<ListPage<T>> apply(ListPage<T> input)
      Specified by:
      apply in interface com.google.common.base.Function<T,O extends ListOptions>
      Specified by:
      apply in interface Function<T,O extends ListOptions>
    • fetchNextPage

      protected abstract com.google.common.base.Function<String,ListPage<T>> fetchNextPage(String callerArg0, O options)
      This is used when you need to close over the argument that created the api.

      For example, callerArg0 will become "myzone", which you can use to ensure the next page goes to the same zone:

      api.instancesInZone("myzone").list()
    • setContext

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