public class Jsonschema2PojoMojo extends org.apache.maven.plugin.AbstractMojo implements GenerationConfig
Constructor and Description |
---|
Jsonschema2PojoMojo() |
Modifier and Type | Method and Description |
---|---|
void |
execute()
Executes the plugin, to read the given source and behavioural properties
and generate POJOs.
|
AnnotationStyle |
getAnnotationStyle()
Gets the 'annotationStyle' configuration option.
|
String |
getClassNamePrefix()
Gets the 'getClassNamePrefix' configuration option.
|
String |
getClassNameSuffix()
Gets the 'getClassNameSuffix' configuration option.
|
Class<? extends Annotator> |
getCustomAnnotator()
Gets the 'customAnnotator' configuration option.
|
String |
getCustomDatePattern()
Gets the 'customDatePattern' configuration option
|
String |
getCustomDateTimePattern()
Gets the 'customDateTimePattern' configuration option
|
Class<? extends RuleFactory> |
getCustomRuleFactory()
Gets the 'customRuleFactory' configuration option.
|
String |
getCustomTimePattern()
Gets the 'customTimePattern' configuration option
|
String |
getDateTimeType()
Gets the `dateTimeType` configuration option.
|
String |
getDateType()
Gets the `dateType` configuration option.
|
String[] |
getFileExtensions()
Gets the 'fileExtensions' configuration option.
|
FileFilter |
getFileFilter()
Gets the file filter used to isolate the schema mapping files in the
source directories.
|
Map<String,String> |
getFormatTypeMapping()
Gets the 'formatTypeMapping' configuration option.
|
InclusionLevel |
getInclusionLevel()
Gets the 'inclusionLevel' option for Jackson serializer.
|
String |
getOutputEncoding()
Gets the 'outputEncoding' configuration option.
|
char[] |
getPropertyWordDelimiters()
Gets the 'propertyWordDelimiters' configuration option.
|
String |
getRefFragmentPathDelimiters()
Gets the `refFragmentPathDelimiters` configuration option.
|
Iterator<URL> |
getSource()
Gets the 'source' configuration option.
|
SourceSortOrder |
getSourceSortOrder()
Gets the 'sourceSortOrder' configuration option.
|
SourceType |
getSourceType()
Gets the 'sourceType' configuration option.
|
File |
getTargetDirectory()
Gets the 'targetDirectory' configuration option.
|
String |
getTargetPackage()
Gets the 'targetPackage' configuration option.
|
String |
getTargetVersion()
Gets the 'targetVersion' configuration option.
|
String |
getTimeType()
Gets the `timeType` configuration option.
|
String[] |
getToStringExcludes()
Gets the 'toStringExcludes' configuration option.
|
boolean |
isConstructorsRequiredPropertiesOnly()
Gets the 'constructorsRequiredPropertiesOnly' configuration option.
|
boolean |
isFormatDates()
Gets the `formatDates` configuration option
|
boolean |
isFormatDateTimes()
Gets the `formatDateTime` configuration option
|
boolean |
isFormatTimes()
Gets the `formatTimes` configuration option
|
boolean |
isGenerateBuilders()
Gets the 'generateBuilders' configuration option.
|
boolean |
isIncludeAdditionalProperties()
Gets the 'includeAdditionalProperties' configuration option.
|
boolean |
isIncludeAllPropertiesConstructor()
Gets the 'constructorsIncludeRequiredPropertiesConstructor' configuration option.
|
boolean |
isIncludeConstructorPropertiesAnnotation()
Gets the 'includeConstructorPropertiesAnnotation' configuration option.
|
boolean |
isIncludeConstructors()
Gets the 'includeConstructors' configuration option.
|
boolean |
isIncludeCopyConstructor()
Gets the 'constructorsIncludeRequiredPropertiesConstructor' configuration option.
|
boolean |
isIncludeDynamicAccessors()
Gets the `includeDynamicAccessors` configuration option
|
boolean |
isIncludeDynamicBuilders()
Gets the `includeDynamicBuilders` configuration option.
|
boolean |
isIncludeDynamicGetters()
Gets the `includeDynamicGetters` configuration option.
|
boolean |
isIncludeDynamicSetters()
Gets the `includeDynamicSetters` configuration option.
|
boolean |
isIncludeGeneratedAnnotation()
Whether to mark generated classes with the annotation
javax.annotation.@Generated |
boolean |
isIncludeGetters()
Gets the 'includeGetters' configuration option.
|
boolean |
isIncludeHashcodeAndEquals()
Gets the 'includeHashcodeAndEquals' configuration option.
|
boolean |
isIncludeJsr303Annotations()
Gets the 'includeJsr303Annotations' configuration option.
|
boolean |
isIncludeJsr305Annotations()
Gets the 'includeJsr305Annotations' configuration option.
|
boolean |
isIncludeRequiredPropertiesConstructor()
Gets the 'constructorsIncludeRequiredPropertiesConstructor' configuration option.
|
boolean |
isIncludeSetters()
Gets the 'includeSetters' configuration option.
|
boolean |
isIncludeToString()
Gets the 'includeToString' configuration option.
|
boolean |
isIncludeTypeInfo()
Gets the 'includeTypeInfo' configuration option.
|
boolean |
isInitializeCollections()
Gets the 'initializeCollections' configuration option.
|
boolean |
isParcelable()
Gets the 'parcelable' configuration option.
|
boolean |
isRemoveOldOutput()
Gets the 'removeOldOutput' configuration option.
|
boolean |
isSerializable()
Gets the 'serializable' configuration option.
|
boolean |
isUseBigDecimals()
Gets the 'useBigDecimals' configuration option.
|
boolean |
isUseBigIntegers()
Gets the 'useBigIntegers' configuration option.
|
boolean |
isUseCommonsLang3()
Deprecated.
|
boolean |
isUseDoubleNumbers()
Gets the 'useDoubleNumbers' configuration option.
|
boolean |
isUseInnerClassBuilders()
If set to true, then the gang of four builder pattern will be used to generate builders on generated classes.
|
boolean |
isUseJakartaValidation()
Gets the 'useJakartaValidation' configuration option.
|
boolean |
isUseJodaDates()
Gets the 'useJodaDates' configuration option.
|
boolean |
isUseJodaLocalDates()
Gets the 'useJodaLocalDates' configuration option.
|
boolean |
isUseJodaLocalTimes()
Gets the 'useJodaLocalTimes' configuration option.
|
boolean |
isUseLongIntegers()
Gets the 'useLongIntegers' configuration option.
|
boolean |
isUseOptionalForGetters()
Gets the 'useOptionalForGetters' configuration option.
|
boolean |
isUsePrimitives()
Gets the 'usePrimitives' configuration option.
|
boolean |
isUseTitleAsClassname()
When
true the title is used as class name. |
public void execute() throws org.apache.maven.plugin.MojoExecutionException
execute
in interface org.apache.maven.plugin.Mojo
org.apache.maven.plugin.MojoExecutionException
public boolean isGenerateBuilders()
GenerationConfig
isGenerateBuilders
in interface GenerationConfig
withXxx(value)
(that return this
),
alongside the standard, void-return setters.public boolean isIncludeTypeInfo()
GenerationConfig
isIncludeTypeInfo
in interface GenerationConfig
public boolean isIncludeConstructorPropertiesAnnotation()
GenerationConfig
isIncludeConstructorPropertiesAnnotation
in interface GenerationConfig
public File getTargetDirectory()
GenerationConfig
getTargetDirectory
in interface GenerationConfig
public Iterator<URL> getSource()
GenerationConfig
getSource
in interface GenerationConfig
public boolean isUsePrimitives()
GenerationConfig
isUsePrimitives
in interface GenerationConfig
long
, double
, boolean
) instead of wrapper types where possible
when generating bean properties (has the side-effect of making
those properties non-null).public String getTargetPackage()
GenerationConfig
getTargetPackage
in interface GenerationConfig
public char[] getPropertyWordDelimiters()
GenerationConfig
getPropertyWordDelimiters
in interface GenerationConfig
public boolean isUseLongIntegers()
GenerationConfig
isUseLongIntegers
in interface GenerationConfig
long
(or
Long
) instead of int
(or
Integer
) when representing the JSON Schema type
'integer'.public boolean isUseDoubleNumbers()
GenerationConfig
isUseDoubleNumbers
in interface GenerationConfig
double
(or
Double
) instead of float
(or
Float
) when representing the JSON Schema type
'number'.public boolean isIncludeHashcodeAndEquals()
GenerationConfig
isIncludeHashcodeAndEquals
in interface GenerationConfig
hashCode
and
equals
methods in generated Java types.public boolean isIncludeToString()
GenerationConfig
isIncludeToString
in interface GenerationConfig
toString
method in
generated Java types.public String[] getToStringExcludes()
GenerationConfig
getToStringExcludes
in interface GenerationConfig
public AnnotationStyle getAnnotationStyle()
GenerationConfig
getAnnotationStyle
in interface GenerationConfig
Supported values:
jackson
(alias for jackson2)
jackson2
(apply annotations from the
Jackson 2.x library)gson
(apply annotations from the
gson
library)moshi1
(apply annotations from the
moshi library)none
(apply no annotations at all)AnnotatorFactory
public boolean isUseTitleAsClassname()
GenerationConfig
true
the title is used as class name.isUseTitleAsClassname
in interface GenerationConfig
public InclusionLevel getInclusionLevel()
GenerationConfig
getInclusionLevel
in interface GenerationConfig
Supported values
ALWAYS
NON_ABSENT
NON_DEFAULT
NON_EMPTY
NON_NULL
USE_DEFAULTS
InclusionLevel
public Class<? extends Annotator> getCustomAnnotator()
GenerationConfig
getCustomAnnotator
in interface GenerationConfig
GenerationConfig.getAnnotationStyle()
public Class<? extends RuleFactory> getCustomRuleFactory()
GenerationConfig
getCustomRuleFactory
in interface GenerationConfig
public boolean isIncludeJsr303Annotations()
GenerationConfig
isIncludeJsr303Annotations
in interface GenerationConfig
public boolean isIncludeJsr305Annotations()
GenerationConfig
isIncludeJsr305Annotations
in interface GenerationConfig
public boolean isUseOptionalForGetters()
GenerationConfig
isUseOptionalForGetters
in interface GenerationConfig
Optional
as return type for
getters of non-required fields.public SourceType getSourceType()
GenerationConfig
getSourceType
in interface GenerationConfig
Supported values:
jsonschema
json
public boolean isRemoveOldOutput()
GenerationConfig
isRemoveOldOutput
in interface GenerationConfig
public String getOutputEncoding()
GenerationConfig
getOutputEncoding
in interface GenerationConfig
public boolean isUseJodaDates()
GenerationConfig
isUseJodaDates
in interface GenerationConfig
DateTime
instead of
Date
when adding date type fields to generated
Java types.public boolean isUseJodaLocalDates()
GenerationConfig
isUseJodaLocalDates
in interface GenerationConfig
LocalDate
instead of string
when adding string type fields with a format of date (not
date-time) to generated Java types.public boolean isUseJodaLocalTimes()
GenerationConfig
isUseJodaLocalTimes
in interface GenerationConfig
LocalTime
instead of string
when adding string type fields with a format of time (not
date-time) to generated Java types.@Deprecated public boolean isUseCommonsLang3()
public boolean isParcelable()
GenerationConfig
isParcelable
in interface GenerationConfig
public boolean isSerializable()
GenerationConfig
isSerializable
in interface GenerationConfig
public FileFilter getFileFilter()
GenerationConfig
getFileFilter
in interface GenerationConfig
public boolean isInitializeCollections()
GenerationConfig
isInitializeCollections
in interface GenerationConfig
public String getClassNamePrefix()
GenerationConfig
getClassNamePrefix
in interface GenerationConfig
public String getClassNameSuffix()
GenerationConfig
getClassNameSuffix
in interface GenerationConfig
public String[] getFileExtensions()
GenerationConfig
getFileExtensions
in interface GenerationConfig
public boolean isIncludeConstructors()
GenerationConfig
isIncludeConstructors
in interface GenerationConfig
public boolean isConstructorsRequiredPropertiesOnly()
GenerationConfig
GenerationConfig.isIncludeAllPropertiesConstructor()
and off the GenerationConfig.isIncludeAllPropertiesConstructor()
configuration options.
It is specifically tied to the GenerationConfig.isIncludeConstructors()
property, and will do nothing if that property is not enabledisConstructorsRequiredPropertiesOnly
in interface GenerationConfig
public boolean isIncludeRequiredPropertiesConstructor()
GenerationConfig
GenerationConfig.isIncludeConstructors()
configuration option and is incompatible with GenerationConfig.isConstructorsRequiredPropertiesOnly()
, and will have no effect
if GenerationConfig.isIncludeConstructors()
is not set to true. If GenerationConfig.isIncludeConstructors()
is set to true then this configuration determines
whether the resulting object should include a constructor with only the required properties as parameters.isIncludeRequiredPropertiesConstructor
in interface GenerationConfig
public boolean isIncludeAllPropertiesConstructor()
GenerationConfig
GenerationConfig.isIncludeConstructors()
configuration option and is incompatible with GenerationConfig.isConstructorsRequiredPropertiesOnly()
, and will have no effect
if GenerationConfig.isIncludeConstructors()
is not set to true. If GenerationConfig.isIncludeConstructors()
is set to true then this configuration determines
whether the resulting object should include a constructor with all listed properties as parameters.isIncludeAllPropertiesConstructor
in interface GenerationConfig
public boolean isIncludeCopyConstructor()
GenerationConfig
GenerationConfig.isIncludeConstructors()
configuration option and is incompatible with GenerationConfig.isConstructorsRequiredPropertiesOnly()
, and will have no effect
if GenerationConfig.isIncludeConstructors()
is not set to true. If GenerationConfig.isIncludeConstructors()
is set to true then this configuration determines
whether the resulting object should include a constructor the class itself as a parameter, with the expectation that all properties from the
originating class will assigned to the new class.isIncludeCopyConstructor
in interface GenerationConfig
public boolean isIncludeAdditionalProperties()
GenerationConfig
isIncludeAdditionalProperties
in interface GenerationConfig
public boolean isIncludeGetters()
GenerationConfig
isIncludeGetters
in interface GenerationConfig
public boolean isIncludeSetters()
GenerationConfig
isIncludeSetters
in interface GenerationConfig
public String getTargetVersion()
GenerationConfig
getTargetVersion
in interface GenerationConfig
public boolean isIncludeDynamicAccessors()
GenerationConfig
isIncludeDynamicAccessors
in interface GenerationConfig
public boolean isIncludeDynamicGetters()
GenerationConfig
isIncludeDynamicGetters
in interface GenerationConfig
public boolean isIncludeDynamicSetters()
GenerationConfig
isIncludeDynamicSetters
in interface GenerationConfig
public boolean isIncludeDynamicBuilders()
GenerationConfig
isIncludeDynamicBuilders
in interface GenerationConfig
public String getDateTimeType()
GenerationConfig
Example values:
org.joda.time.LocalDateTime
(Joda)java.time.LocalDateTime
(JSR310)null
(default behavior)getDateTimeType
in interface GenerationConfig
Date
when
adding date type fields to generate Java types.public String getDateType()
GenerationConfig
Example values:
org.joda.time.LocalDate
(Joda)java.time.LocalDate
(JSR310)null
(default behavior)getDateType
in interface GenerationConfig
public String getTimeType()
GenerationConfig
Example values:
org.joda.time.LocalTime
(Joda)java.time.LocalTime
(JSR310)null
(default behavior)getTimeType
in interface GenerationConfig
public boolean isUseBigIntegers()
GenerationConfig
isUseBigIntegers
in interface GenerationConfig
BigInteger
instead
of int
(or Integer
) when
representing the JSON Schema type 'integer'. Note that this
configuration overrides GenerationConfig.isUseLongIntegers()
.public boolean isUseBigDecimals()
GenerationConfig
isUseBigDecimals
in interface GenerationConfig
BigDecimal
instead
of float
(or Float
) when
representing the JSON Schema type 'number'. Note that this
configuration overrides GenerationConfig.isUseDoubleNumbers()
.public boolean isFormatDateTimes()
GenerationConfig
isFormatDateTimes
in interface GenerationConfig
date-type
have the
@JsonFormat
annotation with pattern set to the
default value of yyyy-MM-dd'T'HH:mm:ss.SSSZ
public boolean isFormatDates()
GenerationConfig
isFormatDates
in interface GenerationConfig
date
have the
@JsonFormat
annotation with pattern set to the
default value of yyyy-MM-dd
public boolean isFormatTimes()
GenerationConfig
isFormatTimes
in interface GenerationConfig
time
have the
@JsonFormat
annotation with pattern set to the
default value of HH:mm:ss.SSS
public String getCustomDatePattern()
GenerationConfig
getCustomDatePattern
in interface GenerationConfig
public String getCustomTimePattern()
GenerationConfig
getCustomTimePattern
in interface GenerationConfig
public String getCustomDateTimePattern()
GenerationConfig
getCustomDateTimePattern
in interface GenerationConfig
public String getRefFragmentPathDelimiters()
GenerationConfig
getRefFragmentPathDelimiters
in interface GenerationConfig
public SourceSortOrder getSourceSortOrder()
GenerationConfig
getSourceSortOrder
in interface GenerationConfig
Supported values:
OS
(Let the OS influence the order the source files are processed.)FILES_FIRST
(Case sensitive sort, visit the files first. The source files are processed in a breadth
first sort order.)SUBDIRS_FIRST
(Case sensitive sort, visit the sub-directories before the files. The source files are
processed in a depth first sort order.)public Map<String,String> getFormatTypeMapping()
GenerationConfig
getFormatTypeMapping
in interface GenerationConfig
public boolean isUseInnerClassBuilders()
GenerationConfig
GenerationConfig.isGenerateBuilders()
method. If the GenerationConfig.isGenerateBuilders()
is false,
then this property will not do anything.isUseInnerClassBuilders
in interface GenerationConfig
public boolean isIncludeGeneratedAnnotation()
GenerationConfig
javax.annotation.@Generated
isIncludeGeneratedAnnotation
in interface GenerationConfig
public boolean isUseJakartaValidation()
GenerationConfig
GenerationConfig.isIncludeJsr303Annotations()
configuration option.
If the GenerationConfig.isIncludeJsr303Annotations()
returns false
, then this configuration option will not affect anything.isUseJakartaValidation
in interface GenerationConfig
jakarta.validation
package instead of javax.validation
package when adding JSR-303 annotations to generated Java typesCopyright © 2022. All rights reserved.