Class AbstractMavenReport

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.apache.maven.reporting.MavenMultiPageReport, org.apache.maven.reporting.MavenReport

    public abstract class AbstractMavenReport
    extends org.apache.maven.plugin.AbstractMojo
    implements org.apache.maven.reporting.MavenMultiPageReport
    The basis for a Maven report which can be generated both as part of a site generation or as a direct standalone goal invocation. Both invocations are delegated to abstract executeReport( Locale ) from:
    • Mojo's execute() method, see maven-plugin-api
    • MavenMultiPageReport's generate( Sink, SinkFactory, Locale ), see maven-reporting-api
    Since:
    2.0
    Author:
    Emmanuel Venisse
    See Also:
    Mojo.execute(), from maven-plugin-api, MavenMultiPageReport.generate( Sink, SinkFactory, Locale ), from maven-reporting-api, abstract executeReport( Locale )
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.io.File outputDirectory
      The output directory for the report.
      protected org.apache.maven.project.MavenProject project
      The Maven Project.
      protected org.apache.maven.doxia.siterenderer.Renderer siteRenderer
      Doxia Site Renderer component.
      • Fields inherited from interface org.apache.maven.reporting.MavenReport

        CATEGORY_PROJECT_INFORMATION, CATEGORY_PROJECT_REPORTS, ROLE
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      boolean canGenerateReport()  
      protected void closeReport()
      Actions when closing the report.
      void execute()
      This method is called when the report generation is invoked directly as a standalone Mojo.
      protected abstract void executeReport​(java.util.Locale locale)
      Execute the generation of the report.
      void generate​(org.apache.maven.doxia.sink.Sink sink, java.util.Locale locale)
      Deprecated.
      void generate​(org.apache.maven.doxia.sink.Sink sink, org.apache.maven.doxia.sink.SinkFactory sinkFactory, java.util.Locale locale)
      This method is called when the report generation is invoked by maven-site-plugin.
      void generate​(org.codehaus.doxia.sink.Sink sink, java.util.Locale locale)
      Deprecated.
      java.lang.String getCategoryName()  
      protected java.lang.String getInputEncoding()
      Gets the input files encoding.
      protected java.lang.String getOutputDirectory()  
      protected java.lang.String getOutputEncoding()
      Gets the effective reporting output files encoding.
      protected org.apache.maven.project.MavenProject getProject()  
      java.io.File getReportOutputDirectory()  
      org.apache.maven.doxia.sink.Sink getSink()  
      org.apache.maven.doxia.sink.SinkFactory getSinkFactory()  
      protected org.apache.maven.doxia.siterenderer.Renderer getSiteRenderer()  
      boolean isExternalReport()  
      void setReportOutputDirectory​(java.io.File reportOutputDirectory)  
      • Methods inherited from class org.apache.maven.plugin.AbstractMojo

        getLog, getPluginContext, setLog, setPluginContext
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.apache.maven.reporting.MavenReport

        getDescription, getName, getOutputName
    • Field Detail

      • outputDirectory

        @Parameter(defaultValue="${project.reporting.outputDirectory}",
                   readonly=true,
                   required=true)
        protected java.io.File outputDirectory
        The output directory for the report. Note that this parameter is only evaluated if the goal is run directly from the command line. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.
      • project

        @Parameter(defaultValue="${project}",
                   readonly=true,
                   required=true)
        protected org.apache.maven.project.MavenProject project
        The Maven Project.
      • siteRenderer

        @Component
        protected org.apache.maven.doxia.siterenderer.Renderer siteRenderer
        Doxia Site Renderer component.
    • Constructor Detail

      • AbstractMavenReport

        public AbstractMavenReport()
    • Method Detail

      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException
        This method is called when the report generation is invoked directly as a standalone Mojo.
        Specified by:
        execute in interface org.apache.maven.plugin.Mojo
        Throws:
        org.apache.maven.plugin.MojoExecutionException - if an error occurs when generating the report
        See Also:
        Mojo.execute()
      • generate

        @Deprecated
        public void generate​(org.codehaus.doxia.sink.Sink sink,
                             java.util.Locale locale)
                      throws org.apache.maven.reporting.MavenReportException
        Deprecated.
        Generate a report.
        Parameters:
        sink - the sink to use for the generation.
        locale - the wanted locale to generate the report, could be null.
        Throws:
        org.apache.maven.reporting.MavenReportException - if any
      • generate

        @Deprecated
        public void generate​(org.apache.maven.doxia.sink.Sink sink,
                             java.util.Locale locale)
                      throws org.apache.maven.reporting.MavenReportException
        Deprecated.
        Generate a report.
        Specified by:
        generate in interface org.apache.maven.reporting.MavenReport
        Parameters:
        sink -
        locale -
        Throws:
        org.apache.maven.reporting.MavenReportException
      • generate

        public void generate​(org.apache.maven.doxia.sink.Sink sink,
                             org.apache.maven.doxia.sink.SinkFactory sinkFactory,
                             java.util.Locale locale)
                      throws org.apache.maven.reporting.MavenReportException
        This method is called when the report generation is invoked by maven-site-plugin.
        Specified by:
        generate in interface org.apache.maven.reporting.MavenMultiPageReport
        Parameters:
        sink -
        sinkFactory -
        locale -
        Throws:
        org.apache.maven.reporting.MavenReportException
      • getCategoryName

        public java.lang.String getCategoryName()
        Specified by:
        getCategoryName in interface org.apache.maven.reporting.MavenReport
        Returns:
        CATEGORY_PROJECT_REPORTS
      • getReportOutputDirectory

        public java.io.File getReportOutputDirectory()
        Specified by:
        getReportOutputDirectory in interface org.apache.maven.reporting.MavenReport
      • setReportOutputDirectory

        public void setReportOutputDirectory​(java.io.File reportOutputDirectory)
        Specified by:
        setReportOutputDirectory in interface org.apache.maven.reporting.MavenReport
      • getOutputDirectory

        protected java.lang.String getOutputDirectory()
      • getProject

        protected org.apache.maven.project.MavenProject getProject()
      • getSiteRenderer

        protected org.apache.maven.doxia.siterenderer.Renderer getSiteRenderer()
      • getInputEncoding

        protected java.lang.String getInputEncoding()
        Gets the input files encoding.
        Returns:
        The input files encoding, never null.
      • getOutputEncoding

        protected java.lang.String getOutputEncoding()
        Gets the effective reporting output files encoding.
        Returns:
        The effective reporting output file encoding, never null.
      • closeReport

        protected void closeReport()
        Actions when closing the report.
      • getSink

        public org.apache.maven.doxia.sink.Sink getSink()
        Returns:
        the sink used
      • getSinkFactory

        public org.apache.maven.doxia.sink.SinkFactory getSinkFactory()
        Returns:
        the sink factory used
      • isExternalReport

        public boolean isExternalReport()
        Specified by:
        isExternalReport in interface org.apache.maven.reporting.MavenReport
        Returns:
        false by default.
        See Also:
        MavenReport.isExternalReport()
      • canGenerateReport

        public boolean canGenerateReport()
        Specified by:
        canGenerateReport in interface org.apache.maven.reporting.MavenReport
      • executeReport

        protected abstract void executeReport​(java.util.Locale locale)
                                       throws org.apache.maven.reporting.MavenReportException
        Execute the generation of the report.
        Parameters:
        locale - the wanted locale to return the report's description, could be null.
        Throws:
        org.apache.maven.reporting.MavenReportException - if any