graphql:generateClientCode

Full name:

com.graphql-java-generator:graphql-maven-plugin:2.8:generateClientCode

Description:

The generateClientCode Maven goal (and Gradle task) generates the java code from one or more GraphQL schemas. It allows to work in Java with graphQL, in a schema first approach.

It generates a class for each query, mutation and subscription type. These classes contain the methods to call the queries, mutations and subscriptions. That is: to execute a query against the GraphQL server, you just have to call one of these methods. It also generates the POJOs from the GraphQL schema. The GraphQL response is stored in these POJOs, for an easy and standard use in Java.

You'll find more info in the tutorials: take a look at the Maven client tutorial or the Gradle client tutorial

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Binds by default to the lifecycle phase: generate-sources.

Optional Parameters

Name Type Since Description
<addRelayConnections> boolean -

True if the plugin is configured to add the Relay connection capabilities to the field marked by the @RelayConnection directive.

If so, the plugin reads the provided GraphQL schema file(s), and enriches them with the interfaces and types needed to respect the Relay Connection specification. The entry point for that is the @RelayConnection directive.

You'll find all the information on the plugin web site. Please check the server Relay capability page.


Default value is: false.
User property is: com.graphql_java_generator.mavenplugin.addRelayConnections.
<copyRuntimeSources> boolean -

Flag to enable (or not) the copy of the sources from the graphql-java-runtime library to target source code directory. That is: it allows to control whether the runtime code is embedded in the generated code or not.

Caution: the default value changed since the 2.0 version. In 1.x version, the default value is true. Since 2.0 version, the default value is false.

  • If copyRuntimeSources=true: the runtime is copied along with the generated code. The project configuration (pom.xml or build.gradle) must contain the com.graphql-java-generator:graphql-java-dependencies dependency, with the same version as the GraphQL plugin
  • If copyRuntimeSources=false: the runtime is NOT copied along with the generated code. The project configuration (pom.xml or build.gradle) must contain the com.graphql-java-generator:graphql-java-runtime dependency, with the same version as the GraphQL plugin

Default value is: false.
User property is: com.graphql_java_generator.mavenplugin.copyRuntimeSources.
<customScalars> List<CustomScalarDefinition> -

This parameter contains the list of custom scalars implementations. One such implementation must be provided for each custom scalar defined in the GraphQL implemented by the project for its GraphQL schema. It's a list, where the key is the scalar name, as defined in the GraphQL schema, and the value is the full class name of the implementation of graphql.schema.GraphQLScalarType.

This parameter is a list of customScalars. For each one, you must define the name, the javaType and exactly one of these fields: graphQLScalarTypeClass, graphQLScalarTypeStaticField or graphQLScalarTypeGetter.

Here is the detail:

  • graphQLTypeName: The type name, as defined in the GraphQL schema, for instance Date
  • javaType: The full class name for the java type that contains the data for this type, once in the Java code, for instance java.util.Date
  • graphQLScalarTypeClass: The full class name for the graphql.schema.GraphQLScalarType that will manage this Custom Scalar. This class must be a subtype of graphql.schema.GraphQLScalarType. Bu the constructor of graphql.schema.GraphQLScalarType has been deprecated, so you'll find no sample for that in this project
  • graphQLScalarTypeStaticField: The full class name followed by the static field name that contains the graphql.schema.GraphQLScalarType that will manage this Custom Scalar. For instance, the graphql-java package provides several custom scalars like graphql.Scalars.GraphQLLong. You can also use the graphql-java-extended-scalars project, that provides other custom scalars like graphql.scalars.ExtendedScalars.NonNegativeInt.
  • graphQLScalarTypeGetter: The full class name followed by the static method name that returns the graphql.schema.GraphQLScalarType that will manage this Custom Scalar. For instance: org.mycompany.MyScalars.getGraphQLLong() or com.graphql_java_generator.customscalars.GraphQLScalarTypeDate. This call may contain parameters, provided that this a valid java command.

Please have a look at the allGraphQLCases (both client and server) samples for more information. The allGraphQLCases client pom is a good sample.


User property is: com.graphql_java_generator.mavenplugin.customScalars.
<enumPrefix> String - An optional prefix to add to the classnames of the generated java classes for GraphQL enums. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.enumPrefix.
<enumSuffix> String - An optional suffix to add to the classnames of the generated java classes for GraphQL enums. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.enumSuffix.
<generateDeprecatedRequestResponse> boolean -

