Class LegacyCoercingInputInterceptor

    • Method Detail

      • observesValues

        public static LegacyCoercingInputInterceptor observesValues​(java.util.function.BiConsumer<java.lang.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

        public static LegacyCoercingInputInterceptor 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​(java.util.function.BiConsumer<java.lang.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 java.lang.Object intercept​(@Nullable
                                          @Nullable java.lang.Object input,
                                          @NotNull
                                          @NotNull GraphQLInputType graphQLType,
                                          @NotNull
                                          @NotNull GraphQLContext graphqlContext,
                                          @NotNull
                                          @NotNull java.util.Locale locale)
        Description copied from interface: InputInterceptor
        This is called with a value that is to be presented to the ValuesResolver code. The values may be scalars, enums and complex input types.
        Specified by:
        intercept in interface InputInterceptor
        Parameters:
        input - the input value that can be null
        graphQLType - the input type
        graphqlContext - the graphql context in play
        locale - the locale in play
        Returns:
        a value that may differ from the original value