Class 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 Detail

      • 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 Detail

      • 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