View Javadoc
1   package org.andromda.maven.plugin.andromdapp.eclipse;
2   
3   import java.util.ArrayList;
4   import java.util.List;
5   import org.apache.maven.artifact.Artifact;
6   import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
7   
8   /**
9    * An 'OR' artifact filter.  That means if one of the artifact filters applies
10   * include returns true.
11   *
12   * @author Chad Brandon
13   */
14  public class OrArtifactFilter
15      implements ArtifactFilter
16  {
17      private final List<ArtifactFilter> filters = new ArrayList<ArtifactFilter>();
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      {
24          boolean include = false;
25          for (final ArtifactFilter filter : this.filters)
26          {
27              if (filter.include(artifact))
28              {
29                  include = true;
30                  break;
31              }
32          }
33          return include;
34      }
35  
36      /**
37       * Adds the artifact filter to be applied.
38       *
39       * @param artifactFilter
40       */
41      public void add(final ArtifactFilter artifactFilter)
42      {
43          this.filters.add(artifactFilter);
44      }
45  }