Class FieldDefinitionsToResolverDataModelMapper
java.lang.Object
io.github.besi97.graphql.codegen.mapper.FieldDefinitionsToResolverDataModelMapper
Map field definitions to a Freemarker data model representing a resolver for these fields.
-
Constructor Summary
ConstructorsConstructorDescriptionFieldDefinitionsToResolverDataModelMapper(MapperFactory mapperFactory, InputValueDefinitionToParameterMapper inputValueDefToParamMapper) -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgetParentInterface(MappingContext mappingContext, String typeName) Get parent Interface namemapRootTypeField(MappingContext mappingContext, ExtendedFieldDefinition fieldDefinition, String rootTypeName, List<String> fieldNames) Map field definition to a Freemarker data modelmapRootTypeFields(MappingContext mappingContext, ExtendedObjectTypeDefinition definition) Map a root object type definition to a Freemarker data model for a resolver with all its fields.mapToTypeResolver(MappingContext mappingContext, List<ExtendedFieldDefinition> fieldDefs, String parentTypeName) Map field definition to a Freemarker data model
-
Constructor Details
-
FieldDefinitionsToResolverDataModelMapper
public FieldDefinitionsToResolverDataModelMapper(MapperFactory mapperFactory, InputValueDefinitionToParameterMapper inputValueDefToParamMapper)
-
-
Method Details
-
getParentInterface
Get parent Interface name- Parameters:
mappingContext- Global mapping contexttypeName- 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 contextfieldDefs- GraphQL field definitions that require resolversparentTypeName- 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 contextfieldDefinition- GraphQL field definitionrootTypeName- 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 contextdefinition- GraphQL object definition of a root type like Query- Returns:
- Freemarker data model of the GraphQL object
-