This is the App Engine Java Pipeline framework. See the user's guide for a fuller description.

The user should create one or more Jobs, which are subclasses of of one of the {@code Jobn} classes, i.e. {@link com.google.appengine.tools.pipeline.Job0 Job0}, {@link com.google.appengine.tools.pipeline.Job1 Job1}, {@link com.google.appengine.tools.pipeline.Job2 Job2}, etc.

In the Job class the user must define a run method. From within the run method the user may invoke any of the family of {@link com.google.appengine.tools.pipeline.Job#futureCall(com.google.appengine.tools.pipeline.Job2, com.google.appengine.tools.pipeline.Value, com.google.appengine.tools.pipeline.Value,com.google.appengine.tools.pipeline.JobSetting...) futureCall} methods passing the {@link com.google.appengine.tools.pipeline.FutureValue FutureValues} returned from one call into other calls in order to describe a child job-graph.

To start a new pipeline first obtain a {@link com.google.appengine.tools.pipeline.PipelineService PipelineService} using {@link com.google.appengine.tools.pipeline.PipelineServiceFactory#newPipelineService()} and then use one of the {@link com.google.appengine.tools.pipeline.PipelineService#startNewPipeline(com.google.appengine.tools.pipeline.Job0, com.google.appengine.tools.pipeline.JobSetting...) PipelineService.startNewPipeline()} family of methods.