View Javadoc
1   package org.codehaus.plexus.archiver.util;
2   
3   import java.io.InputStream;
4   import java.util.List;
5   
6   import org.codehaus.plexus.archiver.ArchiveFileFilter;
7   import org.codehaus.plexus.archiver.Archiver;
8   import org.codehaus.plexus.components.io.fileselectors.FileSelector;
9   import org.slf4j.Logger;
10  
11  /**
12   * @deprecated Use {@link FileSelector} and {@link Archiver#addFileSet}.
13   */
14  @Deprecated
15  public class FilterSupport {
16  
17      private final List<ArchiveFileFilter> filters;
18  
19      private final Logger logger;
20  
21      public FilterSupport(List<ArchiveFileFilter> filters, Logger logger) {
22          this.filters = filters;
23          this.logger = logger;
24      }
25  
26      public boolean include(InputStream dataStream, String entryName) {
27          boolean included = true;
28  
29          if (filters != null && !filters.isEmpty()) {
30              for (ArchiveFileFilter filter : filters) {
31                  included = filter.include(dataStream, entryName);
32  
33                  if (!included) {
34                      if (logger.isDebugEnabled()) {
35                          logger.debug("Entry: \'" + entryName + "\' excluded by filter: "
36                                  + filter.getClass().getName());
37                      }
38  
39                      break;
40                  }
41              }
42          }
43  
44          return included;
45      }
46  }