org.gradle.api.file
Class RelativePath

java.lang.Object
  extended by org.gradle.api.file.RelativePath

public class RelativePath
extends Object

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.


Constructor Summary
RelativePath(boolean endsWithFile, String... segments)
          Creates a RelativePath.
 
Method Summary
 RelativePath append(boolean endsWithFile, String... segments)
          Appends the given names to the end of this path.
 RelativePath append(RelativePath other)
          Appends the given path to the end of this path.
 boolean equals(Object o)
           
 File getFile(File baseDir)
           
 String getLastName()
           
 RelativePath getParent()
          Returns the parent of this path.
 String getPathString()
           
 String[] getSegments()
           
 int hashCode()
           
 boolean isFile()
           
static RelativePath parse(boolean isFile, RelativePath parent, String path)
           
static RelativePath parse(boolean isFile, String path)
           
 RelativePath plus(RelativePath other)
          Appends the given path to the end of this path.
 RelativePath prepend(String... segments)
          Prepends the given names to the start of this path.
 RelativePath replaceLastName(String name)
          Returns a copy of this path, with the last name replaced with the given name.
 ListIterator<String> segmentIterator()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RelativePath

public RelativePath(boolean endsWithFile,
                    String... segments)
Creates a RelativePath.

Parameters:
endsWithFile - - if true, the path ends with a file, otherwise a directory
Method Detail

getSegments

public String[] getSegments()

segmentIterator

public ListIterator<String> segmentIterator()

isFile

public boolean isFile()

getPathString

public String getPathString()

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()
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,
                                 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.