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
This class is not Spring bean, as it is configured for each request, with the list of alias for this GraphQL request.
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 GraphQLObjectMapper
-
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)
-
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 GraphQLObjectMapper
- 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.IOExceptionParse a TreeNode, and return it as a value, according to the given classes- Parameters:
parser
- The current json parsertargetField
- 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
-