Class CommonInfoProjectPlugin

  • All Implemented Interfaces:
    Plugin, ReportEntryPlugin<Project>

    public class CommonInfoProjectPlugin
    extends java.lang.Object
    implements ReportEntryPlugin<Project>, Plugin
    This plugins extract common info from a project. Data are extracted from headers and properties prefixed by "p-" defined in the bnd.bnd file. Properties take precedence.
    • Field Detail

      • _properties

        private final java.util.Map<java.lang.String,​java.lang.String> _properties
    • Constructor Detail

      • CommonInfoProjectPlugin

        public CommonInfoProjectPlugin()
    • Method Detail

      • setReporter

        public void setReporter​(Reporter processor)
        Description copied from interface: Plugin
        Set the current reporter. This is called at init time. This plugin should report all errors and warnings to this reporter.
        Specified by:
        setReporter in interface Plugin
      • setProperties

        public void setProperties​(java.util.Map<java.lang.String,​java.lang.String> map)
                           throws java.lang.Exception
        Description copied from interface: Plugin
        Give the plugin the remaining properties. When a plugin is declared, the clause can contain extra properties. All the properties and directives are given to the plugin to use.
        Specified by:
        setProperties in interface Plugin
        Parameters:
        map - attributes and directives for this plugin's clause
        Throws:
        java.lang.Exception
      • getProperties

        public java.util.Map<java.lang.String,​java.lang.String> getProperties()
        Specified by:
        getProperties in interface ReportEntryPlugin<Project>
        Returns:
        a map of properties, never null
      • extract

        public CommonInfoDTO extract​(Project project,
                                     java.util.Locale locale)
                              throws java.lang.Exception
        Description copied from interface: ReportEntryPlugin
        Extracts a piece of information from the source in arguments.

        If the source contains localized data, it will be extracted for the specified locale or a less specific if not found.

        Specified by:
        extract in interface ReportEntryPlugin<Project>
        Parameters:
        project - the source to inspect, must not be null
        locale - the String representation of a Locale, must not be null
        Returns:
        a DTO representation or null if no data is available
        Throws:
        java.lang.Exception
      • extractHeader

        private <T> T extractHeader​(java.lang.String header,
                                    java.lang.String propertyName,
                                    Project project,
                                    java.util.function.Function<Parameters,​T> converter)