Class GenerateYamlSupportMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
    Direct Known Subclasses:
    GenerateYamlDeserializersMojo, GenerateYamlSchemaMojo

    public abstract class GenerateYamlSupportMojo
    extends org.apache.maven.plugin.AbstractMojo
    • Field Detail

      • LIST_CLASS

        public static final org.jboss.jandex.DotName LIST_CLASS
      • SET_CLASS

        public static final org.jboss.jandex.DotName SET_CLASS
      • STRING_CLASS

        public static final org.jboss.jandex.DotName STRING_CLASS
      • CLASS_CLASS

        public static final org.jboss.jandex.DotName CLASS_CLASS
      • XML_ROOT_ELEMENT_ANNOTATION_CLASS

        public static final org.jboss.jandex.DotName XML_ROOT_ELEMENT_ANNOTATION_CLASS
      • XML_TYPE_CLASS

        public static final org.jboss.jandex.DotName XML_TYPE_CLASS
      • XML_ENUM_CLASS

        public static final org.jboss.jandex.DotName XML_ENUM_CLASS
      • XML_VALUE_CLASS

        public static final org.jboss.jandex.DotName XML_VALUE_CLASS
      • XML_ATTRIBUTE_ANNOTATION_CLASS

        public static final org.jboss.jandex.DotName XML_ATTRIBUTE_ANNOTATION_CLASS
      • XML_VALUE_ANNOTATION_CLASS

        public static final org.jboss.jandex.DotName XML_VALUE_ANNOTATION_CLASS
      • XML_ELEMENT_ANNOTATION_CLASS

        public static final org.jboss.jandex.DotName XML_ELEMENT_ANNOTATION_CLASS
      • XML_ELEMENT_REF_ANNOTATION_CLASS

        public static final org.jboss.jandex.DotName XML_ELEMENT_REF_ANNOTATION_CLASS
      • XML_ELEMENTS_ANNOTATION_CLASS

        public static final org.jboss.jandex.DotName XML_ELEMENTS_ANNOTATION_CLASS
      • XML_TRANSIENT_CLASS

        public static final org.jboss.jandex.DotName XML_TRANSIENT_CLASS
      • METADATA_ANNOTATION_CLASS

        public static final org.jboss.jandex.DotName METADATA_ANNOTATION_CLASS
      • EXPRESSION_DEFINITION_CLASS

        public static final org.jboss.jandex.DotName EXPRESSION_DEFINITION_CLASS
      • EXPRESSION_SUBELEMENT_DEFINITION_CLASS

        public static final org.jboss.jandex.DotName EXPRESSION_SUBELEMENT_DEFINITION_CLASS
      • HAS_EXPRESSION_TYPE_CLASS

        public static final org.jboss.jandex.DotName HAS_EXPRESSION_TYPE_CLASS
      • OUTPUT_NODE_CLASS

        public static final org.jboss.jandex.DotName OUTPUT_NODE_CLASS
      • PROCESSOR_DEFINITION_CLASS

        public static final org.jboss.jandex.DotName PROCESSOR_DEFINITION_CLASS
      • SEND_DEFINITION_CLASS

        public static final org.jboss.jandex.DotName SEND_DEFINITION_CLASS
      • TO_DYNAMIC_DEFINITION_CLASS

        public static final org.jboss.jandex.DotName TO_DYNAMIC_DEFINITION_CLASS
      • ERROR_HANDLER_BUILDER_CLASS

        public static final org.jboss.jandex.DotName ERROR_HANDLER_BUILDER_CLASS
      • VERB_DEFINITION_CLASS

        public static final org.jboss.jandex.DotName VERB_DEFINITION_CLASS
      • ID_AWARE_CLASS

        public static final org.jboss.jandex.DotName ID_AWARE_CLASS
      • YAML_TYPE_ANNOTATION

        public static final org.jboss.jandex.DotName YAML_TYPE_ANNOTATION
      • YAML_IN_ANNOTATION

        public static final org.jboss.jandex.DotName YAML_IN_ANNOTATION
      • YAML_OUT_ANNOTATION

        public static final org.jboss.jandex.DotName YAML_OUT_ANNOTATION
      • DSL_PROPERTY_ANNOTATION

        public static final org.jboss.jandex.DotName DSL_PROPERTY_ANNOTATION
      • CN_DESERIALIZER_RESOLVER

        public static final com.squareup.javapoet.ClassName CN_DESERIALIZER_RESOLVER
      • CN_DESERIALIZER_SUPPORT

        public static final com.squareup.javapoet.ClassName CN_DESERIALIZER_SUPPORT
      • CN_DESERIALIZER_BASE

        public static final com.squareup.javapoet.ClassName CN_DESERIALIZER_BASE
      • CN_ENDPOINT_AWARE_DESERIALIZER_BASE

        public static final com.squareup.javapoet.ClassName CN_ENDPOINT_AWARE_DESERIALIZER_BASE
      • CN_DESERIALIZATION_CONTEXT

        public static final com.squareup.javapoet.ClassName CN_DESERIALIZATION_CONTEXT
      • CN_YAML_SUPPORT

        public static final com.squareup.javapoet.ClassName CN_YAML_SUPPORT
      • CN_YAML_TYPE

        public static final com.squareup.javapoet.ClassName CN_YAML_TYPE
      • CN_YAML_PROPERTY

        public static final com.squareup.javapoet.ClassName CN_YAML_PROPERTY
      • CN_YAML_IN

        public static final com.squareup.javapoet.ClassName CN_YAML_IN
      • CN_EXPRESSION_DEFINITION

        public static final com.squareup.javapoet.ClassName CN_EXPRESSION_DEFINITION
      • CN_NODE

        public static final com.squareup.javapoet.ClassName CN_NODE
      • CN_MAPPING_NODE

        public static final com.squareup.javapoet.ClassName CN_MAPPING_NODE
      • CN_NODE_TUPLE

        public static final com.squareup.javapoet.ClassName CN_NODE_TUPLE
      • CN_SEQUENCE_NODE

        public static final com.squareup.javapoet.ClassName CN_SEQUENCE_NODE
      • CN_PROCESSOR_DEFINITION

        public static final com.squareup.javapoet.ClassName CN_PROCESSOR_DEFINITION
      • PRIMITIVE_CLASSES

        public static final Set<String> PRIMITIVE_CLASSES
      • view

        protected org.jboss.jandex.IndexView view
      • project

        @Parameter(defaultValue="${project}",
                   readonly=true,
                   required=true)
        protected org.apache.maven.project.MavenProject project
      • bannedDefinitions

        @Parameter
        protected List<String> bannedDefinitions
      • additionalDefinitions

        @Parameter
        protected List<String> additionalDefinitions
    • Constructor Detail

      • GenerateYamlSupportMojo

        public GenerateYamlSupportMojo()
    • Method Detail

      • hasAnnotation

        protected static boolean hasAnnotation​(org.jboss.jandex.ClassInfo target,
                                               org.jboss.jandex.DotName annotationName)
      • hasAnnotation

        protected static boolean hasAnnotation​(org.jboss.jandex.FieldInfo target,
                                               org.jboss.jandex.DotName annotationName)
      • hasAnnotationValue

        protected static boolean hasAnnotationValue​(org.jboss.jandex.ClassInfo target,
                                                    org.jboss.jandex.DotName annotationName,
                                                    String name)
      • annotationValue

        protected static Optional<org.jboss.jandex.AnnotationValue> annotationValue​(org.jboss.jandex.AnnotationInstance instance,
                                                                                    String name)
      • annotationValue

        protected static Optional<org.jboss.jandex.AnnotationValue> annotationValue​(org.jboss.jandex.ClassInfo target,
                                                                                    org.jboss.jandex.DotName annotationName,
                                                                                    String name)
      • annotationValue

        protected static Optional<org.jboss.jandex.AnnotationValue> annotationValue​(org.jboss.jandex.FieldInfo target,
                                                                                    org.jboss.jandex.DotName annotationName,
                                                                                    String name)
      • annotationValue

        protected static Optional<org.jboss.jandex.AnnotationValue> annotationValue​(org.jboss.jandex.MethodInfo target,
                                                                                    org.jboss.jandex.DotName annotationName,
                                                                                    String name)
      • combine

        protected static Stream<String> combine​(String... items)
        Combines the given items assuming they can be also composed by comma separated elements.
        Parameters:
        items - the items
        Returns:
        a stream of individual items
      • yamlProperty

        protected static com.squareup.javapoet.AnnotationSpec yamlProperty​(String name,
                                                                           String type)
      • yamlProperty

        protected static com.squareup.javapoet.AnnotationSpec yamlProperty​(String name,
                                                                           String type,
                                                                           boolean required)
      • yamlPropertyWithFormat

        protected static com.squareup.javapoet.AnnotationSpec yamlPropertyWithFormat​(String name,
                                                                                     String type,
                                                                                     String format)
      • yamlPropertyWithFormat

        protected static com.squareup.javapoet.AnnotationSpec yamlPropertyWithFormat​(String name,
                                                                                     String type,
                                                                                     String format,
                                                                                     boolean required)
      • yamlPropertyWithSubtype

        protected static com.squareup.javapoet.AnnotationSpec yamlPropertyWithSubtype​(String name,
                                                                                      String type,
                                                                                      String subType)
      • yamlPropertyWithSubtype

        protected static com.squareup.javapoet.AnnotationSpec yamlPropertyWithSubtype​(String name,
                                                                                      String type,
                                                                                      String subType,
                                                                                      boolean required)
      • getYamlTypeOrder

        protected static int getYamlTypeOrder​(org.jboss.jandex.ClassInfo ci)
      • execute

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

        protected abstract void generate()
                                  throws org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoFailureException
      • implementors

        protected Stream<org.jboss.jandex.ClassInfo> implementors​(org.jboss.jandex.DotName type)
      • annotated

        protected Stream<org.jboss.jandex.ClassInfo> annotated​(org.jboss.jandex.DotName type)
      • elementsOf

        protected Map<String,​org.jboss.jandex.ClassInfo> elementsOf​(org.jboss.jandex.DotName type)
      • loadClass

        protected Class<?> loadClass​(org.jboss.jandex.ClassInfo ci)
      • loadClass

        protected Class<?> loadClass​(String className)
      • all

        protected Stream<org.jboss.jandex.ClassInfo> all()
      • models

        protected Map<String,​org.jboss.jandex.ClassInfo> models()
        Load all the models.
      • definitions

        protected Set<org.jboss.jandex.ClassInfo> definitions()
        Load all the definitions.
      • definitions

        protected Set<org.jboss.jandex.ClassInfo> definitions​(org.jboss.jandex.ClassInfo ci)
        Load all the definitions.
      • fields

        protected Set<org.jboss.jandex.FieldInfo> fields​(org.jboss.jandex.ClassInfo ci)
      • methods

        protected Set<org.jboss.jandex.MethodInfo> methods​(org.jboss.jandex.ClassInfo ci)
      • fieldName

        protected String fieldName​(org.jboss.jandex.FieldInfo field)
      • isRequired

        protected boolean isRequired​(org.jboss.jandex.FieldInfo fi)
      • extendsType

        protected boolean extendsType​(org.jboss.jandex.Type type,
                                      org.jboss.jandex.DotName superType)
      • extendsType

        protected boolean extendsType​(org.jboss.jandex.ClassInfo ci,
                                      org.jboss.jandex.DotName superType)
      • implementType

        protected boolean implementType​(org.jboss.jandex.Type type,
                                        org.jboss.jandex.DotName interfaceType)
      • implementType

        protected boolean implementType​(org.jboss.jandex.ClassInfo ci,
                                        org.jboss.jandex.DotName interfaceType)
      • isBanned

        protected boolean isBanned​(org.jboss.jandex.ClassInfo ci)
      • implementsOrExtends

        protected Stream<org.jboss.jandex.ClassInfo> implementsOrExtends​(org.jboss.jandex.Type ci)
      • fieldName

        protected String fieldName​(org.jboss.jandex.ClassInfo ci,
                                   org.jboss.jandex.FieldInfo fi)