(since 1.7.1 version) Default value is _true_ for 1.x version, and _false_ for version 2.0 and after.

If this parameter is set to true, the plugin generates a XxxxResponse class for each query/mutation/subscription, and (if separateUtilityClasses is true) Xxxx classes in the util subpackage. This allows to keep compatibility with code Developed with the 1.x versions of the plugin.

The recommended way to use the plugin is to directly use the Xxxx query/mutation/subscription executor classes, where Xxxx is the query/mutation/subscription name defined in the GraphQL schema. To do this, set this parameter to _false_, and use the plugin as described in the wiki client page.


Default value is: false.
User property is: com.graphql_java_generator.mavenplugin.generateDeprecatedRequestResponse.
<inputPrefix> String - An optional prefix to add to the classnames of the generated java classes for GraphQL input objects. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.inputPrefix.
<inputSuffix> String - An optional suffix to add to the classnames of the generated java classes for GraphQL input objects. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.javaClassSuffix.
<interfacePrefix> String - An optional prefix to add to the classnames of the generated java classes for GraphQL interfaces. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.interfacePrefix.
<interfaceSuffix> String - An optional suffix to add to the classnames of the generated java classes for GraphQL interfaces. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.interfaceSuffix.
<jsonGraphqlSchemaFilename> String - (no description)
User property is: com.graphql_java_generator.mavenplugin.jsonGraphqlSchemaFilename.
<maxTokens> Integer - (Useless, since 1.18.7)Defines the options that maximum number of tokens that the GraphQL schema parser may read. The default value is Integer.MAX_VALUE (=2147483647). If the schema contains more than maxTokens, the build will fail with an error.
Default value is: 2147483647.
User property is: com.graphql_java_generator.mavenplugin.maxTokens.
<packageName> String - The package name that will contain the generated classes
Default value is: com.generated.graphql.
User property is: com.graphql_java_generator.mavenplugin.packageName.
<queryMutationExecutionProtocol> QueryMutationExecutionProtocol - (since 2.0RC1) The com.graphql_java_generator.plugin.conf.QueryMutationExecutionProtocol to use for GraphQL queries and mutations (not subscriptions). The allowed values are: http and webSocket.
The default value is http.
Default value is: http.
User property is: com.graphql_java_generator.mavenplugin.queryMutationExecutionProtocol.
<schemaFileFolder> File -

The folder which contains the GraphQL schema file(s) , typically /src/main/resources of the current project. That's where the GraphQL schema(s) are expected to be: in this folder, or one of these subfolders. If the jsonSchemaFilename is set, then this parameter controls where this json schema file is.

Caution: this default value for this folder is /src/main/resources, for compatibility with first versions of this plugin. It's different from the spring-graphql default one, which is /src/main/resources/graphql


Default value is: src/main/resources.
User property is: com.graphql_java_generator.mavenplugin.schemaFileFolder.
<schemaFilePattern> String -

The pattern to find the graphql schema file(s). The default value is "/*.graphqls" meaning that the maven plugin will search all graphqls files in the "/src/main/resources" folder (please check also the schemaFileFolder plugin parameter).

You can put the star (*) joker in the filename, to retrieve several files at ones, for instance /myschema*.graphqls will retrieve the /src/main/resources/myschema.graphqls and /src/main/resources/myschema_extend.graphqls files.


Default value is: *.graphqls.
User property is: com.graphql_java_generator.mavenplugin.schemaFilePattern.
<schemaPersonalizationFile> String -

schemaPersonalizationFile is the file name where the GraphQL maven plugin will find personalization that it must apply before generating the code. Since the 2.2 release, it is available for both client and server. Before, it applies to the server mode only.

This allows to:

  • Add or modify fields
  • Add interface and annotation to classes (GraphQL types, input types, interfaces, unions and enums) or fields.

See the doc on the project's wiki for more details.


Default value is: null.
User property is: com.graphql_java_generator.mavenplugin.schemaPersonalizationFile.
<separateUtilityClasses> boolean -

Indicates whether the utility classes (that is: the classes that are not match an item in the GraphQL schema) are generated in the same package than the classes that matches the GraphQL schema.

The classes that map the GraphQL schema (type, input type, interfaces, unions...) are generated in the package defined in the packageName plugin parameter, then:

  • If false (default for versions 1.x), the utility classes are generated in the the same package
  • If true (default for version 2.0 and after), the utility classes are generated in the util subpackage of this package

