public class FsFile extends java.lang.Object implements java.lang.Comparable<FsFile>
File representing an FS repository file-path.
The file-path is relative to the root of the repository. As with
File, instances of this class are immutable.| Modifier and Type | Field and Description |
|---|---|
static FsFile |
emptyPath
the FsFile that has no path components
|
static char |
separatorChar
the separator character for delimiting repository path components
|
| Constructor and Description |
|---|
FsFile(java.util.Collection<java.lang.String> components)
Construct an instance.
|
FsFile(java.io.File file)
Construct an instance.
|
FsFile(FsFile file,
int maxComponentCount)
Construct an instance by trimming parent directories from an existing instance
such that the depth does not exceed the given maximum.
|
FsFile(java.nio.file.Path path)
Construct an instance.
|
FsFile(java.lang.String... components)
Construct an instance.
|
FsFile(java.lang.String path)
Construct an instance.
|
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(FsFile other) |
static FsFile |
concatenate(FsFile... files)
Concatenate paths.
|
boolean |
equals(java.lang.Object object)
Instances are equal if their string representations match.
|
java.util.List<java.lang.String> |
getComponents()
Get the path components of this instance.
|
FsFile |
getPathFrom(FsFile file)
Find the relative path of this path from a given parent.
|
int |
hashCode() |
java.io.File |
toFile(java.io.File file)
Convert this instance to a
File
relative to the given File. |
java.nio.file.Path |
toPath(java.nio.file.Path path)
Convert this instance to a
Path
relative to the given Path. |
java.lang.String |
toString()
Provides repository path with components separated by
separatorChar. |
FsFile |
transform(java.util.function.Function<java.lang.String,java.lang.String> componentTransformer)
Transform each path component with the given transformer.
|
public static char separatorChar
public static FsFile emptyPath
public FsFile(java.util.Collection<java.lang.String> components)
components - the components of the path to which this instance corresponds, may be nullpublic FsFile(java.lang.String... components)
components - the components of the path to which this instance correspondspublic FsFile(FsFile file, int maxComponentCount)
file - an existing instancemaxComponentCount - the number of child components of the instance,
including filename, above which parents should be ignoredpublic FsFile(java.io.File file)
file - the file to whose absolute path this instance correspondspublic FsFile(java.nio.file.Path path)
path - the path to whose absolute path this instance correspondspublic FsFile(java.lang.String path)
path - the path that this instance's string representation must matchpublic FsFile transform(java.util.function.Function<java.lang.String,java.lang.String> componentTransformer)
componentTransformer - a transformerpublic FsFile getPathFrom(FsFile file)
file - a parent path (may be the same as this one)public static FsFile concatenate(FsFile... files)
files - the paths to concatenatepublic java.util.List<java.lang.String> getComponents()
public java.io.File toFile(java.io.File file)
File
relative to the given File.file - parent directory, may be null for a relative return value,
but actually expected to be the repository's root directorypublic java.nio.file.Path toPath(java.nio.file.Path path)
Path
relative to the given Path.path - parent directory, may be null for a relative return value,
but actually expected to be the repository's root directorypublic java.lang.String toString()
separatorChar.
Suitable for displaying to the user and for constructing a new instance.toString in class java.lang.Objectpublic boolean equals(java.lang.Object object)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Object