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 interface
ExampleToModelMojo.Visitor
-
Field Summary
Fields Modifier and Type Field Description protected boolean
attach
private static java.util.List<java.lang.Character>
FORBIDDEN_JAVA_NAMES
protected java.lang.String
header
protected boolean
ignoreNull
protected java.lang.String
packageBase
protected org.apache.maven.project.MavenProject
project
protected java.io.File
source
protected java.io.File
target
protected boolean
useJsonb
protected boolean
useRecord
-
Constructor Summary
Constructors Constructor Description ExampleToModelMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
buildArrayType(int arrayLevel, java.lang.String type)
private java.lang.String
buildValidFieldName(java.lang.String jsonField)
private java.lang.String
capitalize(java.lang.String str)
void
execute()
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)
private void
generate(jakarta.json.JsonReaderFactory readerFactory, java.io.File source, java.io.Writer writer, java.lang.String javaName)
private void
generateFieldsAndMethods(java.io.StringWriter writer, jakarta.json.JsonObject object, java.lang.String prefix, java.util.Collection<java.lang.String> imports)
private void
generateFile(jakarta.json.JsonReaderFactory readerFactory, java.io.File source)
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)
private java.lang.String
toJavaFieldName(java.lang.String key)
private java.lang.String
toJavaName(java.lang.String file)
private void
visit(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)
-
-