Class MinijarFilter

  • All Implemented Interfaces:
    Filter

    public class MinijarFilter
    extends java.lang.Object
    implements Filter
    A filter that prevents the inclusion of classes not required in the final jar.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int classesKept  
      private int classesRemoved  
      private org.apache.maven.plugin.logging.Log log  
      private java.util.Set<org.vafer.jdependency.Clazz> removable  
    • Constructor Summary

      Constructors 
      Constructor Description
      MinijarFilter​(int classesKept, int classesRemoved, org.apache.maven.plugin.logging.Log log)  
      MinijarFilter​(org.apache.maven.project.MavenProject project, org.apache.maven.plugin.logging.Log log)  
      MinijarFilter​(org.apache.maven.project.MavenProject project, org.apache.maven.plugin.logging.Log log, java.util.List<SimpleFilter> simpleFilters, java.util.Set<java.lang.String> entryPoints)  
      MinijarFilter​(org.apache.maven.project.MavenProject project, org.apache.maven.plugin.logging.Log log, java.util.Set<java.lang.String> entryPoints)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private org.vafer.jdependency.ClazzpathUnit addDependencyToClasspath​(org.vafer.jdependency.Clazzpath cp, org.apache.maven.artifact.Artifact dependency)  
      boolean canFilter​(java.io.File jar)  
      void finished()
      If we are finished.
      boolean isFiltered​(java.lang.String classFile)  
      private void removeClass​(org.vafer.jdependency.Clazz clazz)  
      private void removePackages​(java.util.Set<org.vafer.jdependency.Clazz> clazzes, java.util.Set<java.lang.String> packageNames)  
      private void removePackages​(org.vafer.jdependency.ClazzpathUnit artifactUnit)  
      private void removeServices​(org.apache.maven.project.MavenProject project, org.vafer.jdependency.Clazzpath cp)  
      private boolean removeServicesFromDir​(org.vafer.jdependency.Clazzpath cp, java.util.Set<org.vafer.jdependency.Clazz> neededClasses, java.lang.String fileName)  
      private boolean removeServicesFromJar​(org.vafer.jdependency.Clazzpath cp, java.util.Set<org.vafer.jdependency.Clazz> neededClasses, java.lang.String fileName)  
      private void removeSpecificallyIncludedClasses​(org.apache.maven.project.MavenProject project, java.util.List<SimpleFilter> simpleFilters)  
      private boolean scanServiceProviderConfigFile​(org.vafer.jdependency.Clazzpath cp, java.io.BufferedReader configFileReader)  
      • Methods inherited from class java.lang.Object

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

      • log

        private org.apache.maven.plugin.logging.Log log
      • removable

        private java.util.Set<org.vafer.jdependency.Clazz> removable
      • classesKept

        private int classesKept
      • classesRemoved

        private int classesRemoved
    • Constructor Detail

      • MinijarFilter

        MinijarFilter​(int classesKept,
                      int classesRemoved,
                      org.apache.maven.plugin.logging.Log log)
      • MinijarFilter

        public MinijarFilter​(org.apache.maven.project.MavenProject project,
                             org.apache.maven.plugin.logging.Log log)
                      throws java.io.IOException
        Parameters:
        project - MavenProject
        log - Log
        Throws:
        java.io.IOException - in case of error.
      • MinijarFilter

        public MinijarFilter​(org.apache.maven.project.MavenProject project,
                             org.apache.maven.plugin.logging.Log log,
                             java.util.Set<java.lang.String> entryPoints)
                      throws java.io.IOException
        Parameters:
        project - MavenProject
        log - Log
        entryPoints -
        Throws:
        java.io.IOException - in case of error.
      • MinijarFilter

        public MinijarFilter​(org.apache.maven.project.MavenProject project,
                             org.apache.maven.plugin.logging.Log log,
                             java.util.List<SimpleFilter> simpleFilters,
                             java.util.Set<java.lang.String> entryPoints)
                      throws java.io.IOException
        Parameters:
        project - MavenProject
        log - Log
        simpleFilters - SimpleFilter
        entryPoints -
        Throws:
        java.io.IOException - in case of errors.
        Since:
        1.6
    • Method Detail

      • removeServices

        private void removeServices​(org.apache.maven.project.MavenProject project,
                                    org.vafer.jdependency.Clazzpath cp)
      • removeServicesFromDir

        private boolean removeServicesFromDir​(org.vafer.jdependency.Clazzpath cp,
                                              java.util.Set<org.vafer.jdependency.Clazz> neededClasses,
                                              java.lang.String fileName)
      • removeServicesFromJar

        private boolean removeServicesFromJar​(org.vafer.jdependency.Clazzpath cp,
                                              java.util.Set<org.vafer.jdependency.Clazz> neededClasses,
                                              java.lang.String fileName)
      • scanServiceProviderConfigFile

        private boolean scanServiceProviderConfigFile​(org.vafer.jdependency.Clazzpath cp,
                                                      java.io.BufferedReader configFileReader)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • removeClass

        private void removeClass​(org.vafer.jdependency.Clazz clazz)
      • addDependencyToClasspath

        private org.vafer.jdependency.ClazzpathUnit addDependencyToClasspath​(org.vafer.jdependency.Clazzpath cp,
                                                                             org.apache.maven.artifact.Artifact dependency)
                                                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • removePackages

        private void removePackages​(org.vafer.jdependency.ClazzpathUnit artifactUnit)
      • removePackages

        private void removePackages​(java.util.Set<org.vafer.jdependency.Clazz> clazzes,
                                    java.util.Set<java.lang.String> packageNames)
      • removeSpecificallyIncludedClasses

        private void removeSpecificallyIncludedClasses​(org.apache.maven.project.MavenProject project,
                                                       java.util.List<SimpleFilter> simpleFilters)
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • canFilter

        public boolean canFilter​(java.io.File jar)
        Specified by:
        canFilter in interface Filter
        Parameters:
        jar - The jar file.
        Returns:
        true if we can filter false otherwise.
      • isFiltered

        public boolean isFiltered​(java.lang.String classFile)
        Specified by:
        isFiltered in interface Filter
        Parameters:
        classFile - The classFile.
        Returns:
        true if the file has been filtered false otherwise.
      • finished

        public void finished()
        Description copied from interface: Filter
        If we are finished.
        Specified by:
        finished in interface Filter