Class PatternSet

java.lang.Object
org.gradle.api.tasks.util.PatternSet
All Implemented Interfaces:
AntBuilderAware, PatternFilterable

public class PatternSet extends Object implements AntBuilderAware, PatternFilterable
Standalone implementation of PatternFilterable.
  • Constructor Details

    • PatternSet

      public PatternSet()
    • PatternSet

      protected PatternSet(PatternSet patternSet)
    • PatternSet

      protected PatternSet(org.gradle.api.tasks.util.internal.PatternSpecFactory patternSpecFactory)
  • Method Details

    • equals

      public boolean equals(@Nullable Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • copyFrom

      public PatternSet copyFrom(PatternFilterable sourcePattern)
    • doCopyFrom

      protected PatternSet doCopyFrom(PatternSet from)
    • intersect

      public PatternSet intersect()
    • isEmpty

      public boolean isEmpty()
      The PatternSet is considered empty when no includes or excludes have been added. The Spec returned by getAsSpec method only contains the default excludes patterns in this case.
      Returns:
      true when no includes or excludes have been added to this instance
    • getAsSpec

      public Spec<FileTreeElement> getAsSpec()
    • getAsIncludeSpec

      public Spec<FileTreeElement> getAsIncludeSpec()
    • getAsExcludeSpec

      public Spec<FileTreeElement> getAsExcludeSpec()
    • getIncludesView

      @Incubating public Set<String> getIncludesView()
      Like getIncludes(), but returns a unmodifiable view or empty set.

      Use this if you are only reading from the set, as it avoids allocating a set if not needed.

      Returns:
      the include patterns, or an empty set if none
      Since:
      8.8
    • getIncludes

      public Set<String> getIncludes()
      Description copied from interface: PatternFilterable
      Returns the set of include patterns.
      Specified by:
      getIncludes in interface PatternFilterable
      Returns:
      The include patterns. Returns an empty set when there are no include patterns.
    • getIncludeSpecsView

      @Incubating public Set<Spec<FileTreeElement>> getIncludeSpecsView()
      Like getIncludeSpecs(), but returns a unmodifiable view or empty set.

      Use this if you are only reading from the set, as it avoids allocating a set if not needed.

      Returns:
      the include specs, or an empty set if none
      Since:
      8.8
    • getIncludeSpecs

      public Set<Spec<FileTreeElement>> getIncludeSpecs()
    • setIncludes

      public PatternSet setIncludes(Iterable<String> includes)
      Description copied from interface: PatternFilterable
      Set the allowable include patterns. Note that unlike PatternFilterable.include(Iterable) this replaces any previously defined includes.
      Specified by:
      setIncludes in interface PatternFilterable
      Parameters:
      includes - an Iterable providing new include patterns
      Returns:
      this
      See Also:
    • include

      public PatternSet include(String... includes)
      Description copied from interface: PatternFilterable
      Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.
      Specified by:
      include in interface PatternFilterable
      Parameters:
      includes - a vararg list of include patterns
      Returns:
      this
      See Also:
    • include

      public PatternSet include(Iterable includes)
      Description copied from interface: PatternFilterable
      Adds an ANT style include pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns to be processed.
      Specified by:
      include in interface PatternFilterable
      Parameters:
      includes - a Iterable providing more include patterns
      Returns:
      this
      See Also:
    • include

      public PatternSet include(Spec<FileTreeElement> spec)
      Description copied from interface: PatternFilterable
      Adds an include spec. This method may be called multiple times to append new specs. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.
      Specified by:
      include in interface PatternFilterable
      Parameters:
      spec - the spec to add
      Returns:
      this
      See Also:
    • getExcludesView

      @Incubating public Set<String> getExcludesView()
      Like getExcludes(), but returns a unmodifiable view or empty set.

      Use this if you are only reading from the set, as it avoids allocating a set if not needed.

      Returns:
      the exclude patterns, or an empty set if none
      Since:
      8.8
    • getExcludes

      public Set<String> getExcludes()
      Description copied from interface: PatternFilterable
      Returns the set of exclude patterns.
      Specified by:
      getExcludes in interface PatternFilterable
      Returns:
      The exclude patterns. Returns an empty set when there are no exclude patterns.
    • getExcludeSpecsView

      @Incubating public Set<Spec<FileTreeElement>> getExcludeSpecsView()
      Like getExcludeSpecs(), but returns a unmodifiable view or empty set.

      Use this if you are only reading from the set, as it avoids allocating a set if not needed.

      Returns:
      the exclude specs, or an empty set if none
      Since:
      8.8
    • getExcludeSpecs

      public Set<Spec<FileTreeElement>> getExcludeSpecs()
    • setExcludes

      public PatternSet setExcludes(Iterable<String> excludes)
      Description copied from interface: PatternFilterable
      Set the allowable exclude patterns. Note that unlike PatternFilterable.exclude(Iterable) this replaces any previously defined excludes.
      Specified by:
      setExcludes in interface PatternFilterable
      Parameters:
      excludes - an Iterable providing new exclude patterns
      Returns:
      this
      See Also:
    • isCaseSensitive

      public boolean isCaseSensitive()
    • setCaseSensitive

      public void setCaseSensitive(boolean caseSensitive)
    • includeSpecs

      public PatternSet includeSpecs(Iterable<Spec<FileTreeElement>> includeSpecs)
    • include

      public PatternSet include(Closure closure)
      Description copied from interface: PatternFilterable
      Adds an include spec. This method may be called multiple times to append new specs. The given closure is passed a FileTreeElement as its parameter. If includes are not provided, then all files in this container will be included. If includes are provided, then a file must match at least one of the include patterns or specs to be included.
      Specified by:
      include in interface PatternFilterable
      Parameters:
      closure - the spec to add
      Returns:
      this
      See Also:
    • exclude

      public PatternSet exclude(String... excludes)
      Description copied from interface: PatternFilterable
      Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.
      Specified by:
      exclude in interface PatternFilterable
      Parameters:
      excludes - a vararg list of exclude patterns
      Returns:
      this
      See Also:
    • exclude

      public PatternSet exclude(Iterable excludes)
      Description copied from interface: PatternFilterable
      Adds an ANT style exclude pattern. This method may be called multiple times to append new patterns and multiple patterns may be specified in a single call. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.
      Specified by:
      exclude in interface PatternFilterable
      Parameters:
      excludes - a Iterable providing new exclude patterns
      Returns:
      this
      See Also:
    • exclude

      public PatternSet exclude(Spec<FileTreeElement> spec)
      Description copied from interface: PatternFilterable
      Adds an exclude spec. This method may be called multiple times to append new specs. If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.
      Specified by:
      exclude in interface PatternFilterable
      Parameters:
      spec - the spec to add
      Returns:
      this
      See Also:
    • excludeSpecs

      public PatternSet excludeSpecs(Iterable<Spec<FileTreeElement>> excludes)
    • exclude

      public PatternSet exclude(Closure closure)
      Description copied from interface: PatternFilterable
      Adds an exclude spec. This method may be called multiple times to append new specs.The given closure is passed a FileTreeElement as its parameter. The closure should return true or false. Example:
       copySpec {
         from 'source'
         into 'destination'
         //an example of excluding files from certain configuration:
         exclude { it.file in configurations.someConf.files }
       }
       
      If excludes are not provided, then no files will be excluded. If excludes are provided, then files must not match any exclude pattern to be processed.
      Specified by:
      exclude in interface PatternFilterable
      Parameters:
      closure - the spec to add
      Returns:
      this
      See Also:
    • addToAntBuilder

      public Object addToAntBuilder(Object node, String childNodeName)
      Specified by:
      addToAntBuilder in interface AntBuilderAware