01: package org.andromda.maven.plugin.andromdapp.eclipse;
02:
03: import java.util.ArrayList;
04: import java.util.Iterator;
05: import java.util.List;
06:
07: import org.apache.maven.artifact.Artifact;
08: import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
09:
10: /**
11: * An 'OR' artifact filter. That means if one of the artifact filters applies
12: * include returns true.
13: *
14: * @author Chad Brandon
15: */
16: public class OrArtifactFilter implements ArtifactFilter {
17: private final List filters = new ArrayList();
18:
19: /**
20: * @see org.apache.maven.artifact.resolver.filter.ArtifactFilter#include(org.apache.maven.artifact.Artifact)
21: */
22: public boolean include(final Artifact artifact) {
23: boolean include = false;
24: for (final Iterator iterator = this .filters.iterator(); iterator
25: .hasNext();) {
26: ArtifactFilter filter = (ArtifactFilter) iterator.next();
27: if (filter.include(artifact)) {
28: include = true;
29: break;
30: }
31: }
32: return include;
33: }
34:
35: /**
36: * Adds the artifact filter to be applied.
37: *
38: * @param artifactFilter
39: */
40: public void add(final ArtifactFilter artifactFilter) {
41: this.filters.add(artifactFilter);
42: }
43: }
|