Class JPMSModuleInfoPlugin

  • All Implemented Interfaces:
    VerifierPlugin

    public class JPMSModuleInfoPlugin
    extends java.lang.Object
    implements VerifierPlugin
    A plugin to generate a module-info class from analyzer metadata and bundle annotations.
    • Field Detail

      • logger

        private static final org.slf4j.Logger logger
      • mangledModuleName

        private static final java.util.regex.Pattern mangledModuleName
      • DEFAULT_MODULE_EE

        private static final EE DEFAULT_MODULE_EE
      • INTERNAL_MODULE_DIRECTIVE

        private static final java.lang.String INTERNAL_MODULE_DIRECTIVE
        See Also:
        Constant Field Values
    • Constructor Detail

      • JPMSModuleInfoPlugin

        public JPMSModuleInfoPlugin()
    • Method Detail

      • verify

        public void verify​(Analyzer analyzer)
                    throws java.lang.Exception
        Description copied from interface: VerifierPlugin
        This plugin is called after the manifest generation and after the jar is fully populated with resources. The plugin is intended to verify details of the jar and manifest.
        Specified by:
        verify in interface VerifierPlugin
        Throws:
        java.lang.Exception
      • getModuleName

        private java.lang.String getModuleName​(Analyzer analyzer,
                                               Jar jar,
                                               Parameters moduleInfoOptions)
                                        throws java.lang.Exception
        Throws:
        java.lang.Exception
      • access

        private int access​(Parameters requireCapabilities)
      • name

        private java.lang.String name​(Analyzer analyzer)
      • requires

        private void requires​(java.util.Map.Entry<java.lang.String,​Attrs> instruction,
                              Analyzer analyzer,
                              Packages index,
                              Parameters moduleInfoOptions,
                              ModuleInfoBuilder builder)
                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • distinctByKey

        static <T> java.util.function.Predicate<T> distinctByKey​(java.util.function.Function<? super T,​?> keyExtractor)