Class RelativePath

java.lang.Object
org.gradle.api.file.RelativePath
All Implemented Interfaces:
Serializable, CharSequence, Comparable<RelativePath>

public class RelativePath extends Object implements Serializable, Comparable<RelativePath>, CharSequence

Represents a relative path from some base directory to a file. Used in file copying to represent both a source and target file path when copying files.

RelativePath instances are immutable.

See Also:
  • Field Details

  • Constructor Details

    • RelativePath

      public RelativePath(boolean endsWithFile, String... segments)
      Creates a RelativePath.
      Parameters:
      endsWithFile - - if true, the path ends with a file, otherwise a directory
  • Method Details

    • getSegments

      public String[] getSegments()
    • segmentIterator

      public ListIterator<String> segmentIterator()
    • isFile

      public boolean isFile()
    • getPathString

      public String getPathString()
    • length

      public int length()
      Specified by:
      length in interface CharSequence
    • charAt

      public char charAt(int index)
      Specified by:
      charAt in interface CharSequence
    • subSequence

      public CharSequence subSequence(int start, int end)
      Specified by:
      subSequence in interface CharSequence
    • getFile

      public File getFile(File baseDir)
    • getLastName

      public String getLastName()
    • equals

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

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

      public String toString()
      Specified by:
      toString in interface CharSequence
      Overrides:
      toString in class Object
    • getParent

      public RelativePath getParent()
      Returns the parent of this path.
      Returns:
      The parent of this path, or null if this is the root path.
    • parse

      public static RelativePath parse(boolean isFile, String path)
    • parse

      public static RelativePath parse(boolean isFile, @Nullable RelativePath parent, String path)
    • replaceLastName

      public RelativePath replaceLastName(String name)

      Returns a copy of this path, with the last name replaced with the given name.

      Parameters:
      name - The name.
      Returns:
      The path.
    • append

      public RelativePath append(RelativePath other)

      Appends the given path to the end of this path.

      Parameters:
      other - The path to append
      Returns:
      The new path
    • plus

      public RelativePath plus(RelativePath other)

      Appends the given path to the end of this path.

      Parameters:
      other - The path to append
      Returns:
      The new path
    • append

      public RelativePath append(boolean endsWithFile, String... segments)
      Appends the given names to the end of this path.
      Parameters:
      segments - The names to append.
      endsWithFile - when true, the new path refers to a file.
      Returns:
      The new path.
    • prepend

      public RelativePath prepend(String... segments)
      Prepends the given names to the start of this path.
      Parameters:
      segments - The names to prepend
      Returns:
      The new path.
    • compareTo

      public int compareTo(RelativePath o)
      Specified by:
      compareTo in interface Comparable<RelativePath>