Class FieldDefinitionsToResolverDataModelMapper

java.lang.Object
io.github.besi97.graphql.codegen.mapper.FieldDefinitionsToResolverDataModelMapper

public class FieldDefinitionsToResolverDataModelMapper extends Object
Map field definitions to a Freemarker data model representing a resolver for these fields.
  • Constructor Details

  • Method Details

    • getParentInterface

      public static String getParentInterface(MappingContext mappingContext, String typeName)
      Get parent Interface name
      Parameters:
      mappingContext - Global mapping context
      typeName - GraphQL node name
      Returns:
      name of the parent interface
    • mapToTypeResolver

      public Map<String,Object> mapToTypeResolver(MappingContext mappingContext, List<ExtendedFieldDefinition> fieldDefs, String parentTypeName)
      Map field definition to a Freemarker data model
      Parameters:
      mappingContext - Global mapping context
      fieldDefs - GraphQL field definitions that require resolvers
      parentTypeName - Name of the type for which Resolver will be generated
      Returns:
      Freemarker data model of the GraphQL parametrized field
    • mapRootTypeField

      public Map<String,Object> mapRootTypeField(MappingContext mappingContext, ExtendedFieldDefinition fieldDefinition, String rootTypeName, List<String> fieldNames)
      Map field definition to a Freemarker data model
      Parameters:
      mappingContext - Global mapping context
      fieldDefinition - GraphQL field definition
      rootTypeName - Object type (e.g.: "Query", "Mutation" or "Subscription")
      fieldNames - Names of all fields inside the rootType. Used to detect duplicate
      Returns:
      Freemarker data model of the GraphQL field
    • mapRootTypeFields

      public Map<String,Object> mapRootTypeFields(MappingContext mappingContext, ExtendedObjectTypeDefinition definition)
      Map a root object type definition to a Freemarker data model for a resolver with all its fields.
      Parameters:
      mappingContext - Global mapping context
      definition - GraphQL object definition of a root type like Query
      Returns:
      Freemarker data model of the GraphQL object