Package org.apache.camel.maven.dsl.yaml
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 Summary
FieldsModifier and TypeFieldDescriptionstatic final org.jboss.jandex.DotNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final com.squareup.javapoet.ClassNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNameprotected org.apache.maven.project.MavenProjectstatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNameprotected org.jboss.jandex.IndexViewstatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNamestatic final org.jboss.jandex.DotNameFields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Stream<org.jboss.jandex.ClassInfo> all()protected Stream<org.jboss.jandex.ClassInfo> annotated(org.jboss.jandex.DotName type) protected static Optional<org.jboss.jandex.AnnotationValue> annotationValue(org.jboss.jandex.AnnotationInstance instance, String name) protected static Optional<org.jboss.jandex.AnnotationValue> annotationValue(org.jboss.jandex.ClassInfo target, org.jboss.jandex.DotName annotationName, String name) protected static Optional<org.jboss.jandex.AnnotationValue> annotationValue(org.jboss.jandex.FieldInfo target, org.jboss.jandex.DotName annotationName, String name) Combines the given items assuming they can be also composed by comma separated elements.protected Set<org.jboss.jandex.ClassInfo> Load all the definitions.protected Set<org.jboss.jandex.ClassInfo> definitions(org.jboss.jandex.ClassInfo ci) Load all the definitions.elementsOf(org.jboss.jandex.DotName type) voidexecute()protected booleanextendsType(org.jboss.jandex.ClassInfo ci, org.jboss.jandex.DotName superType) protected booleanextendsType(org.jboss.jandex.Type type, org.jboss.jandex.DotName superType) protected StringfieldName(org.jboss.jandex.ClassInfo ci, org.jboss.jandex.FieldInfo fi) As stated in the JAXB specification: In case of@XmlAttributeand@XmlElement, the name is retrieved from the annotation if it has been set, otherwise the field name is used In case of@XmlElementRefand@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@XmlRootElementon the type being referenced.protected StringfieldName(org.jboss.jandex.FieldInfo field) protected Set<org.jboss.jandex.FieldInfo> fields(org.jboss.jandex.ClassInfo ci) protected final <T> Optional<T> firstPresent(Optional<T>... optionals) protected abstract voidgenerate()protected StringgetEnums(org.jboss.jandex.FieldInfo fi) protected StringgetJavaType(org.jboss.jandex.FieldInfo fi) protected static intgetYamlTypeOrder(org.jboss.jandex.ClassInfo ci) protected static booleanhasAnnotation(org.jboss.jandex.ClassInfo target, org.jboss.jandex.DotName annotationName) protected static booleanhasAnnotation(org.jboss.jandex.FieldInfo target, org.jboss.jandex.DotName annotationName) protected static booleanhasAnnotationValue(org.jboss.jandex.ClassInfo target, org.jboss.jandex.DotName annotationName, String name) protected Stream<org.jboss.jandex.ClassInfo> implementors(org.jboss.jandex.DotName type) protected Stream<org.jboss.jandex.ClassInfo> implementsOrExtends(org.jboss.jandex.Type ci) protected booleanimplementType(org.jboss.jandex.ClassInfo ci, org.jboss.jandex.DotName interfaceType) protected booleanimplementType(org.jboss.jandex.Type type, org.jboss.jandex.DotName interfaceType) protected booleanisBanned(org.jboss.jandex.ClassInfo ci) protected booleanisDeprecated(org.jboss.jandex.FieldInfo fi) protected booleanisEnum(org.jboss.jandex.FieldInfo fi) protected booleanisRequired(org.jboss.jandex.FieldInfo fi) protected Class<?> protected Class<?> loadClass(org.jboss.jandex.ClassInfo ci) protected Set<org.jboss.jandex.MethodInfo> methods(org.jboss.jandex.ClassInfo ci) models()Load all the models.protected static com.squareup.javapoet.AnnotationSpecyamlProperty(String name, String type) protected static com.squareup.javapoet.AnnotationSpecyamlProperty(String name, String type, boolean required, boolean deprecated, String oneOf) protected static com.squareup.javapoet.AnnotationSpecyamlProperty(String name, String type, String oneOf) protected static com.squareup.javapoet.AnnotationSpecyamlPropertyWithFormat(String name, String type, String format) protected static com.squareup.javapoet.AnnotationSpecyamlPropertyWithFormat(String name, String type, String format, boolean required, boolean deprecated) protected static com.squareup.javapoet.AnnotationSpecyamlPropertyWithSubtype(String name, String type, String subType, boolean required, String oneOf) protected static com.squareup.javapoet.AnnotationSpecyamlPropertyWithSubtype(String name, String type, String subType, String oneOf) Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
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
-
view
protected org.jboss.jandex.IndexView view -
project
@Parameter(defaultValue="${project}", readonly=true, required=true) protected org.apache.maven.project.MavenProject project -
bannedDefinitions
-
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
-
annotationValue
-
annotationValue
-
combine
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
-
yamlProperty
-
yamlProperty
-
yamlPropertyWithFormat
-
yamlPropertyWithFormat
-
yamlPropertyWithSubtype
-
yamlPropertyWithSubtype
-
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
-
annotated
-
elementsOf
-
loadClass
-
loadClass
-
all
-
models
Load all the models. -
definitions
Load all the definitions. -
definitions
Load all the definitions. -
fields
-
methods
-
firstPresent
-
fieldName
- See Also:
-
isRequired
protected boolean isRequired(org.jboss.jandex.FieldInfo fi) -
getEnums
-
getJavaType
-
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
-
fieldName
As stated in the JAXB specification:- In case of
@XmlAttributeand@XmlElement, the name is retrieved from the annotation if it has been set, otherwise the field name is used - In case of
@XmlElementRefand@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@XmlRootElementon the type being referenced.
- In case of
-