Class RequestAttributeAnnotationBinder<T>
java.lang.Object
io.micronaut.core.bind.annotation.AbstractArgumentBinder<T>
io.micronaut.http.bind.binders.RequestAttributeAnnotationBinder<T>
- Type Parameters:
T- A type
- All Implemented Interfaces:
AnnotatedArgumentBinder<RequestAttribute, T, HttpRequest<?>>, ArgumentBinder<T, HttpRequest<?>>, AnnotatedRequestArgumentBinder<RequestAttribute, T>, PostponedRequestArgumentBinder<T>, RequestArgumentBinder<T>
public class RequestAttributeAnnotationBinder<T>
extends AbstractArgumentBinder<T>
implements AnnotatedRequestArgumentBinder<RequestAttribute, T>, PostponedRequestArgumentBinder<T>
An
AnnotatedArgumentBinder implementation that uses the RequestAttribute
annotation to trigger binding from an HTTP request attribute.
NOTE: The binder is annotating as postponed to allow injecting attributes added by filters.- Author:
- Ahmed Lafta
-
Nested Class Summary
Nested classes/interfaces inherited from interface ArgumentBinder
ArgumentBinder.BindingResult<T> -
Field Summary
Fields inherited from class AbstractArgumentBinder
conversionService -
Constructor Summary
ConstructorsConstructorDescriptionRequestAttributeAnnotationBinder(ConversionService conversionService) RequestAttributeAnnotationBinder(ConversionService conversionService, Argument<T> argument) -
Method Summary
Modifier and TypeMethodDescriptionbind(ArgumentConversionContext<T> argument, HttpRequest<?> source) Bind the given argument from the given source.createSpecific(Argument<T> argument) Create a specific binder.protected StringgetFallbackFormat(Argument<?> argument) protected StringgetParameterName(Argument<T> argument) Find the parameter name.Methods inherited from class AbstractArgumentBinder
doBind, doBind, doBind, doBind, doConvert, doConvert, doResolve, doResolve, resolvedParameterNameMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface PostponedRequestArgumentBinder
bindPostponed
-
Constructor Details
-
RequestAttributeAnnotationBinder
- Parameters:
conversionService- conversionService
-
RequestAttributeAnnotationBinder
- Parameters:
conversionService- conversionServiceargument- argument
-
-
Method Details
-
createSpecific
Description copied from interface:RequestArgumentBinderCreate a specific binder.- Specified by:
createSpecificin interfaceArgumentBinder<T, HttpRequest<?>>- Specified by:
createSpecificin interfaceRequestArgumentBinder<T>- Parameters:
argument- The bound argument- Returns:
- The specific binder
-
getAnnotationType
- Specified by:
getAnnotationTypein interfaceAnnotatedArgumentBinder<RequestAttribute, T, HttpRequest<?>>- Returns:
- The annotation type.
-
bind
public ArgumentBinder.BindingResult<T> bind(ArgumentConversionContext<T> argument, HttpRequest<?> source) Description copied from interface:ArgumentBinderBind the given argument from the given source.- Specified by:
bindin interfaceArgumentBinder<T, HttpRequest<?>>- Parameters:
argument- TheArgumentConversionContextsource- The source- Returns:
- An
Optionalof the value. If no binding was possibleOptional.empty()
-
getParameterName
Description copied from class:AbstractArgumentBinderFind the parameter name.- Overrides:
getParameterNamein classAbstractArgumentBinder<T>- Parameters:
argument- The argument- Returns:
- The name
-
getFallbackFormat
- Overrides:
getFallbackFormatin classAbstractArgumentBinder<T>- Parameters:
argument- The argument- Returns:
- The fallback format
-