Class HandlerMethodArgumentResolverComposite
java.lang.Object
org.springframework.graphql.data.method.HandlerMethodArgumentResolverComposite
- All Implemented Interfaces:
HandlerMethodArgumentResolver
public class HandlerMethodArgumentResolverComposite
extends Object
implements HandlerMethodArgumentResolver
Resolves method parameters by delegating to a list of registered
HandlerMethodArgumentResolver's.
Previously resolved method parameters are cached for faster lookups.- Since:
- 1.0.0
- Author:
- Rossen Stoyanchev
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddResolver(HandlerMethodArgumentResolver resolver) Add the givenHandlerMethodArgumentResolver.getArgumentResolver(MethodParameter parameter) Find a registeredHandlerMethodArgumentResolverthat supports the given method parameter.Return a read-only list with the contained resolvers, or an empty list.resolveArgument(MethodParameter parameter, DataFetchingEnvironment environment) Iterate over registeredHandlerMethodArgumentResolversand invoke the one that supports it.booleansupportsParameter(MethodParameter parameter) Whether the given method parameter is supported by any registeredHandlerMethodArgumentResolver.
-
Constructor Details
-
HandlerMethodArgumentResolverComposite
public HandlerMethodArgumentResolverComposite()
-
-
Method Details
-
addResolver
Add the givenHandlerMethodArgumentResolver. -
getResolvers
Return a read-only list with the contained resolvers, or an empty list. -
supportsParameter
Whether the given method parameter is supported by any registeredHandlerMethodArgumentResolver.- Specified by:
supportsParameterin interfaceHandlerMethodArgumentResolver
-
resolveArgument
@Nullable public Object resolveArgument(MethodParameter parameter, DataFetchingEnvironment environment) throws Exception Iterate over registeredHandlerMethodArgumentResolversand invoke the one that supports it.- Specified by:
resolveArgumentin interfaceHandlerMethodArgumentResolver- Parameters:
parameter- the method parameter to resolve. This parameter must have previously checked viaHandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter).environment- the environment to use to resolve the value- Returns:
- the resolved value, which may be
nullif not resolved; the value may also be aMonoif it requires asynchronous resolution. - Throws:
IllegalArgumentException- if no suitable argument resolver is foundException- in case of errors with the preparation of argument values
-
getArgumentResolver
Find a registeredHandlerMethodArgumentResolverthat supports the given method parameter.
-