org.apache.maven.shared.artifact.filter
Class AbstractStrictPatternArtifactFilter

java.lang.Object
  extended by org.apache.maven.shared.artifact.filter.AbstractStrictPatternArtifactFilter
All Implemented Interfaces:
org.apache.maven.artifact.resolver.filter.ArtifactFilter
Direct Known Subclasses:
StrictPatternExcludesArtifactFilter, StrictPatternIncludesArtifactFilter

public abstract class AbstractStrictPatternArtifactFilter
extends java.lang.Object
implements org.apache.maven.artifact.resolver.filter.ArtifactFilter

Filter to include or exclude artifacts from a list of patterns. The artifact pattern syntax is of the form:

 [groupId]:[artifactId]:[type]:[version]
 

Where each pattern segment is optional and supports full and partial * wildcards. An empty pattern segment is treated as an implicit wildcard.

For example, org.apache.* would match all artifacts whose group id started with org.apache., and :::*-SNAPSHOT would match all snapshot artifacts.

Version:
$Id: AbstractStrictPatternArtifactFilter.java 575628 2007-09-14 11:28:29Z markh $
Author:
Mark Hobson

Field Summary
private  boolean include
          Whether this filter should include or exclude artifacts that match the patterns.
private  java.util.List patterns
          The list of artifact patterns to match, as described above.
 
Constructor Summary
AbstractStrictPatternArtifactFilter(java.util.List patterns, boolean include)
          Creates a new filter that matches the specified artifact patterns and includes or excludes them according to the specified flag.
 
Method Summary
 boolean include(org.apache.maven.artifact.Artifact artifact)
           
private  boolean include(org.apache.maven.artifact.Artifact artifact, java.lang.String pattern)
          Gets whether the specified artifact matches the specified pattern.
private  boolean matches(java.lang.String token, java.lang.String pattern)
          Gets whether the specified token matches the specified pattern segment.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

patterns

private final java.util.List patterns
The list of artifact patterns to match, as described above.


include

private final boolean include
Whether this filter should include or exclude artifacts that match the patterns.

Constructor Detail

AbstractStrictPatternArtifactFilter

public AbstractStrictPatternArtifactFilter(java.util.List patterns,
                                           boolean include)
Creates a new filter that matches the specified artifact patterns and includes or excludes them according to the specified flag.

Parameters:
patterns - the list of artifact patterns to match, as described above
include - true to include artifacts that match the patterns, or false to exclude them
Method Detail

include

public boolean include(org.apache.maven.artifact.Artifact artifact)
Specified by:
include in interface org.apache.maven.artifact.resolver.filter.ArtifactFilter

include

private boolean include(org.apache.maven.artifact.Artifact artifact,
                        java.lang.String pattern)
Gets whether the specified artifact matches the specified pattern.

Parameters:
artifact - the artifact to check
pattern - the pattern to match, as defined above
Returns:
true if the specified artifact is matched by the specified pattern

matches

private boolean matches(java.lang.String token,
                        java.lang.String pattern)
Gets whether the specified token matches the specified pattern segment.

Parameters:
token - the token to check
pattern - the pattern segment to match, as defined above
Returns:
true if the specified token is matched by the specified pattern segment