1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.nuxeo.build.maven.filter;
18
19 import java.util.List;
20
21 import org.apache.maven.artifact.Artifact;
22 import org.apache.tools.ant.Project;
23 import org.eclipse.aether.graph.DependencyNode;
24 import org.nuxeo.build.ant.AntClient;
25
26
27
28
29 public class AndFilter extends CompositeFilter {
30
31 public AndFilter() {
32 }
33
34 public AndFilter(List<Filter> filters) {
35 super(filters);
36 }
37
38 @Override
39 public boolean accept(Artifact artifact) {
40 for (Filter filter : filters) {
41 if (!filter.accept(artifact)) {
42 return result(false, artifact.toString());
43 }
44 }
45 return result(true, artifact.toString());
46 }
47
48 @Override
49 public String toString() {
50 return super.toString() + " => ";
51 }
52
53 @Override
54 public boolean accept(DependencyNode node, List<DependencyNode> parents) {
55 AntClient.getInstance().log("Filtering - " + super.toString() + "...",
56 Project.MSG_DEBUG);
57 for (Filter filter : filters) {
58 if (!filter.accept(node, parents)) {
59 return result(false, node.toString());
60 }
61 }
62 return result(true, node.toString());
63 }
64
65 }