Class LegacyCoercingInputInterceptor
java.lang.Object
graphql.execution.values.legacycoercing.LegacyCoercingInputInterceptor
- All Implemented Interfaces:
InputInterceptor
-
Method Summary
Modifier and TypeMethodDescriptionintercept
(@Nullable Object input, @NonNull GraphQLInputType graphQLType, @NonNull GraphQLContext graphqlContext, @NonNull Locale locale) This is called with a value that is to be presented to theValuesResolver
code.This will change legacy values as it encounters them to something acceptable to the more strict coercion rules.migratesValues
(BiConsumer<Object, GraphQLInputType> observerCallback) This will change legacy values as it encounters them to something acceptable to the more strict coercion rules.observesValues
(BiConsumer<Object, GraphQLInputType> observerCallback) This will ONLY observe legacy values and invoke the callback when it gets one.
-
Method Details
-
observesValues
public static LegacyCoercingInputInterceptor observesValues(BiConsumer<Object, GraphQLInputType> observerCallback) This will ONLY observe legacy values and invoke the callback when it gets one. you can use this to enumerate how many legacy values are hitting you graphql implementation- Parameters:
observerCallback
- a callback allowing you to observe a legacy scalar value- Returns:
- an InputInterceptor that only observes values
-
migratesValues
This will change legacy values as it encounters them to something acceptable to the more strict coercion rules.- Returns:
- an InputInterceptor that migrates values to a more strict value
-
migratesValues
public static LegacyCoercingInputInterceptor migratesValues(BiConsumer<Object, GraphQLInputType> observerCallback) This will change legacy values as it encounters them to something acceptable to the more strict coercion rules. The observer callback will be invoked if it detects a legacy value that it will change.- Parameters:
observerCallback
- a callback allowing you to observe a legacy scalar value before it is migrated- Returns:
- an InputInterceptor that both observes values and migrates them to a more strict value
-
intercept
public Object intercept(@Nullable Object input, @NonNull GraphQLInputType graphQLType, @NonNull GraphQLContext graphqlContext, @NonNull Locale locale) Description copied from interface:InputInterceptor
This is called with a value that is to be presented to theValuesResolver
code. The values may be scalars, enums and complex input types.- Specified by:
intercept
in interfaceInputInterceptor
- Parameters:
input
- the input value that can be nullgraphQLType
- the input typegraphqlContext
- the graphql context in playlocale
- the locale in play- Returns:
- a value that may differ from the original value
-