# Package org.apache.turbine.pipeline

The Turbine processing pipeline is modeled after the pipeline found in Tomcat 4.0.1 (Catalina), and after the module architecture found in Apache httpd.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Pipeline | The idea of a pipeline is being taken from Catalina in its entirety :-) I would like to take the idea further and implement Valves instead of hardcoding particular methods in a pipeline.
  PipelineData | A PipelineData is a holder for data being passed from one Valve to the next.
  Valve | A Valve is a request processing component.
  ValveContext | A ValveContext is the mechanism by which a Valve can trigger the execution of the next Valve in a Pipeline, without having to know anything about the internal implementation mechanisms.

- Class Summary
  Class | Description
  --- | ---
  AbstractValve | Valve that can be used as the basis of Valve implementations.
  CleanUpValve | Implements the RunData target portion of the "Turbine classic" processing pipeline (from the Turbine 2.x series).
  DefaultACLCreationValve | Implements the action portion of the "Turbine classic" processing pipeline (from the Turbine 2.x series).
  DefaultLoginValve | Handles the Login and Logout actions in the request process cycle.
  DefaultPipelineData | A PipelineData is a holder for data being passed from one Valve to the next.
  DefaultSessionTimeoutValve | Implements the action portion of the "Turbine classic" processing pipeline (from the Turbine 2.x series).
  DefaultSessionValidationValve | Implements the action portion of the "Turbine classic" processing pipeline (from the Turbine 2.x series).
  DetermineActionValve | This valve is responsible for setting the 'action' property of RunData based on request parameter.
  DetermineRedirectRequestedValve | Implements the Redirect Requested portion of the "Turbine classic" processing pipeline (from the Turbine 2.x series).
  DetermineTargetValve | This valve is responsible for setting the 'target' property of the RunData.
  ExecutePageValve | Implements the Page Generation portion of the "Turbine classic" processing pipeline (from the Turbine 2.x series).
  TurbinePipeline | Flexible implementation of a `Pipeline`.
  XmlValve | A JAXB Class for holding the class name of a valve.
  XmlValveAdapter | Creates Valve objects.

## Package org.apache.turbine.pipeline Description

The Turbine processing pipeline is modeled after the pipeline found in Tomcat 4.0.1 (Catalina), and after the module architecture found in Apache httpd. It is extensible both laterally and vertically via Valve additions and default Valve implementations (respectively). Even the semantics of the default Turbine Pipeline (ClassicPipeline) can be changed by replacing or extending the implementation with a custom one.

As with Catalina, Turbine's Pipeline and Valve configuration is setup via XML: `<pipeline name="default"> <valves> <valve>org.apache.turbine.pipeline.DetermineActionValve</valve> <valve>org.apache.turbine.pipeline.DetermineTargetValve</valve> <valve>org.apache.turbine.pipeline.DefaultSessionTimeoutValve</valve> <valve>org.apache.turbine.pipeline.DefaultLoginValve</valve> <valve>org.apache.turbine.pipeline.DefaultSessionValidationValve</valve> <valve>org.apache.turbine.pipeline.DefaultACLCreationValve</valve> <valve>org.apache.turbine.pipeline.ExecutePageValve</valve> <valve>org.apache.turbine.pipeline.CleanUpValve</valve> <valve>org.apache.turbine.pipeline.DetermineRedirectRequestedValve</valve> </valves> </pipeline>`

Please direct all comments, fixes, and enhancements to the development list.

Copyright © 2000–2018 The Apache Software Foundation. All rights reserved.