Class PatternExclusionsFilter

java.lang.Object
org.apache.maven.shared.artifact.filter.resolve.PatternExclusionsFilter
All Implemented Interfaces:
TransformableFilter

public class PatternExclusionsFilter extends Object implements TransformableFilter
A simple filter to exclude artifacts from a list of patterns. The artifact pattern syntax is of the form:
 [groupId]:[artifactId]:[extension]:[version]
 

Where each pattern segment is optional and supports full and partial * wildcards. An empty pattern segment is treated as an implicit wildcard. Version can be a range in case a VersionScheme is specified.

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

Since:
3.0
Author:
Robert Scholte
See Also:
  • PatternExclusionsDependencyFilter
  • VersionScheme
  • Constructor Details

    • PatternExclusionsFilter

      public PatternExclusionsFilter(Collection<String> excludes)
      The default constructor specifying a collection of pattern based keys which must be excluded.
      Parameters:
      excludes - the excludes, must not be null
  • Method Details

    • getExcludes

      public final Collection<String> getExcludes()
      Get the excludes
      Returns:
      the excluded keys, never null
    • transform

      public <T> T transform(FilterTransformer<T> transformer)
      Subclasses should include the following code:
         @Override
         public abstract <T> T transform( FilterTransformer<T> transformer )
         {
             return transformer.transform( this );
         }
       
      Transform this filter to a tool specific implementation
      Specified by:
      transform in interface TransformableFilter
      Type Parameters:
      T - the interface of the tool specific filter
      Parameters:
      transformer - the tool specific transformer, may not be null
      Returns:
      the transformed value, never null