java.io.Serializable
, java.lang.CharSequence
, java.lang.Comparable<RelativePath>
public class RelativePath extends java.lang.Object implements java.io.Serializable, java.lang.Comparable<RelativePath>, java.lang.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.
Modifier and Type | Field | Description |
---|---|---|
static RelativePath |
EMPTY_ROOT |
Constructor | Description |
---|---|
RelativePath(boolean endsWithFile,
java.lang.String... segments) |
Creates a
RelativePath . |
Modifier and Type | Method | Description |
---|---|---|
RelativePath |
append(boolean endsWithFile,
java.lang.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.
|
char |
charAt(int index) |
|
int |
compareTo(RelativePath o) |
|
boolean |
equals(java.lang.Object o) |
|
java.io.File |
getFile(java.io.File baseDir) |
|
java.lang.String |
getLastName() |
|
RelativePath |
getParent() |
Returns the parent of this path.
|
java.lang.String |
getPathString() |
|
java.lang.String[] |
getSegments() |
|
int |
hashCode() |
|
boolean |
isFile() |
|
int |
length() |
|
static RelativePath |
parse(boolean isFile,
java.lang.String path) |
|
static RelativePath |
parse(boolean isFile,
RelativePath parent,
java.lang.String path) |
|
RelativePath |
plus(RelativePath other) |
Appends the given path to the end of this path.
|
RelativePath |
prepend(java.lang.String... segments) |
Prepends the given names to the start of this path.
|
RelativePath |
replaceLastName(java.lang.String name) |
Returns a copy of this path, with the last name replaced with the given name.
|
java.util.ListIterator<java.lang.String> |
segmentIterator() |
|
java.lang.CharSequence |
subSequence(int start,
int end) |
|
java.lang.String |
toString() |
public static final RelativePath EMPTY_ROOT
public RelativePath(boolean endsWithFile, java.lang.String... segments)
RelativePath
.endsWithFile
- - if true, the path ends with a file, otherwise a directorypublic java.lang.String[] getSegments()
public java.util.ListIterator<java.lang.String> segmentIterator()
public boolean isFile()
public java.lang.String getPathString()
public int length()
length
in interface java.lang.CharSequence
public char charAt(int index)
charAt
in interface java.lang.CharSequence
public java.lang.CharSequence subSequence(int start, int end)
subSequence
in interface java.lang.CharSequence
public java.io.File getFile(java.io.File baseDir)
public java.lang.String getLastName()
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in interface java.lang.CharSequence
toString
in class java.lang.Object
public RelativePath getParent()
public static RelativePath parse(boolean isFile, java.lang.String path)
public static RelativePath parse(boolean isFile, @Nullable RelativePath parent, java.lang.String path)
public RelativePath replaceLastName(java.lang.String name)
Returns a copy of this path, with the last name replaced with the given name.
name
- The name.public RelativePath append(RelativePath other)
Appends the given path to the end of this path.
other
- The path to appendpublic RelativePath plus(RelativePath other)
Appends the given path to the end of this path.
other
- The path to appendpublic RelativePath append(boolean endsWithFile, java.lang.String... segments)
segments
- The names to append.endsWithFile
- when true, the new path refers to a file.public RelativePath prepend(java.lang.String... segments)
segments
- The names to prependpublic int compareTo(RelativePath o)
compareTo
in interface java.lang.Comparable<RelativePath>