Class GraphQLObjectMapper

java.lang.Object
com.graphql_java_generator.client.GraphQLObjectMapper

public class GraphQLObjectMapper
extends java.lang.Object
This class is a wrapper around an ObjectMapper. It allows the GraphQL plugin generated code to use its own ObjectMapper, without interfering with the containing app. This insures that the containing app can configure and use "its" ObjectMapper as it wants, and that the GraphQL plugin can use its own ObjectMapper with its own configuration.
This class is not Spring bean, as it is configured for each request, with the list of alias for this GraphQL request.
Author:
etienne-sf
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    class  GraphQLObjectMapper.GraphQLDeserializationProblemHandler
    This class handles various deserialization problems.
  • Constructor Summary

    Constructors 
    Constructor Description
    GraphQLObjectMapper​(java.lang.String graphQLObjectsPackage, java.util.Map<java.lang.Class<?>,​java.util.Map<java.lang.String,​java.lang.reflect.Field>> aliasFields)
    Standard creator for the GraphQL ObjectMapper
  • Method Summary

    Modifier and Type Method Description
    java.util.Map<java.lang.String,​com.fasterxml.jackson.databind.JsonNode> convertValue​(com.fasterxml.jackson.databind.JsonNode extensions, com.fasterxml.jackson.core.type.TypeReference<java.util.Map<java.lang.String,​com.fasterxml.jackson.databind.JsonNode>> typeReference)  
    java.lang.Object getAliasValue​(com.fasterxml.jackson.core.JsonParser parser, java.lang.reflect.Field targetField, com.fasterxml.jackson.core.TreeNode value)
    Parse a TreeNode, and return it as a value, according to the given classes
    <T> T readValue​(java.lang.String msg, java.lang.Class<T> subscriptionType)  
    <T> T treeToValue​(com.fasterxml.jackson.core.TreeNode value, java.lang.Class<T> clazz)  
    java.lang.Object writeValueAsString​(java.lang.Object o)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • GraphQLObjectMapper

      public GraphQLObjectMapper​(java.lang.String graphQLObjectsPackage, java.util.Map<java.lang.Class<?>,​java.util.Map<java.lang.String,​java.lang.reflect.Field>> aliasFields)
      Standard creator for the GraphQL ObjectMapper
      Parameters:
      graphQLObjectsPackage - The package where the GraphQL objects have been generated
  • Method Details

    • getAliasValue

      public java.lang.Object getAliasValue​(com.fasterxml.jackson.core.JsonParser parser, java.lang.reflect.Field targetField, com.fasterxml.jackson.core.TreeNode value) throws java.io.IOException
      Parse a TreeNode, and return it as a value, according to the given classes
      Parameters:
      parser - The current json parser
      targetField - The field on which an alias has been set. This allows to retrieve the annotation on this field, to know everything about it's properties, as defined in the GraphQL schema.
      It may be null, in which case enumeration values won't be properly deserialized.
      value - The value to parse
      Returns:
      The parsed value. That is, according to the above sample: a String, a List or a List>
      Throws:
      java.io.IOException
    • convertValue

      public java.util.Map<java.lang.String,​com.fasterxml.jackson.databind.JsonNode> convertValue​(com.fasterxml.jackson.databind.JsonNode extensions, com.fasterxml.jackson.core.type.TypeReference<java.util.Map<java.lang.String,​com.fasterxml.jackson.databind.JsonNode>> typeReference)
    • readValue

      public <T> T readValue​(java.lang.String msg, java.lang.Class<T> subscriptionType) throws com.fasterxml.jackson.databind.JsonMappingException, com.fasterxml.jackson.core.JsonProcessingException
      Throws:
      com.fasterxml.jackson.databind.JsonMappingException
      com.fasterxml.jackson.core.JsonProcessingException
    • treeToValue

      public <T> T treeToValue​(com.fasterxml.jackson.core.TreeNode value, java.lang.Class<T> clazz) throws com.fasterxml.jackson.core.JsonProcessingException
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException
    • writeValueAsString

      public java.lang.Object writeValueAsString​(java.lang.Object o) throws com.fasterxml.jackson.core.JsonProcessingException
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException