Class GraphqlStringCoercing

java.lang.Object
graphql.scalar.GraphqlStringCoercing
All Implemented Interfaces:
Coercing<String,String>

public class GraphqlStringCoercing extends Object implements Coercing<String,String>
The deprecated methods still have implementations in case code outside graphql-java is calling them but internally the call paths have been replaced.
  • Constructor Details

    • GraphqlStringCoercing

      public GraphqlStringCoercing()
  • Method Details

    • toStringImpl

      private String toStringImpl(Object input)
    • parseLiteralImpl

      private String parseLiteralImpl(@NotNull @NotNull Object input, Locale locale)
    • valueToLiteralImpl

      private StringValue valueToLiteralImpl(@NotNull @NotNull Object input)
    • serialize

      @Deprecated public String serialize(@NotNull @NotNull Object dataFetcherResult)
      Deprecated.
      Description copied from interface: Coercing
      This is deprecated and you should implement Coercing.serialize(Object, GraphQLContext, Locale) instead

      Called to convert a Java object result of a DataFetcher to a valid runtime value for the scalar type.

      Note : Throw CoercingSerializeException if there is fundamental problem during serialization, don't return null to indicate failure.

      Note : You should not allow RuntimeExceptions to come out of your serialize method, but rather catch them and fire them as CoercingSerializeException instead as per the method contract.

      Specified by:
      serialize in interface Coercing<String,String>
      Parameters:
      dataFetcherResult - is never null
      Returns:
      a serialized value which may be null.
    • serialize

      @Nullable public @Nullable String serialize(@NotNull @NotNull Object dataFetcherResult, @NotNull @NotNull GraphQLContext graphQLContext, @NotNull @NotNull Locale locale) throws CoercingSerializeException
      Description copied from interface: Coercing
      Called to convert a Java object result of a DataFetcher to a valid runtime value for the scalar type.

      Note : Throw CoercingSerializeException if there is fundamental problem during serialization, don't return null to indicate failure.

      Note : You should not allow RuntimeExceptions to come out of your serialize method, but rather catch them and fire them as CoercingSerializeException instead as per the method contract.

      Specified by:
      serialize in interface Coercing<String,String>
      Parameters:
      dataFetcherResult - is never null
      graphQLContext - the graphql context in place
      locale - the locale to use
      Returns:
      a serialized value which may be null.
      Throws:
      CoercingSerializeException - if value input can't be serialized
    • parseValue

      @Deprecated public String parseValue(@NotNull @NotNull Object input)
      Deprecated.
      Description copied from interface: Coercing
      This is deprecated and you should implement Coercing.parseValue(Object, GraphQLContext, Locale) instead

      Called to resolve an input from a query variable into a Java object acceptable for the scalar type.

      Note : You should not allow RuntimeExceptions to come out of your parseValue method, but rather catch them and fire them as CoercingParseValueException instead as per the method contract.

      Note : if input is explicit/raw value null, input coercion will return null before this method is called

      Specified by:
      parseValue in interface Coercing<String,String>
      Parameters:
      input - is never null
      Returns:
      a parsed value which may be null
    • parseValue

      public String parseValue(@NotNull @NotNull Object input, @NotNull @NotNull GraphQLContext graphQLContext, @NotNull @NotNull Locale locale) throws CoercingParseValueException
      Description copied from interface: Coercing
      Called to resolve an input from a query variable into a Java object acceptable for the scalar type.

      Note : You should not allow RuntimeExceptions to come out of your parseValue method, but rather catch them and fire them as CoercingParseValueException instead as per the method contract. Note : if input is explicit/raw value null, input coercion will return null before this method is called

      Specified by:
      parseValue in interface Coercing<String,String>
      Parameters:
      input - is never null
      graphQLContext - the graphql context in place
      locale - the locale to use
      Returns:
      a parsed value which may be null
      Throws:
      CoercingParseValueException - if value input can't be parsed
    • parseLiteral

      @Deprecated public String parseLiteral(@NotNull @NotNull Object input)
      Deprecated.
      Description copied from interface: Coercing
      This is deprecated and you should implement Coercing.parseLiteral(Value, CoercedVariables, GraphQLContext, Locale) instead

      Called during query validation to convert a query input AST node into a Java object acceptable for the scalar type. The input object will be an instance of Value.

      Note : You should not allow RuntimeExceptions to come out of your parseLiteral method, but rather catch them and fire them as CoercingParseLiteralException instead as per the method contract.

      Note : if input is literal NullValue, input coercion will return null before this method is called

      Specified by:
      parseLiteral in interface Coercing<String,String>
      Parameters:
      input - is never null
      Returns:
      a parsed value which may be null
    • parseLiteral

      @Nullable public @Nullable String parseLiteral(@NotNull @NotNull Value<?> input, @NotNull @NotNull CoercedVariables variables, @NotNull @NotNull GraphQLContext graphQLContext, @NotNull @NotNull Locale locale) throws CoercingParseLiteralException
      Description copied from interface: Coercing
      Called during query execution to convert a query input AST node into a Java object acceptable for the scalar type. The input object will be an instance of Value.

      Note : You should not allow RuntimeExceptions to come out of your parseLiteral method, but rather catch them and fire them as CoercingParseLiteralException instead as per the method contract.

      Many scalar types don't need to implement this method because they don't take AST VariableReference objects and convert them into actual values. But for those scalar types that want to do this, then this method should be implemented. Note : if input is literal NullValue, input coercion will return null before this method is called

      Specified by:
      parseLiteral in interface Coercing<String,String>
      Parameters:
      input - is never null
      variables - the resolved variables passed to the query
      graphQLContext - the graphql context in place
      locale - the locale to use
      Returns:
      a parsed value which may be null
      Throws:
      CoercingParseLiteralException - if input literal can't be parsed
    • valueToLiteral

      @Deprecated public Value valueToLiteral(@NotNull @NotNull Object input)
      Deprecated.
      Description copied from interface: Coercing
      This is deprecated and you should implement Coercing.valueToLiteral(Object, GraphQLContext, Locale) instead

      Converts an external input value to a literal (Ast Value).

      IMPORTANT: the argument is validated before by calling Coercing.parseValue(Object).

      Specified by:
      valueToLiteral in interface Coercing<String,String>
      Parameters:
      input - an external input value
      Returns:
      The literal matching the external input value.
    • valueToLiteral

      @NotNull public @NotNull Value<?> valueToLiteral(@NotNull @NotNull Object input, @NotNull @NotNull GraphQLContext graphQLContext, @NotNull @NotNull Locale locale)
      Description copied from interface: Coercing
      Converts an external input value to a literal (Ast Value).

      IMPORTANT: the argument is validated before by calling Coercing.parseValue(Object).

      Specified by:
      valueToLiteral in interface Coercing<String,String>
      Parameters:
      input - an external input value
      graphQLContext - the graphql context in place
      locale - the locale to use
      Returns:
      The literal matching the external input value.