Class ArgValueOfAllowedTypeChecker


  • class ArgValueOfAllowedTypeChecker
    extends java.lang.Object
    Class to check whether a given directive argument value matches a given directive definition.
    • Field Detail

      • logNotSafe

        private static final org.slf4j.Logger logNotSafe
      • directive

        private final Directive directive
      • element

        private final Node<?> element
      • elementName

        private final java.lang.String elementName
      • argument

        private final Argument argument
    • Method Detail

      • checkArgValueMatchesAllowedType

        void checkArgValueMatchesAllowedType​(java.util.List<GraphQLError> errors,
                                             Value<?> instanceValue,
                                             Type<?> allowedArgType)
        Recursively inspects an argument value given an allowed type. Given the (invalid) SDL below:

        directive @myDirective(arg: [[String]] ) on FIELD_DEFINITION

        query { f: String @myDirective(arg: ["A String"]) }

        it will first check that the `myDirective.arg` type is an array and fail when finding "A String" as it expected a nested array ([[String]]).

        Parameters:
        errors - validation error collector
        instanceValue - directive argument value
        allowedArgType - directive definition argument allowed type
      • addValidationError

        private void addValidationError​(java.util.List<GraphQLError> errors,
                                        java.lang.String message,
                                        java.lang.Object... args)
      • checkArgValueMatchesAllowedTypeName

        private void checkArgValueMatchesAllowedTypeName​(java.util.List<GraphQLError> errors,
                                                         Value<?> instanceValue,
                                                         Type<?> allowedArgType)
      • checkArgValueMatchesAllowedEnum

        private void checkArgValueMatchesAllowedEnum​(java.util.List<GraphQLError> errors,
                                                     Value<?> instanceValue,
                                                     EnumTypeDefinition allowedTypeDefinition)
      • checkArgValueMatchesAllowedScalar

        private void checkArgValueMatchesAllowedScalar​(java.util.List<GraphQLError> errors,
                                                       Value<?> instanceValue,
                                                       ScalarTypeDefinition allowedTypeDefinition)
      • checkArgInputObjectValueFieldMatchesAllowedDefinition

        private void checkArgInputObjectValueFieldMatchesAllowedDefinition​(java.util.List<GraphQLError> errors,
                                                                           ObjectField objectField,
                                                                           InputValueDefinition allowedValueDef)
      • checkArgValueMatchesAllowedNonNullType

        private void checkArgValueMatchesAllowedNonNullType​(java.util.List<GraphQLError> errors,
                                                            Value<?> instanceValue,
                                                            NonNullType allowedArgType)
      • checkArgValueMatchesAllowedListType

        private void checkArgValueMatchesAllowedListType​(java.util.List<GraphQLError> errors,
                                                         Value<?> instanceValue,
                                                         ListType allowedArgType)
      • isArgumentValueScalarLiteral

        private boolean isArgumentValueScalarLiteral​(GraphQLScalarType scalarType,
                                                     Value<?> instanceValue)