Class 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 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  
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • 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)  
      • Methods inherited from class org.apache.maven.plugin.AbstractMojo

        getLog, getPluginContext, setLog, setPluginContext
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • ExampleToModelMojo

        public ExampleToModelMojo()
    • 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)
      • 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)