Class FileSetManager

java.lang.Object
org.apache.maven.shared.model.fileset.util.FileSetManager

public class FileSetManager extends Object
Provides operations for use with FileSet instances, such as retrieving the included/excluded files, deleting all matching entries, etc.
Version:
$Id: FileSetManager.java 1721672 2015-12-25 13:18:36Z khmarbaise $
  • Field Details

    • EMPTY_STRING_ARRAY

      private static final String[] EMPTY_STRING_ARRAY
    • verbose

      private final boolean verbose
    • messages

      private org.apache.maven.shared.io.logging.MessageHolder messages
  • Constructor Details

    • FileSetManager

      public FileSetManager(org.apache.maven.plugin.logging.Log log, boolean verbose)
      Create a new manager instance with the supplied log instance and flag for whether to output verbose messages.
      Parameters:
      log - The mojo log instance
      verbose - Whether to output verbose messages
    • FileSetManager

      public FileSetManager(org.apache.maven.plugin.logging.Log log)
      Create a new manager instance with the supplied log instance. Verbose flag is set to false.
      Parameters:
      log - The mojo log instance
    • FileSetManager

      public FileSetManager(org.codehaus.plexus.logging.Logger log, boolean verbose)
      Create a new manager instance with the supplied log instance and flag for whether to output verbose messages.
      Parameters:
      log - The mojo log instance
      verbose - Whether to output verbose messages
    • FileSetManager

      public FileSetManager(org.codehaus.plexus.logging.Logger log)
      Create a new manager instance with the supplied log instance. Verbose flag is set to false.
      Parameters:
      log - The mojo log instance
    • FileSetManager

      public FileSetManager()
      Create a new manager instance with an empty messages. Verbose flag is set to false.
  • Method Details

    • mapIncludedFiles

      public Map<String,String> mapIncludedFiles(FileSet fileSet) throws MapperException
      Parameters:
      fileSet - FileSet
      Returns:
      the included files as map
      Throws:
      MapperException - if any
      See Also:
    • getIncludedFiles

      public String[] getIncludedFiles(FileSet fileSet)
      Get all the filenames which have been included by the rules in this fileset.
      Parameters:
      fileSet - The fileset defining rules for inclusion/exclusion, and base directory.
      Returns:
      the array of matching filenames, relative to the basedir of the file-set.
    • getIncludedDirectories

      public String[] getIncludedDirectories(FileSet fileSet)
      Get all the directory names which have been included by the rules in this fileset.
      Parameters:
      fileSet - The fileset defining rules for inclusion/exclusion, and base directory.
      Returns:
      the array of matching dirnames, relative to the basedir of the file-set.
    • getExcludedFiles

      public String[] getExcludedFiles(FileSet fileSet)
      Get all the filenames which have been excluded by the rules in this fileset.
      Parameters:
      fileSet - The fileset defining rules for inclusion/exclusion, and base directory.
      Returns:
      the array of non-matching filenames, relative to the basedir of the file-set.
    • getExcludedDirectories

      public String[] getExcludedDirectories(FileSet fileSet)
      Get all the directory names which have been excluded by the rules in this fileset.
      Parameters:
      fileSet - The fileset defining rules for inclusion/exclusion, and base directory.
      Returns:
      the array of non-matching dirnames, relative to the basedir of the file-set.
    • delete

      public void delete(FileSet fileSet) throws IOException
      Delete the matching files and directories for the given file-set definition.
      Parameters:
      fileSet - The file-set matching rules, along with search base directory
      Throws:
      IOException - If a matching file cannot be deleted
    • delete

      public void delete(FileSet fileSet, boolean throwsError) throws IOException
      Delete the matching files and directories for the given file-set definition.
      Parameters:
      fileSet - The file-set matching rules, along with search base directory.
      throwsError - Throw IOException when errors have occurred by deleting files or directories.
      Throws:
      IOException - If a matching file cannot be deleted and throwsError=true, otherwise print warning messages.
    • isSymlink

      private boolean isSymlink(File file) throws IOException
      Throws:
      IOException
    • findDeletablePaths

      private Set<String> findDeletablePaths(FileSet fileSet)
    • findDeletableDirectories

      private Set<String> findDeletableDirectories(FileSet fileSet)
    • findDeletableFiles

      private Set<String> findDeletableFiles(FileSet fileSet, Set<String> deletableDirectories)
    • excludeParentDirectoriesOfExcludedPaths

      private void excludeParentDirectoriesOfExcludedPaths(List<String> excludedPaths, Set<String> deletablePaths)
      Removes all parent directories of the already excluded files/directories from the given set of deletable directories. I.e. if "subdir/excluded.txt" should not be deleted, "subdir" should be excluded from deletion, too.
      Parameters:
      excludedPaths - The relative paths of the files/directories which are excluded from deletion, must not be null.
      deletablePaths - The relative paths to files/directories which are scheduled for deletion, must not be null.
    • removeDir

      private void removeDir(File dir, boolean followSymlinks, boolean throwsError, List<String> warnMessages) throws IOException
      Delete a directory
      Parameters:
      dir - the directory to delete
      followSymlinks - whether to follow symbolic links, or simply delete the link
      throwsError - Throw IOException when errors have occurred by deleting files or directories.
      warnMessages - A list of warning messages used when throwsError=false.
      Throws:
      IOException - If a matching file cannot be deleted and throwsError=true.
    • delete

      private boolean delete(File f)
      Delete a file
      Parameters:
      f - a file
    • scan

      private org.apache.maven.shared.utils.io.DirectoryScanner scan(FileSet fileSet)