Class GenerateYamlSupportMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.camel.maven.dsl.yaml.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 Details

    • 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
    • DEPRECATED_ANNOTATION_CLASS

      public static final org.jboss.jandex.DotName DEPRECATED_ANNOTATION_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
    • XML_ANY_ELEMENT_CLASS

      public static final org.jboss.jandex.DotName XML_ANY_ELEMENT_CLASS
    • XML_JAVA_TYPE_ADAPTER_CLASS

      public static final org.jboss.jandex.DotName XML_JAVA_TYPE_ADAPTER_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
    • ERROR_HANDLER_DEFINITION_CLASS

      public static final org.jboss.jandex.DotName ERROR_HANDLER_DEFINITION_CLASS
    • REF_ERROR_HANDLER_DEFINITION_CLASS

      public static final org.jboss.jandex.DotName REF_ERROR_HANDLER_DEFINITION_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_PROPERTY_GROUP

      public static final com.squareup.javapoet.ClassName CN_YAML_PROPERTY_GROUP
    • 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 Details

    • GenerateYamlSupportMojo

      public GenerateYamlSupportMojo()
  • Method Details

    • 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)
    • 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, String oneOf)
    • 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, boolean deprecated, String oneOf)
    • 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, boolean deprecated)
    • yamlPropertyWithSubtype

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

      protected static com.squareup.javapoet.AnnotationSpec yamlPropertyWithSubtype(String name, String type, String subType, boolean required, String oneOf)
    • 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)
    • firstPresent

      @SafeVarargs protected final <T> Optional<T> firstPresent(Optional<T>... optionals)
    • fieldName

      protected String fieldName(org.jboss.jandex.FieldInfo field)
      See Also:
    • isRequired

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

      protected String getEnums(org.jboss.jandex.FieldInfo fi)
    • getJavaType

      protected String getJavaType(org.jboss.jandex.FieldInfo fi)
    • isEnum

      protected boolean isEnum(org.jboss.jandex.FieldInfo fi)
    • isDeprecated

      protected boolean isDeprecated(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)
      As stated in the JAXB specification:
      • In case of @XmlAttribute and @XmlElement, the name is retrieved from the annotation if it has been set, otherwise the field name is used
      • In case of @XmlElementRef and @DslProperty (the latter is specific to Camel), the name is retrieved from the annotation if it has been set, otherwise it is retrieved from the annotation @XmlRootElement on the type being referenced.