Class JavaAnnotationsMojoDescriptorExtractor

  • All Implemented Interfaces:
    MojoDescriptorExtractor, org.codehaus.plexus.logging.LogEnabled

    @Component(role=MojoDescriptorExtractor.class,
               hint="java-annotations")
    public class JavaAnnotationsMojoDescriptorExtractor
    extends org.codehaus.plexus.logging.AbstractLogEnabled
    implements MojoDescriptorExtractor
    JavaMojoDescriptorExtractor, a MojoDescriptor extractor to read descriptors from java classes with annotations. Notice that source files are also parsed to get description, since and deprecation information.
    Since:
    3.0
    • Field Detail

      • artifactResolver

        @Requirement
        private org.apache.maven.artifact.resolver.ArtifactResolver artifactResolver
      • artifactFactory

        @Requirement
        private org.apache.maven.artifact.factory.ArtifactFactory artifactFactory
      • archiverManager

        @Requirement
        private org.codehaus.plexus.archiver.manager.ArchiverManager archiverManager
    • Constructor Detail

      • JavaAnnotationsMojoDescriptorExtractor

        public JavaAnnotationsMojoDescriptorExtractor()
    • Method Detail

      • isMojoAnnnotatedClassCandidate

        private boolean isMojoAnnnotatedClassCandidate​(MojoAnnotatedClass mojoAnnotatedClass)
      • discoverClassesFromSourcesJar

        protected java.util.Map<java.lang.String,​com.thoughtworks.qdox.model.JavaClass> discoverClassesFromSourcesJar​(org.apache.maven.artifact.Artifact artifact,
                                                                                                                            PluginToolsRequest request,
                                                                                                                            java.lang.String classifier)
                                                                                                                     throws ExtractionException
        Throws:
        ExtractionException
      • populateDataFromJavadoc

        protected void populateDataFromJavadoc​(java.util.Map<java.lang.String,​MojoAnnotatedClass> mojoAnnotatedClasses,
                                               java.util.Map<java.lang.String,​com.thoughtworks.qdox.model.JavaClass> javaClassesMap)
        from sources scan to get @since and @deprecated and description of classes and fields.
        Parameters:
        mojoAnnotatedClasses -
        javaClassesMap -
      • findInClassHierarchy

        private com.thoughtworks.qdox.model.DocletTag findInClassHierarchy​(com.thoughtworks.qdox.model.JavaClass javaClass,
                                                                           java.lang.String tagName)
        Parameters:
        javaClass - not null
        tagName - not null
        Returns:
        docletTag instance
      • extractFieldParameterTags

        private java.util.Map<java.lang.String,​com.thoughtworks.qdox.model.JavaField> extractFieldParameterTags​(com.thoughtworks.qdox.model.JavaClass javaClass,
                                                                                                                      java.util.Map<java.lang.String,​com.thoughtworks.qdox.model.JavaClass> javaClassesMap)
        extract fields that are either parameters or components.
        Parameters:
        javaClass - not null
        Returns:
        map with Mojo parameters names as keys
      • discoverClasses

        protected java.util.Map<java.lang.String,​com.thoughtworks.qdox.model.JavaClass> discoverClasses​(PluginToolsRequest request)
      • discoverClasses

        protected java.util.Map<java.lang.String,​com.thoughtworks.qdox.model.JavaClass> discoverClasses​(java.lang.String encoding,
                                                                                                              org.apache.maven.project.MavenProject project)
      • discoverClasses

        protected java.util.Map<java.lang.String,​com.thoughtworks.qdox.model.JavaClass> discoverClasses​(java.lang.String encoding,
                                                                                                              java.util.List<java.io.File> sourceDirectories,
                                                                                                              java.util.Set<org.apache.maven.artifact.Artifact> artifacts)
      • toMojoDescriptors

        private java.util.List<org.apache.maven.plugin.descriptor.MojoDescriptor> toMojoDescriptors​(java.util.Map<java.lang.String,​MojoAnnotatedClass> mojoAnnotatedClasses,
                                                                                                    org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor)
                                                                                             throws org.apache.maven.plugin.descriptor.DuplicateParameterException,
                                                                                                    org.apache.maven.plugin.descriptor.InvalidParameterException
        Throws:
        org.apache.maven.plugin.descriptor.DuplicateParameterException
        org.apache.maven.plugin.descriptor.InvalidParameterException
      • getFromProjectReferences

        protected org.apache.maven.project.MavenProject getFromProjectReferences​(org.apache.maven.artifact.Artifact artifact,
                                                                                 org.apache.maven.project.MavenProject project)