Class Processor

java.lang.Object
com.yahoo.component.AbstractComponent
com.yahoo.component.chain.ChainedComponent
com.yahoo.processing.Processor
All Implemented Interfaces:
com.yahoo.component.Component, com.yahoo.component.Deconstructable, Comparable<com.yahoo.component.Component>
Direct Known Subclasses:
ProcessorLibrary.AsyncDataProcessingInitiator, ProcessorLibrary.BlockingSplitter, ProcessorLibrary.CombineData, ProcessorLibrary.DataCounter, ProcessorLibrary.DataSource, ProcessorLibrary.EagerReturnFederator, ProcessorLibrary.Echo, ProcessorLibrary.ErrorAdder, ProcessorLibrary.Federator, ProcessorLibrary.FutureDataSource, ProcessorLibrary.Get6DataItems, ProcessorLibrary.ListenableFutureDataSource, ProcessorLibrary.LogValueAdder, ProcessorLibrary.RequestCounter, ProcessorLibrary.StatusSetter, ProcessorLibrary.StreamProcessingInitiator, ProcessorLibrary.StringDataAdder, ProcessorLibrary.StringDataListAdder, ProcessorLibrary.Trace, RequestPropertyTracer

public abstract class Processor extends ChainedComponent
Superclass of chainable components processing Requests to create Responses.

Processors typically changes the Request and/or the Response. It may also make multiple forward requests, in series or parallel, or manufacture the response content itself or by calling an external service.

Typical usage: public class MyProcessor extends Processor { @Override public Response process(Request request, Execution execution) { // process the request here Response response = execution.process(request); // Pass along to get the Response // process (or fill in) Data/DataList items on the response here return response; } }

Author:
bratseth
  • Constructor Details

    • Processor

      public Processor()
  • Method Details

    • process

      public abstract Response process(Request request, Execution execution)
      Performs a processing request and returns the response
      Returns:
      a Response instance - never null - containing the data produced by this processor and those it forwards the request to