public interface DataModelMapper
Modifier and Type | Method and Description |
---|---|
java.lang.String |
capitalizeIfRestricted(MappingContext mappingContext,
java.lang.String fieldName)
Capitalize field name if it is language-restricted.
|
java.lang.String |
capitalizeMethodNameIfRestricted(MappingContext mappingContext,
java.lang.String methodName)
Capitalize method name if it is language-restricted.
|
static java.lang.String |
getApiClassNameWithPrefixAndSuffix(MappingContext mappingContext,
ExtendedFieldDefinition fieldDefinition,
java.lang.String rootTypeName,
java.util.List<java.lang.String> fieldNames)
Generates an api class name including prefix and suffix (if any)
Examples: CreateEventMutationResolver, EventsQueryResolver, EventsByIdsQueryResolver (rootTypeName is "Query" or the likes)
|
static java.lang.String |
getApiClassNameWithPrefixAndSuffix(MappingContext mappingContext,
ExtendedObjectTypeDefinition definition)
Generates an api class name including prefix and suffix (if any)
Examples: MutationResolver, QueryResolver, etc
|
static java.lang.String |
getApiPackageName(MappingContext mappingContext)
Get java package name for api class.
|
static java.lang.String |
getApiPrefix(MappingContext mappingContext,
graphql.language.SourceLocation sourceLocation)
Get the prefix for api class name based on the defined strategy and GraphQL node source location.
|
static java.lang.String |
getClassNameSuffixWithInputValues(ExtendedFieldDefinition fieldDefinition)
Builds a className suffix based on the input values.
|
static java.util.Set<java.lang.String> |
getImports(MappingContext mappingContext,
java.lang.String packageName)
Returns imports required for a generated class:
- model package name
- generic package name
|
static java.util.List<ExtendedInterfaceTypeDefinition> |
getInterfacesOfType(ExtendedImplementingTypeDefinition<?,?> definition,
ExtendedDocument document)
Scan document and return all interfaces that given type implements.
|
default java.lang.String |
getModelClassNameWithPrefixAndSuffix(MappingContext mappingContext,
ExtendedDefinition<?,?> extendedDefinition)
Generates a model class name including prefix and suffix (if any)
|
static java.lang.String |
getModelClassNameWithPrefixAndSuffix(MappingContext mappingContext,
java.lang.String definitionName)
Generates a model class name including prefix and suffix (if any)
|
static java.lang.String |
getModelPackageName(MappingContext mappingContext)
Get java package name for model class.
|
static java.lang.String |
getParametrizedInputClassName(MappingContext mappingContext,
ExtendedFieldDefinition fieldDefinition,
ExtendedDefinition<?,?> parentTypeDefinition)
Generates a class name for ParametrizedInput
|
static java.util.function.Function<java.io.File,java.lang.String> |
getParentFileNameFunction() |
static java.lang.String |
getPrefixFromSourceLocation(graphql.language.SourceLocation sourceLocation,
java.util.function.Function<java.io.File,java.lang.String> fileStringFunction)
Get the prefix (used as a prefix for class names) from GraphQL source location (file) using the supplied
function fileStringFunction.
|
static java.lang.String |
getTypeResolverClassNameWithPrefixAndSuffix(MappingContext mappingContext,
java.lang.String typeName)
Generates a type resolver class name including prefix and suffix (if any)
|
static java.lang.String getModelClassNameWithPrefixAndSuffix(MappingContext mappingContext, java.lang.String definitionName)
mappingContext
- Global mapping contextdefinitionName
- GraphQL node namestatic java.lang.String getTypeResolverClassNameWithPrefixAndSuffix(MappingContext mappingContext, java.lang.String typeName)
mappingContext
- Global mapping contexttypeName
- GraphQL type namestatic java.lang.String getApiClassNameWithPrefixAndSuffix(MappingContext mappingContext, ExtendedFieldDefinition fieldDefinition, java.lang.String rootTypeName, java.util.List<java.lang.String> fieldNames)
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 duplicatestatic java.lang.String getApiClassNameWithPrefixAndSuffix(MappingContext mappingContext, ExtendedObjectTypeDefinition definition)
mappingContext
- Global mapping contextdefinition
- GraphQL object definition of a root type like Querystatic java.lang.String getApiPrefix(MappingContext mappingContext, graphql.language.SourceLocation sourceLocation)
mappingContext
- Global mapping contextsourceLocation
- GraphQL node SourceLocationstatic java.lang.String getPrefixFromSourceLocation(graphql.language.SourceLocation sourceLocation, java.util.function.Function<java.io.File,java.lang.String> fileStringFunction)
sourceLocation
- source location of GraphQL definitionfileStringFunction
- function to fetch File's attribute (name, parent, etc)static java.lang.String getParametrizedInputClassName(MappingContext mappingContext, ExtendedFieldDefinition fieldDefinition, ExtendedDefinition<?,?> parentTypeDefinition)
mappingContext
- Global mapping contextfieldDefinition
- GraphQL field definition for a field that has parametrized inputparentTypeDefinition
- GraphQL definition which is a parent for fieldDefinitionstatic java.lang.String getApiPackageName(MappingContext mappingContext)
mappingContext
- Global mapping contextstatic java.lang.String getModelPackageName(MappingContext mappingContext)
mappingContext
- Global mapping contextstatic java.util.Set<java.lang.String> getImports(MappingContext mappingContext, java.lang.String packageName)
mappingContext
- Global mapping contextpackageName
- Package name of the generated class which will be ignoredstatic java.lang.String getClassNameSuffixWithInputValues(ExtendedFieldDefinition fieldDefinition)
fieldDefinition
- field definition that has some InputValueDefinitionsstatic java.util.List<ExtendedInterfaceTypeDefinition> getInterfacesOfType(ExtendedImplementingTypeDefinition<?,?> definition, ExtendedDocument document)
definition
- GraphQL definition that might implement some interfacesdocument
- GraphQL documentstatic java.util.function.Function<java.io.File,java.lang.String> getParentFileNameFunction()
java.lang.String capitalizeIfRestricted(MappingContext mappingContext, java.lang.String fieldName)
fieldName
- any stringmappingContext
- Global mapping contextjava.lang.String capitalizeMethodNameIfRestricted(MappingContext mappingContext, java.lang.String methodName)
methodName
- any stringmappingContext
- Global mapping contextdefault java.lang.String getModelClassNameWithPrefixAndSuffix(MappingContext mappingContext, ExtendedDefinition<?,?> extendedDefinition)
mappingContext
- Global mapping context, record enum typeextendedDefinition
- GraphQL extended definition