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>additionalDefinitionsprotected List<String>bannedDefinitionsstatic org.jboss.jandex.DotNameCLASS_CLASSstatic com.squareup.javapoet.ClassNameCN_DESERIALIZATION_CONTEXTstatic com.squareup.javapoet.ClassNameCN_DESERIALIZER_BASEstatic com.squareup.javapoet.ClassNameCN_DESERIALIZER_RESOLVERstatic com.squareup.javapoet.ClassNameCN_DESERIALIZER_SUPPORTstatic com.squareup.javapoet.ClassNameCN_ENDPOINT_AWARE_DESERIALIZER_BASEstatic com.squareup.javapoet.ClassNameCN_EXPRESSION_DEFINITIONstatic com.squareup.javapoet.ClassNameCN_MAPPING_NODEstatic com.squareup.javapoet.ClassNameCN_NODEstatic com.squareup.javapoet.ClassNameCN_NODE_TUPLEstatic com.squareup.javapoet.ClassNameCN_PROCESSOR_DEFINITIONstatic com.squareup.javapoet.ClassNameCN_SEQUENCE_NODEstatic com.squareup.javapoet.ClassNameCN_YAML_INstatic com.squareup.javapoet.ClassNameCN_YAML_PROPERTYstatic com.squareup.javapoet.ClassNameCN_YAML_SUPPORTstatic com.squareup.javapoet.ClassNameCN_YAML_TYPEstatic org.jboss.jandex.DotNameDSL_PROPERTY_ANNOTATIONstatic org.jboss.jandex.DotNameERROR_HANDLER_BUILDER_CLASSstatic org.jboss.jandex.DotNameEXPRESSION_DEFINITION_CLASSstatic org.jboss.jandex.DotNameEXPRESSION_SUBELEMENT_DEFINITION_CLASSstatic org.jboss.jandex.DotNameHAS_EXPRESSION_TYPE_CLASSstatic org.jboss.jandex.DotNameID_AWARE_CLASSstatic org.jboss.jandex.DotNameLIST_CLASSstatic org.jboss.jandex.DotNameMETADATA_ANNOTATION_CLASSstatic org.jboss.jandex.DotNameOUTPUT_NODE_CLASSstatic Set<String>PRIMITIVE_CLASSESstatic org.jboss.jandex.DotNamePROCESSOR_DEFINITION_CLASSprotected org.apache.maven.project.MavenProjectprojectstatic org.jboss.jandex.DotNameSEND_DEFINITION_CLASSstatic org.jboss.jandex.DotNameSET_CLASSstatic org.jboss.jandex.DotNameSTRING_CLASSstatic org.jboss.jandex.DotNameTO_DYNAMIC_DEFINITION_CLASSstatic org.jboss.jandex.DotNameVERB_DEFINITION_CLASSprotected org.jboss.jandex.IndexViewviewstatic org.jboss.jandex.DotNameXML_ATTRIBUTE_ANNOTATION_CLASSstatic org.jboss.jandex.DotNameXML_ELEMENT_ANNOTATION_CLASSstatic org.jboss.jandex.DotNameXML_ELEMENT_REF_ANNOTATION_CLASSstatic org.jboss.jandex.DotNameXML_ELEMENTS_ANNOTATION_CLASSstatic org.jboss.jandex.DotNameXML_ENUM_CLASSstatic org.jboss.jandex.DotNameXML_ROOT_ELEMENT_ANNOTATION_CLASSstatic org.jboss.jandex.DotNameXML_TRANSIENT_CLASSstatic org.jboss.jandex.DotNameXML_TYPE_CLASSstatic org.jboss.jandex.DotNameXML_VALUE_ANNOTATION_CLASSstatic org.jboss.jandex.DotNameXML_VALUE_CLASSstatic org.jboss.jandex.DotNameYAML_IN_ANNOTATIONstatic org.jboss.jandex.DotNameYAML_OUT_ANNOTATIONstatic org.jboss.jandex.DotNameYAML_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)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)protected StringfieldName(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 voidgenerate()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 booleanisRequired(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.AnnotationSpecyamlProperty(String name, String type)protected static com.squareup.javapoet.AnnotationSpecyamlProperty(String name, String type, boolean required)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)protected static com.squareup.javapoet.AnnotationSpecyamlPropertyWithSubtype(String name, String type, String subType)protected static com.squareup.javapoet.AnnotationSpecyamlPropertyWithSubtype(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)
-
-