Interface FileCopyDetails

All Superinterfaces:
ContentFilterable, FileTreeElement

@NonExtensible public interface FileCopyDetails extends FileTreeElement, ContentFilterable

Provides details about a file or directory about to be copied, and allows some aspects of the destination file to be modified.

Using this interface, you can change the destination path of the file, filter the content of the file, or exclude the file from the result entirely.

Access to the source file itself after any filters have been added is not a supported operation.

  • Method Details

    • exclude

      void exclude()
      Excludes this file from the copy.
    • setName

      void setName(String name)
      Sets the destination name of this file.
      Parameters:
      name - The destination name of this file.
    • setPath

      void setPath(String path)
      Sets the destination path of this file.
      Parameters:
      path - The path of this file.
    • setRelativePath

      void setRelativePath(RelativePath path)
      Sets the destination path of this file.
      Parameters:
      path - the new path for this file.
    • setMode

      void setMode(int mode)
      Sets the Unix permissions of this file.
      Parameters:
      mode - the Unix permissions, e.g. 0644.
    • setDuplicatesStrategy

      @Incubating void setDuplicatesStrategy(DuplicatesStrategy strategy)
      The strategy to use if there is already a file at this file's destination.
    • getDuplicatesStrategy

      @Incubating DuplicatesStrategy getDuplicatesStrategy()
      The strategy to use if there is already a file at this file's destination.

      The value can be set with a case insensitive string of the enum value (e.g. 'exclude' for DuplicatesStrategy.EXCLUDE).

      Returns:
      the strategy to use for this file.
      See Also:
    • getName

      String getName()
      Returns the base name of this file at the copy destination.
      Specified by:
      getName in interface FileTreeElement
      Returns:
      The destination name. Never returns null.
    • getPath

      String getPath()
      Returns the path of this file, relative to the root of the copy destination.

      Always uses '/' as the hierarchy separator, regardless of platform file separator. Same as calling getRelativePath().getPathString().

      Specified by:
      getPath in interface FileTreeElement
      Returns:
      The path, relative to the root of the copy destination. Never returns null.
    • getRelativePath

      RelativePath getRelativePath()
      Returns the path of this file, relative to the root of the copy destination.
      Specified by:
      getRelativePath in interface FileTreeElement
      Returns:
      The path, relative to the root of the copy destination. Never returns null.
    • getSourceName

      String getSourceName()
      Returns the base name of this file at the copy source.
      Returns:
      The source name. Never returns null.
    • getSourcePath

      String getSourcePath()
      Returns the path of this file, relative to the root of the containing file tree.

      Always uses '/' as the hierarchy separator, regardless of platform file separator. Same as calling getRelativeSourcePath().getPathString().

      Returns:
      The path, relative to the root of the containing file tree. Never returns null.
    • getRelativeSourcePath

      RelativePath getRelativeSourcePath()
      Returns the path of this file, relative to the root of the containing file tree.
      Returns:
      The path, relative to the root of the containing file tree. Never returns null.