Class IncludeExcludeFileSelector

java.lang.Object
org.codehaus.plexus.components.io.fileselectors.IncludeExcludeFileSelector
All Implemented Interfaces:
FileSelector

public class IncludeExcludeFileSelector extends Object implements FileSelector
This file selector uses a set of patterns for including/excluding files.
  • Field Details

    • ROLE_HINT

      public static final String ROLE_HINT
      The include/exclude file selectors role-hint: "standard".
      See Also:
    • ALL_INCLUDES

      private static final org.codehaus.plexus.util.MatchPatterns ALL_INCLUDES
    • ZERO_EXCLUDES

      private static final org.codehaus.plexus.util.MatchPatterns ZERO_EXCLUDES
    • isCaseSensitive

      private boolean isCaseSensitive
    • useDefaultExcludes

      private boolean useDefaultExcludes
    • includes

      private String[] includes
    • excludes

      private String[] excludes
    • computedIncludes

      private org.codehaus.plexus.util.MatchPatterns computedIncludes
    • computedExcludes

      private org.codehaus.plexus.util.MatchPatterns computedExcludes
  • Constructor Details

    • IncludeExcludeFileSelector

      public IncludeExcludeFileSelector()
  • Method Details

    • isExcluded

      protected boolean isExcluded(@Nonnull String name)
      Tests whether or not a name matches against at least one exclude pattern.
      Parameters:
      name - The name to match. Must not be null.
      Returns:
      true when the name matches against at least one exclude pattern, or false otherwise.
    • setIncludes

      public void setIncludes(@Nullable String[] includes)
      Sets the list of include patterns to use. All '/' and '\' characters are replaced by File.separatorChar, so the separator used need not match File.separatorChar.

      When a pattern ends with a '/' or '\', "**" is appended.

      Parameters:
      includes - A list of include patterns. May be null, indicating that all files should be included. If a non-null list is given, all elements must be non-null.
    • getCanonicalName

      @Nonnull private static String getCanonicalName(@Nonnull String pName)
    • asPattern

      private String asPattern(@Nonnull String pPattern)
    • getIncludes

      @Nullable public String[] getIncludes()
      Returns the list of include patterns to use.
      Returns:
      A list of include patterns. May be null, indicating that all files should be included. If a non-null list is given, all elements must be non-null.
    • setExcludes

      public void setExcludes(@Nullable String[] excludes)
      Sets the list of exclude patterns to use. All '/' and '\' characters are replaced by File.separatorChar, so the separator used need not match File.separatorChar.

      When a pattern ends with a '/' or '\', "**" is appended.

      Parameters:
      excludes - A list of exclude patterns. May be null, indicating that no files should be excluded. If a non-null list is given, all elements must be non-null.
    • getExcludes

      @Nullable public String[] getExcludes()
      Returns the list of exclude patterns to use.
      Returns:
      A list of exclude patterns. May be null, indicating that no files should be excluded. If a non-null list is given, all elements must be non-null.
    • matchPath

      protected boolean matchPath(@Nonnull String pattern, @Nonnull String name, boolean isCaseSensitive)
      Tests, whether the given pattern is matching the given name.
      Parameters:
      pattern - The pattern to match
      name - The name to test
      isCaseSensitive - Whether the pattern is case sensitive.
      Returns:
      True, if the pattern matches, otherwise false
    • isIncluded

      protected boolean isIncluded(@Nonnull String name)
      Tests whether or not a name matches against at least one include pattern.
      Parameters:
      name - The name to match. Must not be null.
      Returns:
      true when the name matches against at least one include pattern, or false otherwise.
    • isSelected

      public boolean isSelected(@Nonnull FileInfo fileInfo)
      Description copied from interface: FileSelector
      Returns, whether the given file is selected.
      Specified by:
      isSelected in interface FileSelector
      Parameters:
      fileInfo - An instance of FileInfo with the files meta data. It is recommended, that the caller creates an instance of PlexusIoResource.
    • isCaseSensitive

      public boolean isCaseSensitive()
      Returns, whether the include/exclude patterns are case sensitive.
      Returns:
      True, if the patterns are case sensitive (default), or false.
    • setCaseSensitive

      public void setCaseSensitive(boolean caseSensitive)
      Sets, whether the include/exclude patterns are case sensitive.
      Parameters:
      caseSensitive - True, if the patterns are case sensitive (default), or false.
    • isUseDefaultExcludes

      public boolean isUseDefaultExcludes()
      Returns, whether to use the default excludes, as specified by FileUtils.getDefaultExcludes().
    • setUseDefaultExcludes

      public void setUseDefaultExcludes(boolean pUseDefaultExcludes)
      Sets, whether to use the default excludes, as specified by FileUtils.getDefaultExcludes().