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
  • Field Details

    • FORBIDDEN_JAVA_NAMES

      private static final List<Character> FORBIDDEN_JAVA_NAMES
    • source

      @Parameter(property="johnzon.source", defaultValue="${project.basedir}/src/main/johnzon") protected File source
    • target

      @Parameter(property="johnzon.target", defaultValue="${project.build.directory}/generated-sources/johnzon") protected File target
    • packageBase

      @Parameter(property="johnzon.package", defaultValue="com.johnzon.generated") protected String packageBase
    • 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
  • Constructor Details

    • ExampleToModelMojo

      public ExampleToModelMojo()
  • Method Details

    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • generate

      private void generate(jakarta.json.JsonReaderFactory readerFactory, File source, Writer writer, String javaName) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • generateFieldsAndMethods

      private void generateFieldsAndMethods(StringWriter writer, jakarta.json.JsonObject object, String prefix, Collection<String> imports) throws IOException
      Throws:
      IOException
    • handleArray

      private void handleArray(Writer writer, String prefix, Map<String,jakarta.json.JsonObject> nestedTypes, jakarta.json.JsonValue value, String jsonField, String fieldName, int arrayLevel, Collection<String> imports, boolean last) throws IOException
      Throws:
      IOException
    • fieldGetSetMethods

      private void fieldGetSetMethods(Writer writer, String jsonField, String field, String type, String prefix, int arrayLevel, Collection<String> imports, boolean last) throws IOException
      Throws:
      IOException
    • capitalize

      private String capitalize(String str)
    • buildArrayType

      private String buildArrayType(int arrayLevel, String type)
    • visit

      private void visit(jakarta.json.JsonStructure structure, ExampleToModelMojo.Visitor visitor)
    • generateFile

      private void generateFile(jakarta.json.JsonReaderFactory readerFactory, File source) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • buildValidFieldName

      private String buildValidFieldName(String jsonField)
    • toJavaFieldName

      private String toJavaFieldName(String key)
    • toJavaName

      private String toJavaName(String file)