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
Fields Modifier and Type Field Description protected List<String>
additionalDefinitions
protected List<String>
bannedDefinitions
static org.jboss.jandex.DotName
CLASS_CLASS
static com.squareup.javapoet.ClassName
CN_DESERIALIZATION_CONTEXT
static com.squareup.javapoet.ClassName
CN_DESERIALIZER_BASE
static com.squareup.javapoet.ClassName
CN_DESERIALIZER_RESOLVER
static com.squareup.javapoet.ClassName
CN_DESERIALIZER_SUPPORT
static com.squareup.javapoet.ClassName
CN_ENDPOINT_AWARE_DESERIALIZER_BASE
static com.squareup.javapoet.ClassName
CN_EXPRESSION_DEFINITION
static com.squareup.javapoet.ClassName
CN_MAPPING_NODE
static com.squareup.javapoet.ClassName
CN_NODE
static com.squareup.javapoet.ClassName
CN_NODE_TUPLE
static com.squareup.javapoet.ClassName
CN_PROCESSOR_DEFINITION
static com.squareup.javapoet.ClassName
CN_SEQUENCE_NODE
static com.squareup.javapoet.ClassName
CN_YAML_IN
static com.squareup.javapoet.ClassName
CN_YAML_PROPERTY
static com.squareup.javapoet.ClassName
CN_YAML_SUPPORT
static com.squareup.javapoet.ClassName
CN_YAML_TYPE
static org.jboss.jandex.DotName
DSL_PROPERTY_ANNOTATION
static org.jboss.jandex.DotName
ERROR_HANDLER_BUILDER_CLASS
static org.jboss.jandex.DotName
EXPRESSION_DEFINITION_CLASS
static org.jboss.jandex.DotName
EXPRESSION_SUBELEMENT_DEFINITION_CLASS
static org.jboss.jandex.DotName
HAS_EXPRESSION_TYPE_CLASS
static org.jboss.jandex.DotName
ID_AWARE_CLASS
static org.jboss.jandex.DotName
LIST_CLASS
static org.jboss.jandex.DotName
METADATA_ANNOTATION_CLASS
static org.jboss.jandex.DotName
OUTPUT_NODE_CLASS
static Set<String>
PRIMITIVE_CLASSES
static org.jboss.jandex.DotName
PROCESSOR_DEFINITION_CLASS
protected org.apache.maven.project.MavenProject
project
static org.jboss.jandex.DotName
SEND_DEFINITION_CLASS
static org.jboss.jandex.DotName
SET_CLASS
static org.jboss.jandex.DotName
STRING_CLASS
static org.jboss.jandex.DotName
TO_DYNAMIC_DEFINITION_CLASS
static org.jboss.jandex.DotName
VERB_DEFINITION_CLASS
protected org.jboss.jandex.IndexView
view
static org.jboss.jandex.DotName
XML_ATTRIBUTE_ANNOTATION_CLASS
static org.jboss.jandex.DotName
XML_ELEMENT_ANNOTATION_CLASS
static org.jboss.jandex.DotName
XML_ELEMENT_REF_ANNOTATION_CLASS
static org.jboss.jandex.DotName
XML_ELEMENTS_ANNOTATION_CLASS
static org.jboss.jandex.DotName
XML_ENUM_CLASS
static org.jboss.jandex.DotName
XML_ROOT_ELEMENT_ANNOTATION_CLASS
static org.jboss.jandex.DotName
XML_TRANSIENT_CLASS
static org.jboss.jandex.DotName
XML_TYPE_CLASS
static org.jboss.jandex.DotName
XML_VALUE_ANNOTATION_CLASS
static org.jboss.jandex.DotName
XML_VALUE_CLASS
static org.jboss.jandex.DotName
YAML_IN_ANNOTATION
static org.jboss.jandex.DotName
YAML_OUT_ANNOTATION
static org.jboss.jandex.DotName
YAML_TYPE_ANNOTATION
-
Constructor Summary
Constructors Constructor Description GenerateYamlSupportMojo()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected 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)
protected static Optional<org.jboss.jandex.AnnotationValue>
annotationValue(org.jboss.jandex.MethodInfo target, org.jboss.jandex.DotName annotationName, String name)
protected static Stream<String>
combine(String... items)
Combines the given items assuming they can be also composed by comma separated elements.protected Set<org.jboss.jandex.ClassInfo>
definitions()
Load all the definitions.protected Set<org.jboss.jandex.ClassInfo>
definitions(org.jboss.jandex.ClassInfo ci)
Load all the definitions.protected Map<String,org.jboss.jandex.ClassInfo>
elementsOf(org.jboss.jandex.DotName type)
void
execute()
protected boolean
extendsType(org.jboss.jandex.ClassInfo ci, org.jboss.jandex.DotName superType)
protected boolean
extendsType(org.jboss.jandex.Type type, org.jboss.jandex.DotName superType)
protected String
fieldName(org.jboss.jandex.ClassInfo ci, org.jboss.jandex.FieldInfo fi)
protected String
fieldName(org.jboss.jandex.FieldInfo field)
protected Set<org.jboss.jandex.FieldInfo>
fields(org.jboss.jandex.ClassInfo ci)
protected <T> Optional<T>
firstPresent(Optional<T>... optionals)
protected abstract void
generate()
protected static int
getYamlTypeOrder(org.jboss.jandex.ClassInfo ci)
protected static boolean
hasAnnotation(org.jboss.jandex.ClassInfo target, org.jboss.jandex.DotName annotationName)
protected static boolean
hasAnnotation(org.jboss.jandex.FieldInfo target, org.jboss.jandex.DotName annotationName)
protected static boolean
hasAnnotationValue(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 boolean
implementType(org.jboss.jandex.ClassInfo ci, org.jboss.jandex.DotName interfaceType)
protected boolean
implementType(org.jboss.jandex.Type type, org.jboss.jandex.DotName interfaceType)
protected boolean
isBanned(org.jboss.jandex.ClassInfo ci)
protected boolean
isRequired(org.jboss.jandex.FieldInfo fi)
protected Class<?>
loadClass(String className)
protected Class<?>
loadClass(org.jboss.jandex.ClassInfo ci)
protected Set<org.jboss.jandex.MethodInfo>
methods(org.jboss.jandex.ClassInfo ci)
protected Map<String,org.jboss.jandex.ClassInfo>
models()
Load all the models.protected static com.squareup.javapoet.AnnotationSpec
yamlProperty(String name, String type)
protected static com.squareup.javapoet.AnnotationSpec
yamlProperty(String name, String type, boolean required)
protected static com.squareup.javapoet.AnnotationSpec
yamlPropertyWithFormat(String name, String type, String format)
protected static com.squareup.javapoet.AnnotationSpec
yamlPropertyWithFormat(String name, String type, String format, boolean required)
protected static com.squareup.javapoet.AnnotationSpec
yamlPropertyWithSubtype(String name, String type, String subType)
protected static com.squareup.javapoet.AnnotationSpec
yamlPropertyWithSubtype(String name, String type, String subType, boolean required)
-
-
-
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
-
view
protected org.jboss.jandex.IndexView view
-
project
@Parameter(defaultValue="${project}", readonly=true, required=true) protected org.apache.maven.project.MavenProject project
-
-
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)
-
all
protected Stream<org.jboss.jandex.ClassInfo> all()
-
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)
-
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)
-
-