Default value is: true.
User property is: com.graphql_java_generator.mavenplugin.separateUtilityClasses.
<skipGenerationIfSchemaHasNotChanged> boolean -

This parameter is now deprecated: it's value used in the plugin is always true, that is: if the generated sources or resources are older than the GraphQL schema file(s), then there is no source or resource generation. In clear, the source and resource generation is executed only if the provided input (GraphQL schema...) has been updated since the last plugin execution.


Default value is: true.
User property is: com.graphql_java_generator.mavenplugin.skipGenerationIfSchemaHasNotChanged.
<sourceEncoding> String - The encoding charset for the generated source files
Default value is: UTF-8.
User property is: com.graphql_java_generator.mavenplugin.sourceEncoding.
<springBeanSuffix> String - Retrieves the suffix that will be applied to the name of the Spring Beans that are generated for this schema. It's mandatory if you' using a Spring app and have more than one GraphQL schemas. The default value is an empty String.
User property is: com.graphql_java_generator.mavenplugin.springBeanSuffix.
<targetResourceFolder> File - The folder where resources will be generated
Default value is: ./target/generated-resources/graphql-maven-plugin.
User property is: com.graphql_java_generator.mavenplugin.targetResourceFolder.
<targetSourceFolder> File - The folder where source code for the generated classes will be generated
Default value is: ./target/generated-sources/graphql-maven-plugin.
User property is: com.graphql_java_generator.mavenplugin.targetSourceFolder.
<templates> Map<String,String> -

Map of the code templates to be used: this allows to override the default templates, and control exactly what code is generated by the plugin.

You can override any of the Velocity templates of the project. The list of templates is defined in the enum CodeTemplate, that you can check here.

You can find a sample in the CustomTemplates client sample.

Important notice: Please note that the default templates may change in the future. And some of these modifications would need to be reported into the custom templates. We'll try to better expose a stable public API in the future.


User property is: com.graphql_java_generator.mavenplugin.templates.
<typePrefix> String - An optional prefix to add to the classnames of the generated java classes for GraphQL types. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.typePrefix.
<typeSuffix> String - An optional suffix to add to the classnames of the generated java classes for GraphQL types. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.typeSuffix.
<unionPrefix> String - An optional prefix to add to the classnames of the generated java classes for GraphQL unions. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.unionPrefix.
<unionSuffix> String - An optional suffix to add to the classnames of the generated java classes for GraphQL unions. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
User property is: com.graphql_java_generator.mavenplugin.unionSuffix.
<useJakartaEE9> boolean - (since 2.0RC1) If false, it uses jakarta EE8 imports (that begins by javax.). If true, it uses jakarta EE8 imports (that begins by jakarta.).
Default value is: false.
User property is: com.graphql_java_generator.mavenplugin.useJakartaEE9.

Parameter Details

<addRelayConnections>

True if the plugin is configured to add the Relay connection capabilities to the field marked by the @RelayConnection directive.

If so, the plugin reads the provided GraphQL schema file(s), and enriches them with the interfaces and types needed to respect the Relay Connection specification. The entry point for that is the @RelayConnection directive.

You'll find all the information on the plugin web site. Please check the server Relay capability page.

  • Type: boolean
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.addRelayConnections
  • Default: false

<copyRuntimeSources>

Flag to enable (or not) the copy of the sources from the graphql-java-runtime library to target source code directory. That is: it allows to control whether the runtime code is embedded in the generated code or not.

Caution: the default value changed since the 2.0 version. In 1.x version, the default value is true. Since 2.0 version, the default value is false.

  • If copyRuntimeSources=true: the runtime is copied along with the generated code. The project configuration (pom.xml or build.gradle) must contain the com.graphql-java-generator:graphql-java-dependencies dependency, with the same version as the GraphQL plugin
  • If copyRuntimeSources=false: the runtime is NOT copied along with the generated code. The project configuration (pom.xml or build.gradle) must contain the com.graphql-java-generator:graphql-java-runtime dependency, with the same version as the GraphQL plugin
  • Type: boolean
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.copyRuntimeSources
  • Default: false

<customScalars>

This parameter contains the list of custom scalars implementations. One such implementation must be provided for each custom scalar defined in the GraphQL implemented by the project for its GraphQL schema. It's a list, where the key is the scalar name, as defined in the GraphQL schema, and the value is the full class name of the implementation of graphql.schema.GraphQLScalarType.

