Package com.easydesk.pipeline
Interface Valve
- All Known Implementing Classes:
AbstractDefaultValve,AddItemValve,AttributeOptionValve,BaseGrantUserValve,BasketItemDependValve,BeforeNotificationValve,BranchPointValve,ConditionalValve,DependTypeMatchingConditionValve,GlobalGrantUserValve,GrantUserValve,GroupCurriculumRelationDependValve,ItemTypeValve,ModifiedValve,ModuleAttributeOptionValve,ModuleAttributeValve,ModuleCategoryConditionValve,ModuleMatchingConditionValve,NotificationValve,OnEndNotificationValve,OptionOptionValve,QuizQuizGroupDependValve,QuizSheetDependValve,SetExecuteContextValve,StepPlanStudyPlanDependValve,TransitionValve,UpdateAttributeOptionValve,UpdateAttributeValueOptionValve,UpdateAttributeValueValve,UpdateItemValve,WebGrantUserValve
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
A Valve is a request processing component. A series of Valves are generally associated with each other into
a Pipeline. The detailed contract for a Valve is included in the description of the invoke() method
below.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault StringDOCUMENT ME!default StringgetValue()DOCUMENT ME!default voidInitialize the valve before using in a pipeline.voidinvoke(PipelineData pipelineData, ValveContext context) Perform request processing as required by this Valve.default voidsetPipeline(String pipeline) DOCUMENT ME!default voidDOCUMENT ME!
-
Method Details
-
invoke
Perform request processing as required by this Valve.
An individual Valve MAY perform the following actions, in the specified order:
- Examine and/or modify the properties of the specified Request and Response.
- Examine the properties of the specified Request, completely generate the corresponding Response, and return control to the caller.
- Examine the properties of the specified Request and Response, wrap either or both of these objects to supplement their functionality, and pass them on.
- If the corresponding Response was not generated (and control was not returned, call the next Valve in the
pipeline (if there is one) by executing
context.invokeNext(). - Examine, but not modify, the properties of the resulting Response (which was created by a subsequently
invoked Valve via a call to
context.invokeNext()).
A Valve MUST NOT do any of the following things:
- Change request properties that have already been used to direct the flow of processing control for this request.
- Create a completed Response AND pass this Request and Response on to the next Valve in the pipeline.
- Consume bytes from the input stream associated with the Request, unless it is completely generating the response, or wrapping the request before passing it on.
- Modify the HTTP headers included with the Response after the
invokeNext()method has returned. - Perform any actions on the output stream associated with the specified Response after the
invokeNext()method has returned.
- Parameters:
pipelineData- The run-time information pipelineDatacontext- The valve context used to invoke the next valve in the current processing pipeline- Throws:
IOException- Thrown by a subsequent Valve.PipelineException
-
initialize
Initialize the valve before using in a pipeline.- Throws:
Exception- if initialization fails
-
getValue
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
setValue
DOCUMENT ME!- Parameters:
value- DOCUMENT ME!
-
getPipeline
DOCUMENT ME!- Returns:
- DOCUMENT ME!
-
setPipeline
DOCUMENT ME!- Parameters:
pipeline- DOCUMENT ME!
-