Class 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
    • 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

      All Methods Instance Methods Concrete Methods 
      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)  
      <T> T convertValue​(java.lang.Object o, java.lang.Class<T> clazz)  
      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
      com.fasterxml.jackson.databind.JsonNode readTree​(java.lang.String content)  
      <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.String writeValueAsString​(java.lang.Object o)  
      • Methods inherited from class java.lang.Object

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

      • 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 Detail

      • 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,
                                              GraphQLRequestExecutionException
        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
        GraphQLRequestExecutionException
      • 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)
      • convertValue

        public <T> T convertValue​(java.lang.Object o,
                                  java.lang.Class<T> clazz)
      • 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
      • readTree

        public com.fasterxml.jackson.databind.JsonNode readTree​(java.lang.String content)
                                                         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.String writeValueAsString​(java.lang.Object o)
                                            throws com.fasterxml.jackson.core.JsonProcessingException
        Throws:
        com.fasterxml.jackson.core.JsonProcessingException