Class HandlerMethodArgumentResolverComposite
java.lang.Object
org.springframework.graphql.data.method.HandlerMethodArgumentResolverComposite
- All Implemented Interfaces:
HandlerMethodArgumentResolver
public class HandlerMethodArgumentResolverComposite
extends Object
implements HandlerMethodArgumentResolver
Container for a list of resolvers that looks for one that supports a given
method parameter type, and delegates to it.
- Since:
- 1.0.0
- Author:
- Rossen Stoyanchev
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddResolver(HandlerMethodArgumentResolver resolver) Add the givenHandlerMethodArgumentResolver.@Nullable HandlerMethodArgumentResolvergetArgumentResolver(MethodParameter parameter) Find a registeredHandlerMethodArgumentResolverthat supports the given method parameter.Return a read-only list with the contained resolvers, or an empty list.@Nullable ObjectresolveArgument(MethodParameter parameter, graphql.schema.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.- Parameters:
resolver- the argument resolver
-
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- Parameters:
parameter- the method parameter to check for support
-
resolveArgument
public @Nullable Object resolveArgument(MethodParameter parameter, graphql.schema.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.- Parameters:
parameter- the method parameter
-