Class Stages
java.lang.Object
org.glassfish.jersey.process.internal.Stages
A stage-related collection of utility methods.
- Author:
- Marek Potociar
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classLinked linear stage implementation. -
Method Summary
Modifier and TypeMethodDescriptionstatic <DATA,RESULT>
Stage<DATA>Creates a terminalStagethat implementsInflectinginterface and returns the providedInflectorinstance when theInflecting.inflector()method is called.static <DATA> Stage.Builder<DATA>Start building a stage chain.static <DATA> Stage.Builder<DATA>chain(ChainableStage<DATA> rootStage) Start building a stage chain.static <DATA,RESULT, T extends Inflector<DATA, RESULT>>
TextractInflector(Object stage) (Optionally) extracts aninflectorfrom a processing stage, provided the stage implementsInflectinginterface.static <DATA> ChainableStage<DATA>identity()Get a chainable "identity" stage.static <DATA> DATARun the data through a chain of stages identified by the root stage.static <DATA,RESULT, T extends Inflector<DATA, RESULT>>
DATARun the data through a chain of stages identified by the root stage.
-
Method Details
-
identity
Get a chainable "identity" stage. This stage, when applied returns the unmodified input data object as part of it's continuation.- Type Parameters:
DATA- data type transformable by the stage.- Returns:
- identity stage.
-
asStage
Creates a terminalStagethat implementsInflectinginterface and returns the providedInflectorinstance when theInflecting.inflector()method is called.- Type Parameters:
DATA- data type transformable by the stage and returned inflector.RESULT- type of result produced by a successful inflector data transformation.- Parameters:
inflector- a request to response transformation to be wrapped in a stage.- Returns:
- a stage that wraps the supplied
Inflector.
-
extractInflector
(Optionally) extracts aninflectorfrom a processing stage, provided the stage implementsInflectinginterface. Otherwise method returnsnull.- Type Parameters:
DATA- data type transformable by the stage and returned inflector.RESULT- type of result produced by a successful inflector data transformation.- Parameters:
stage- a stage to extract the inflector from.- Returns:
- extracted inflector if present,
nullotherwise.
-
chain
Start building a stage chain.- Parameters:
transformation- root transformation function.- Returns:
- linear accepting chain builder.
-
chain
Start building a stage chain.- Parameters:
rootStage- rootchainable linear stage.- Returns:
- linear accepting chain builder.
-
process
Run the data through a chain of stages identified by the root stage.- Type Parameters:
DATA- processed data type.- Parameters:
data- data to be processed.rootStage- root stage of the stage chain.- Returns:
- processing result.
-
process
public static <DATA,RESULT, DATA processT extends Inflector<DATA, RESULT>> (DATA data, Stage<DATA> rootStage, Ref<T> inflectorRef) Run the data through a chain of stages identified by the root stage. If an inflector is found in the leaf stage, it's reference is set into theinflectorRefparameter.- Type Parameters:
DATA- processed data type.- Parameters:
data- data to be processed.rootStage- root stage of the stage chain.inflectorRef- a mutable reference to an inflector.- Returns:
- processing result.
-