Class Report

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class Report
    extends org.apache.tools.ant.Task
    A basic Ant task that generates a report on all files specified by the nested resource collection(s).

    IHeaderMatcher(s) can be specified as nested elements as well.

    The attribute format defines the output format and can take the values

    • xml - Rat's native XML output.
    • styled - transforms the XML output using the given stylesheet. The stylesheet attribute must be set as well if this attribute is used.
    • plain - plain text using Rat's built-in stylesheet. This is the default.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Report.AddLicenseHeaders
      Type for the addLicenseHeaders attribute.
      static class  Report.Format
      Type for the format attribute.
    • Constructor Summary

      Constructors 
      Constructor Description
      Report()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(IHeaderMatcher matcher)  
      void add​(ILicenseFamily license)  
      void add​(org.apache.tools.ant.types.ResourceCollection rc)
      Adds resources that will be checked.
      void addConfiguredStylesheet​(org.apache.tools.ant.types.resources.Union u)
      Which stylesheet to use (only meaningful with format='styled').
      private void createReport​(java.io.PrintWriter out)
      Writes the report to the given stream.
      void execute()
      Generates the report.
      private ILicenseFamily[] getApprovedLicenseNames()  
      private java.util.List<IHeaderMatcher> getLicenseMatchers()
      Flattens all nested matchers plus the default matchers (if required) into a single array.
      void setAddDefaultLicenseMatchers​(boolean addDefaultLicenseMatchers)  
      void setAddLicenseHeaders​(Report.AddLicenseHeaders pAdd)  
      void setCopyrightMessage​(java.lang.String pMessage)  
      void setFormat​(Report.Format f)
      Which format to use.
      void setReportFile​(java.io.File f)
      Where to send the report to.
      private void validate()
      validates the task's configuration.
      • Methods inherited from class org.apache.tools.ant.Task

        bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
      • Methods inherited from class org.apache.tools.ant.ProjectComponent

        clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • nestedResources

        private org.apache.tools.ant.types.resources.Union nestedResources
        will hold any nested resource collection
      • licenseMatchers

        private java.util.ArrayList<IHeaderMatcher> licenseMatchers
        The licenses we want to match on.
      • licenseNames

        private java.util.ArrayList<ILicenseFamily> licenseNames
      • addDefaultLicenseMatchers

        private boolean addDefaultLicenseMatchers
        Whether to add the default list of license matchers.
      • reportFile

        private java.io.File reportFile
        Where to send the report.
      • stylesheet

        private org.apache.tools.ant.types.Resource stylesheet
        Which stylesheet to use.
      • copyrightMessage

        private java.lang.String copyrightMessage
        The copyright message.
    • Constructor Detail

      • Report

        public Report()
    • Method Detail

      • add

        public void add​(org.apache.tools.ant.types.ResourceCollection rc)
        Adds resources that will be checked.
        Parameters:
        rc - resource to check.
      • add

        public void add​(IHeaderMatcher matcher)
        Parameters:
        matcher - Adds a license matcher.
      • setAddDefaultLicenseMatchers

        public void setAddDefaultLicenseMatchers​(boolean addDefaultLicenseMatchers)
        Parameters:
        addDefaultLicenseMatchers - Whether to add the default list of license matchers.
      • setReportFile

        public void setReportFile​(java.io.File f)
        Where to send the report to.
        Parameters:
        f - report output file.
      • setFormat

        public void setFormat​(Report.Format f)
        Which format to use.
        Parameters:
        f - format.
      • setAddLicenseHeaders

        public void setAddLicenseHeaders​(Report.AddLicenseHeaders pAdd)
        Parameters:
        pAdd - Whether to add license headers.
      • setCopyrightMessage

        public void setCopyrightMessage​(java.lang.String pMessage)
        Parameters:
        pMessage - copyright message to set.
      • addConfiguredStylesheet

        public void addConfiguredStylesheet​(org.apache.tools.ant.types.resources.Union u)
        Which stylesheet to use (only meaningful with format='styled').
        Parameters:
        u - stylesheet.
      • execute

        public void execute()
        Generates the report.
        Overrides:
        execute in class org.apache.tools.ant.Task
      • validate

        private void validate()
        validates the task's configuration.
      • createReport

        private void createReport​(java.io.PrintWriter out)
                           throws java.io.IOException,
                                  javax.xml.transform.TransformerException,
                                  java.lang.InterruptedException,
                                  RatException
        Writes the report to the given stream.
        Parameters:
        out - stream to write report to.
        Throws:
        java.io.IOException - in case of I/O errors.
        java.lang.InterruptedException - in case of threading errors.
        javax.xml.transform.TransformerException - in case of XML errors.
        RatException - in case of general errors.
      • getLicenseMatchers

        private java.util.List<IHeaderMatcher> getLicenseMatchers()
        Flattens all nested matchers plus the default matchers (if required) into a single array.
      • getApprovedLicenseNames

        private ILicenseFamily[] getApprovedLicenseNames()