public interface GraphQLCodegenConfiguration
Modifier and Type | Method and Description |
---|---|
java.lang.Boolean |
getAddGeneratedAnnotation()
Specifies whether generated classes should be annotated with @Generated
|
ApiInterfaceStrategy |
getApiInterfaceStrategy()
Specifies the strategy of generating api interfaces.
|
java.lang.String |
getApiNamePrefix()
Sets the prefix for GraphQL api classes (query, mutation, subscription).
|
ApiNamePrefixStrategy |
getApiNamePrefixStrategy()
Sets prefix strategy for GraphQL api classes (query, mutation, subscription).
|
java.lang.String |
getApiNameSuffix()
Sets the suffix for GraphQL api classes (query, mutation, subscription).
|
java.lang.String |
getApiPackageName()
Java package for generated api classes (Query, Mutation, Subscription).
|
java.lang.String |
getApiReturnListType()
Return type for api methods (query / subscription) that return list values
For example: reactor.core.publisher.Flux
|
java.lang.String |
getApiReturnType()
Return type for api methods (query / subscription)
For example: reactor.core.publisher.Mono
|
ApiRootInterfaceStrategy |
getApiRootInterfaceStrategy()
Specifies the strategy of generating root api interface.
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getCustomAnnotationsMapping()
Can be used to supply custom annotations (serializers) for scalars.
|
java.util.Map<java.lang.String,java.lang.String> |
getCustomTemplates()
Can be used to supply paths to custom FreeMarker templates for code generation.
|
java.io.File |
getCustomTemplatesRoot()
Can be used to specify the root directory for the custom FreeMaker templates
|
java.util.Map<java.lang.String,java.lang.String> |
getCustomTypesMapping()
Can be used to supply custom mappings for scalars.
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getDirectiveAnnotationsMapping()
Map GraphQL directives to Java annotations.
|
java.util.Set<java.lang.String> |
getFieldsToExcludeFromGeneration()
Fields that WILL NOT be generated.
|
java.util.Set<java.lang.String> |
getFieldsWithoutResolvers()
Fields that DO NOT require Resolvers.
|
java.util.Set<java.lang.String> |
getFieldsWithResolvers()
Fields that require Resolvers.
|
java.lang.Boolean |
getGenerateAllMethodInProjection()
Enables the generation of the all$ method in the projection classes of the client.
|
java.lang.Boolean |
getGenerateApis()
Specifies whether api classes should be generated.
|
java.lang.Boolean |
getGenerateApisWithSuspendFunctions()
Whether signatures of API interface methods should have
suspend modifier. |
java.lang.Boolean |
getGenerateApisWithThrowsException()
Whether signatures of API interface methods should have
throws Exception . |
java.lang.Boolean |
getGenerateBuilder()
Specifies whether generated model classes should have builder.
|
java.lang.Boolean |
getGenerateClient()
Specifies whether client-side classes should be generated for each query, mutation and subscription.
|
java.lang.String |
getGeneratedAnnotation()
Returns a qualified class name (with package) of the Generated annotation that will be added on top of every
generated class.
|
java.lang.Boolean |
getGenerateDataFetchingEnvironmentArgumentInApis()
If true, then graphql.schema.DataFetchingEnvironment env will be added as a last argument
to all methods of root type resolvers and field resolvers.
|
GeneratedLanguage |
getGeneratedLanguage()
Generate code with lang
|
java.lang.Boolean |
getGenerateEqualsAndHashCode()
Specifies whether generated model classes should have equals and hashCode methods defined.
|
java.lang.Boolean |
getGenerateExtensionFieldsResolvers()
Whether all fields in extensions (
extend type and extend interface ) should be present
in Resolver interface instead of the type class itself. |
java.lang.Boolean |
getGenerateImmutableModels()
Specifies whether generated model classes should be immutable.
|
java.lang.Boolean |
getGenerateJacksonTypeIdResolver()
Specifies whether generated union interfaces should be annotated with a Jackson type id resolver generated in
model package.
|
java.lang.Boolean |
getGenerateModelsForRootTypes()
Specifies whether model classes should be generated for Query/Subscription/Mutation.
|
java.lang.Boolean |
getGenerateParameterizedFieldsResolvers()
If true, then generate separate `Resolver` interface for parametrized fields.
|
java.lang.Boolean |
getGenerateToString()
Specifies whether generated model classes should have toString method defined.
|
java.lang.String |
getModelNamePrefix()
Sets the prefix for GraphQL model classes (type, input, interface, enum, union).
|
java.lang.String |
getModelNameSuffix()
Sets the suffix for GraphQL model classes (type, input, interface, enum, union).
|
java.lang.String |
getModelPackageName()
Java package for generated model classes (type, input, interface, enum, union).
|
java.lang.String |
getModelValidationAnnotation()
Annotation for mandatory (NonNull) fields.
|
java.lang.String |
getMutationResolverParentInterface()
Interface that will be added as "extend" to all generated api Mutation interfaces.
|
java.lang.String |
getPackageName()
Java package for generated classes.
|
java.lang.String |
getParametrizedInputSuffix()
The suffix for `ParametrizedInput` classes.
|
java.util.Set<java.lang.String> |
getParametrizedResolverAnnotations()
Annotations that will be added to all parametrized resolver methods.
|
java.lang.String |
getQueryResolverParentInterface()
Interface that will be added as "extend" to all generated api Query interfaces.
|
RelayConfig |
getRelayConfig()
Relay-related configurations.
|
java.lang.String |
getRequestSuffix()
The suffix for `Request` classes.
|
java.util.Set<java.lang.String> |
getResolverArgumentAnnotations()
Annotations that will be added to all resolver arguments.
|
java.lang.String |
getResolverParentInterface()
Interface that will be added as "extend" to all generated TypeResolver interfaces.
|
java.lang.Integer |
getResponseProjectionMaxDepth()
Limit depth when `all$` invoke which has subProjections
|
java.lang.String |
getResponseProjectionSuffix()
The suffix for `ResponseProjection` classes.
|
java.lang.String |
getResponseSuffix()
The suffix for `Response` classes.
|
java.lang.String |
getSubscriptionResolverParentInterface()
Interface that will be added as "extend" to all generated api Subscription interfaces.
|
java.lang.String |
getSubscriptionReturnType()
Return type for subscription methods.
|
java.lang.String |
getTypeResolverPrefix()
Sets the prefix for GraphQL type resolver classes.
|
java.lang.String |
getTypeResolverSuffix()
Sets the suffix for GraphQL type resolver classes.
|
java.util.Set<java.lang.String> |
getTypesAsInterfaces()
Types that must generated as interfaces.
|
java.lang.String |
getUnknownFieldsPropertyName()
Specifies the name of the property to be included in api classes to support unknown
fields during serialization or deserialization
|
java.util.Set<java.lang.String> |
getUseObjectMapperForRequestSerialization()
Fields that require serialization using
ObjectMapper.writeValueAsString(Object) |
java.lang.Boolean |
getUseOptionalForNullableReturnTypes()
Specifies whether return types of generated API interface should be wrapped into
java.util.Optional |
java.lang.Boolean |
isGenerateModelOpenClasses()
Specifies whether generate public model classes.
|
java.lang.Boolean |
isGenerateModelsWithPublicFields()
Specifies whether model classes should have public or private fields.
|
java.lang.Boolean |
isGenerateNoArgsConstructorOnly()
Specifies whether model classes should only have a no-args constructor.
|
java.lang.Boolean |
isGenerateSealedInterfaces()
Specifies whether generate sealed interfaces.
|
java.lang.Boolean |
isInitializeNullableTypes()
Specifies whether classes should be generated with constructors setting the
default value for nullable fields to null.
|
java.lang.Boolean |
isSupportUnknownFields() |
java.util.Map<java.lang.String,java.lang.String> getCustomTypesMapping()
Supports:
E.g.:
DateTime --- String
Price.amount --- java.math.BigDecimal
java.io.File getCustomTemplatesRoot()
java.util.Map<java.lang.String,java.lang.String> getCustomTemplates()
java.util.Map<java.lang.String,java.util.List<java.lang.String>> getCustomAnnotationsMapping()
Supports:
E.g.:
EpochMillis --- @com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = com.example.json
.EpochMillisScalarDeserializer.class)
java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDirectiveAnnotationsMapping()
Directive fields can be used in annotations via: {{directiveFieldName}}
Example:
schema: directive @auth (roles: [String])
directiveAnnotationsMapping:
auth --- @org.springframework.security.access.annotation.Secured({{roles}})
java.lang.Boolean getGenerateApis()
java.lang.Boolean getGenerateModelsForRootTypes()
ApiRootInterfaceStrategy getApiRootInterfaceStrategy()
ApiInterfaceStrategy getApiInterfaceStrategy()
java.lang.String getPackageName()
java.lang.String getApiPackageName()
java.lang.String getModelPackageName()
java.lang.String getModelNamePrefix()
java.lang.String getModelNameSuffix()
ApiNamePrefixStrategy getApiNamePrefixStrategy()
java.lang.String getApiNamePrefix()
java.lang.String getApiNameSuffix()
java.lang.String getModelValidationAnnotation()
java.lang.String getApiReturnType()
java.lang.String getApiReturnListType()
java.lang.String getSubscriptionReturnType()
java.lang.Boolean getGenerateBuilder()
java.lang.Boolean getGenerateEqualsAndHashCode()
java.lang.Boolean getGenerateImmutableModels()
java.lang.Boolean getGenerateToString()
java.lang.Boolean getGenerateParameterizedFieldsResolvers()
java.lang.String getTypeResolverPrefix()
java.lang.String getTypeResolverSuffix()
java.lang.Boolean getGenerateExtensionFieldsResolvers()
extend type
and extend interface
) should be present
in Resolver interface instead of the type class itself.extend type
and extend interface
)
should be present in Resolver interface instead of the type class itself.java.lang.Boolean getGenerateDataFetchingEnvironmentArgumentInApis()
java.lang.Boolean getGenerateApisWithThrowsException()
throws Exception
.throws Exception
.java.lang.Boolean getGenerateApisWithSuspendFunctions()
suspend
modifier.suspend
modifier.java.lang.Boolean getAddGeneratedAnnotation()
java.lang.Boolean getGenerateJacksonTypeIdResolver()
RelayConfig getRelayConfig()
java.util.Set<java.lang.String> getFieldsWithResolvers()
Values should be defined here in format: TypeName, TypeName.fieldName, @directive
If just type is specified, then all fields of this type will have resolvers.
E.g.:
Person
Person.friends
@customResolver
java.util.Set<java.lang.String> getFieldsWithoutResolvers()
Values should be defined here in format: TypeName, TypeName.fieldName, @directive
If just type is specified, then all fields of this type will NOT have resolvers.
Can be used in conjunction with generateExtensionFieldsResolvers
E.g.:
Person
Person.friends
@customResolver
java.util.Set<java.lang.String> getFieldsToExcludeFromGeneration()
Values should be defined here in format: TypeName.fieldName
E.g.:
Person.friends
java.lang.Boolean getUseOptionalForNullableReturnTypes()
java.util.Optional
java.util.Optional
java.lang.Boolean getGenerateClient()
java.lang.String getRequestSuffix()
java.lang.String getResponseSuffix()
java.lang.String getResponseProjectionSuffix()
java.lang.String getParametrizedInputSuffix()
java.lang.String getQueryResolverParentInterface()
java.lang.String getMutationResolverParentInterface()
java.lang.String getSubscriptionResolverParentInterface()
java.lang.String getResolverParentInterface()
java.lang.Boolean getGenerateAllMethodInProjection()
java.lang.Integer getResponseProjectionMaxDepth()
java.util.Set<java.lang.String> getUseObjectMapperForRequestSerialization()
ObjectMapper.writeValueAsString(Object)
Values should be defined here in format: GraphqlObjectName.fieldName or GraphqlTypeName
If just type is specified, then all fields of this type will be serialized using ObjectMapper.
E.g.:
Person.createdDateTime
ZonedDateTime
ObjectMapper.writeValueAsString(Object)
java.util.Set<java.lang.String> getTypesAsInterfaces()
Values should be defined here in format: TypeName, @directive
E.g.:
Person
@asInterface
java.util.Set<java.lang.String> getResolverArgumentAnnotations()
E.g.:
@org.springframework.graphql.data.method.annotation.Argument
java.util.Set<java.lang.String> getParametrizedResolverAnnotations()
E.g.:
@org.springframework.graphql.data.method.annotation.Argument
GeneratedLanguage getGeneratedLanguage()
java.lang.Boolean isGenerateModelOpenClasses()
java.lang.Boolean isInitializeNullableTypes()
java.lang.Boolean isGenerateSealedInterfaces()
java.lang.Boolean isSupportUnknownFields()
java.lang.String getUnknownFieldsPropertyName()
java.lang.String getGeneratedAnnotation()
java.lang.Boolean isGenerateNoArgsConstructorOnly()
java.lang.Boolean isGenerateModelsWithPublicFields()