This parameter is a list of customScalars. For each one, you must define the name, the javaType and exactly one of these fields: graphQLScalarTypeClass, graphQLScalarTypeStaticField or graphQLScalarTypeGetter.

Here is the detail:

  • graphQLTypeName: The type name, as defined in the GraphQL schema, for instance Date
  • javaType: The full class name for the java type that contains the data for this type, once in the Java code, for instance java.util.Date
  • graphQLScalarTypeClass: The full class name for the graphql.schema.GraphQLScalarType that will manage this Custom Scalar. This class must be a subtype of graphql.schema.GraphQLScalarType. Bu the constructor of graphql.schema.GraphQLScalarType has been deprecated, so you'll find no sample for that in this project
  • graphQLScalarTypeStaticField: The full class name followed by the static field name that contains the graphql.schema.GraphQLScalarType that will manage this Custom Scalar. For instance, the graphql-java package provides several custom scalars like graphql.Scalars.GraphQLLong. You can also use the graphql-java-extended-scalars project, that provides other custom scalars like graphql.scalars.ExtendedScalars.NonNegativeInt.
  • graphQLScalarTypeGetter: The full class name followed by the static method name that returns the graphql.schema.GraphQLScalarType that will manage this Custom Scalar. For instance: org.mycompany.MyScalars.getGraphQLLong() or com.graphql_java_generator.customscalars.GraphQLScalarTypeDate. This call may contain parameters, provided that this a valid java command.

Please have a look at the allGraphQLCases (both client and server) samples for more information. The allGraphQLCases client pom is a good sample.

  • Type: java.util.List<com.graphql_java_generator.plugin.conf.CustomScalarDefinition>
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.customScalars

<enumPrefix>

An optional prefix to add to the classnames of the generated java classes for GraphQL enums. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.enumPrefix

<enumSuffix>

An optional suffix to add to the classnames of the generated java classes for GraphQL enums. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.enumSuffix

<generateDeprecatedRequestResponse>

(since 1.7.1 version) Default value is _true_ for 1.x version, and _false_ for version 2.0 and after.

If this parameter is set to true, the plugin generates a XxxxResponse class for each query/mutation/subscription, and (if separateUtilityClasses is true) Xxxx classes in the util subpackage. This allows to keep compatibility with code Developed with the 1.x versions of the plugin.

The recommended way to use the plugin is to directly use the Xxxx query/mutation/subscription executor classes, where Xxxx is the query/mutation/subscription name defined in the GraphQL schema. To do this, set this parameter to _false_, and use the plugin as described in the wiki client page.

  • Type: boolean
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.generateDeprecatedRequestResponse
  • Default: false

<inputPrefix>

An optional prefix to add to the classnames of the generated java classes for GraphQL input objects. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.inputPrefix

<inputSuffix>

An optional suffix to add to the classnames of the generated java classes for GraphQL input objects. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.javaClassSuffix

<interfacePrefix>

An optional prefix to add to the classnames of the generated java classes for GraphQL interfaces. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.interfacePrefix

<interfaceSuffix>

An optional suffix to add to the classnames of the generated java classes for GraphQL interfaces. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.interfaceSuffix

<jsonGraphqlSchemaFilename>

(no description)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.jsonGraphqlSchemaFilename

<maxTokens>

(Useless, since 1.18.7)Defines the options that maximum number of tokens that the GraphQL schema parser may read. The default value is Integer.MAX_VALUE (=2147483647). If the schema contains more than maxTokens, the build will fail with an error.
  • Type: java.lang.Integer
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.maxTokens
  • Default: 2147483647

<packageName>

The package name that will contain the generated classes
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.packageName
  • Default: com.generated.graphql

<queryMutationExecutionProtocol>

(since 2.0RC1) The com.graphql_java_generator.plugin.conf.QueryMutationExecutionProtocol to use for GraphQL queries and mutations (not subscriptions). The allowed values are: http and webSocket.
The default value is http.
  • Type: com.graphql_java_generator.plugin.conf.QueryMutationExecutionProtocol
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.queryMutationExecutionProtocol
  • Default: http

<schemaFileFolder>

The folder which contains the GraphQL schema file(s) , typically /src/main/resources of the current project. That's where the GraphQL schema(s) are expected to be: in this folder, or one of these subfolders. If the jsonSchemaFilename is set, then this parameter controls where this json schema file is.

