Package org.apache.johnzon.maven.plugin
Class ExampleToModelMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.apache.johnzon.maven.plugin.ExampleToModelMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="example-to-model", defaultPhase=GENERATE_SOURCES) public class ExampleToModelMojo extends org.apache.maven.plugin.AbstractMojo
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interfaceExampleToModelMojo.Visitor
-
Field Summary
Fields Modifier and Type Field Description protected booleanattachprivate static java.util.List<java.lang.Character>FORBIDDEN_JAVA_NAMESprotected java.lang.Stringheaderprotected booleanignoreNullprotected java.lang.StringpackageBaseprotected org.apache.maven.project.MavenProjectprojectprotected java.io.Filesourceprotected java.io.Filetargetprotected booleanuseJsonbprotected booleanuseRecord
-
Constructor Summary
Constructors Constructor Description ExampleToModelMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.StringbuildArrayType(int arrayLevel, java.lang.String type)private java.lang.StringbuildValidFieldName(java.lang.String jsonField)private java.lang.Stringcapitalize(java.lang.String str)voidexecute()private voidfieldGetSetMethods(java.io.Writer writer, java.lang.String jsonField, java.lang.String field, java.lang.String type, java.lang.String prefix, int arrayLevel, java.util.Collection<java.lang.String> imports, boolean last)private voidgenerate(jakarta.json.JsonReaderFactory readerFactory, java.io.File source, java.io.Writer writer, java.lang.String javaName)private voidgenerateFieldsAndMethods(java.io.StringWriter writer, jakarta.json.JsonObject object, java.lang.String prefix, java.util.Collection<java.lang.String> imports)private voidgenerateFile(jakarta.json.JsonReaderFactory readerFactory, java.io.File source)private voidhandleArray(java.io.Writer writer, java.lang.String prefix, java.util.Map<java.lang.String,jakarta.json.JsonObject> nestedTypes, jakarta.json.JsonValue value, java.lang.String jsonField, java.lang.String fieldName, int arrayLevel, java.util.Collection<java.lang.String> imports, boolean last)private java.lang.StringtoJavaFieldName(java.lang.String key)private java.lang.StringtoJavaName(java.lang.String file)private voidvisit(jakarta.json.JsonStructure structure, ExampleToModelMojo.Visitor visitor)
-
-
-
Field Detail
-
FORBIDDEN_JAVA_NAMES
private static final java.util.List<java.lang.Character> FORBIDDEN_JAVA_NAMES
-
source
@Parameter(property="johnzon.source", defaultValue="${project.basedir}/src/main/johnzon") protected java.io.File source
-
target
@Parameter(property="johnzon.target", defaultValue="${project.build.directory}/generated-sources/johnzon") protected java.io.File target
-
packageBase
@Parameter(property="johnzon.package", defaultValue="com.johnzon.generated") protected java.lang.String packageBase
-
header
@Parameter protected java.lang.String header
-
project
@Parameter(defaultValue="${project}", readonly=true) protected org.apache.maven.project.MavenProject project
-
attach
@Parameter(property="johnzon.attach", defaultValue="true") protected boolean attach
-
useRecord
@Parameter(property="johnzon.useRecord", defaultValue="false") protected boolean useRecord
-
useJsonb
@Parameter(property="johnzon.useJsonb", defaultValue="false") protected boolean useJsonb
-
ignoreNull
@Parameter(property="johnzon.ignoreNull", defaultValue="false") protected boolean ignoreNull
-
-
Method Detail
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
generate
private void generate(jakarta.json.JsonReaderFactory readerFactory, java.io.File source, java.io.Writer writer, java.lang.String javaName) throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
generateFieldsAndMethods
private void generateFieldsAndMethods(java.io.StringWriter writer, jakarta.json.JsonObject object, java.lang.String prefix, java.util.Collection<java.lang.String> imports) throws java.io.IOException- Throws:
java.io.IOException
-
handleArray
private void handleArray(java.io.Writer writer, java.lang.String prefix, java.util.Map<java.lang.String,jakarta.json.JsonObject> nestedTypes, jakarta.json.JsonValue value, java.lang.String jsonField, java.lang.String fieldName, int arrayLevel, java.util.Collection<java.lang.String> imports, boolean last) throws java.io.IOException- Throws:
java.io.IOException
-
fieldGetSetMethods
private void fieldGetSetMethods(java.io.Writer writer, java.lang.String jsonField, java.lang.String field, java.lang.String type, java.lang.String prefix, int arrayLevel, java.util.Collection<java.lang.String> imports, boolean last) throws java.io.IOException- Throws:
java.io.IOException
-
capitalize
private java.lang.String capitalize(java.lang.String str)
-
buildArrayType
private java.lang.String buildArrayType(int arrayLevel, java.lang.String type)
-
visit
private void visit(jakarta.json.JsonStructure structure, ExampleToModelMojo.Visitor visitor)
-
generateFile
private void generateFile(jakarta.json.JsonReaderFactory readerFactory, java.io.File source) throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
buildValidFieldName
private java.lang.String buildValidFieldName(java.lang.String jsonField)
-
toJavaFieldName
private java.lang.String toJavaFieldName(java.lang.String key)
-
toJavaName
private java.lang.String toJavaName(java.lang.String file)
-
-