Caution: this default value for this folder is /src/main/resources, for compatibility with first versions of this plugin. It's different from the spring-graphql default one, which is /src/main/resources/graphql

  • Type: java.io.File
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.schemaFileFolder
  • Default: src/main/resources

<schemaFilePattern>

The pattern to find the graphql schema file(s). The default value is "/*.graphqls" meaning that the maven plugin will search all graphqls files in the "/src/main/resources" folder (please check also the schemaFileFolder plugin parameter).

You can put the star (*) joker in the filename, to retrieve several files at ones, for instance /myschema*.graphqls will retrieve the /src/main/resources/myschema.graphqls and /src/main/resources/myschema_extend.graphqls files.

  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.schemaFilePattern
  • Default: *.graphqls

<schemaPersonalizationFile>

schemaPersonalizationFile is the file name where the GraphQL maven plugin will find personalization that it must apply before generating the code. Since the 2.2 release, it is available for both client and server. Before, it applies to the server mode only.

This allows to:

  • Add or modify fields
  • Add interface and annotation to classes (GraphQL types, input types, interfaces, unions and enums) or fields.

See the doc on the project's wiki for more details.

  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.schemaPersonalizationFile
  • Default: null

<separateUtilityClasses>

Indicates whether the utility classes (that is: the classes that are not match an item in the GraphQL schema) are generated in the same package than the classes that matches the GraphQL schema.

The classes that map the GraphQL schema (type, input type, interfaces, unions...) are generated in the package defined in the packageName plugin parameter, then:

  • If false (default for versions 1.x), the utility classes are generated in the the same package
  • If true (default for version 2.0 and after), the utility classes are generated in the util subpackage of this package
  • Type: boolean
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.separateUtilityClasses
  • Default: true

<skipGenerationIfSchemaHasNotChanged>

This parameter is now deprecated: it's value used in the plugin is always true, that is: if the generated sources or resources are older than the GraphQL schema file(s), then there is no source or resource generation. In clear, the source and resource generation is executed only if the provided input (GraphQL schema...) has been updated since the last plugin execution.

  • Type: boolean
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.skipGenerationIfSchemaHasNotChanged
  • Default: true

<sourceEncoding>

The encoding charset for the generated source files
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.sourceEncoding
  • Default: UTF-8

<springBeanSuffix>

Retrieves the suffix that will be applied to the name of the Spring Beans that are generated for this schema. It's mandatory if you' using a Spring app and have more than one GraphQL schemas. The default value is an empty String.
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.springBeanSuffix

<targetResourceFolder>

The folder where resources will be generated
  • Type: java.io.File
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.targetResourceFolder
  • Default: ./target/generated-resources/graphql-maven-plugin

<targetSourceFolder>

The folder where source code for the generated classes will be generated
  • Type: java.io.File
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.targetSourceFolder
  • Default: ./target/generated-sources/graphql-maven-plugin

<templates>

Map of the code templates to be used: this allows to override the default templates, and control exactly what code is generated by the plugin.

You can override any of the Velocity templates of the project. The list of templates is defined in the enum CodeTemplate, that you can check here.

You can find a sample in the CustomTemplates client sample.

Important notice: Please note that the default templates may change in the future. And some of these modifications would need to be reported into the custom templates. We'll try to better expose a stable public API in the future.

  • Type: java.util.Map<java.lang.String, java.lang.String>
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.templates

<typePrefix>

An optional prefix to add to the classnames of the generated java classes for GraphQL types. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.typePrefix

<typeSuffix>

An optional suffix to add to the classnames of the generated java classes for GraphQL types. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.typeSuffix

<unionPrefix>

An optional prefix to add to the classnames of the generated java classes for GraphQL unions. The prefix is added at the beginning of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.unionPrefix

<unionSuffix>

An optional suffix to add to the classnames of the generated java classes for GraphQL unions. The suffix is added at the end of the java classname, and must be compatible with java naming rules (no space, dot, comma, etc.)
  • Type: java.lang.String
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.unionSuffix

<useJakartaEE9>

(since 2.0RC1) If false, it uses jakarta EE8 imports (that begins by javax.). If true, it uses jakarta EE8 imports (that begins by jakarta.).
  • Type: boolean
  • Required: No
  • User Property: com.graphql_java_generator.mavenplugin.useJakartaEE9
  • Default: false