org.codehaus.plexus.util
Class PathTool
java.lang.Object
org.codehaus.plexus.util.PathTool
public class PathTool
extends java.lang.Object
Path tool contains static methods to assist in determining path-related
information such as relative paths.
$Id: PathTool.java 1724 2005-04-17 12:40:30Z evenisse $static String | calculateLink(String link, String relativePath) - Calculates the appropriate link given the preferred link and the relativePath of the document
|
private static String | determineRelativePath(String filename, String separator) - Determines the relative path of a filename.
|
private static String | determineSeparator(String filename) - Helper method to determine the file separator (forward or
backward slash) used in a filename.
|
static String | getDirectoryComponent(String filename) - Determines the directory component of a filename.
|
static String | getRelativePath(String filename) - Determines the relative path of a filename.
|
static String | getRelativePath(String basedir, String filename) - Determines the relative path of a filename from a base directory.
|
(package private) static String | uppercaseDrive(String path) - Cygwin prefers lowercase drive letters, but other parts of maven use uppercase
|
calculateLink
public static final String calculateLink(String link,
String relativePath)
Calculates the appropriate link given the preferred link and the relativePath of the document
determineRelativePath
private static final String determineRelativePath(String filename,
String separator)
Determines the relative path of a filename. For each separator
within the filename (except the leading if present), append the
"../" string to the return value.
filename
- The filename to parse.separator
- The separator used within the filename.
- The relative path of the filename. This value is not
terminated with a forward slash. A zero-length string is
returned if: the filename is zero-length.
determineSeparator
private static final String determineSeparator(String filename)
Helper method to determine the file separator (forward or
backward slash) used in a filename. The slash that occurs more
often is returned as the separator.
filename
- The filename parsed to determine the file
separator.
- The file separator used within
filename
.
This value is either a forward or backward slash.
getDirectoryComponent
public static final String getDirectoryComponent(String filename)
Determines the directory component of a filename. This is useful
within DVSL templates when used in conjunction with the DVSL's
$context.getAppValue("infilename")
to get the
current directory that is currently being processed.
This method is thread-safe.
filename
- The filename to be parsed.
- The directory portion of the
filename
. If
the filename does not contain a directory component, "." is
returned.
getRelativePath
public static final String getRelativePath(String filename)
Determines the relative path of a filename. This method is
useful in building relative links within pages of a web site. It
provides similar functionality to Anakia's
$relativePath
context variable. The argument to
this method may contain either forward or backward slashes as
file separators. The relative path returned is formed using
forward slashes as it is expected this path is to be used as a
link in a web page (again mimicking Anakia's behavior).
This method is thread-safe.
filename
- The filename to be parsed.
- The relative path of the filename. This value is not
terminated with a forward slash. A zero-length string is
returned if:
filename
is null or zero-length.
getRelativePath
public static final String getRelativePath(String basedir,
String filename)
Determines the relative path of a filename from a base directory.
This method is useful in building relative links within pages of
a web site. It provides similar functionality to Anakia's
$relativePath
context variable. The arguments to
this method may contain either forward or backward slashes as
file separators. The relative path returned is formed using
forward slashes as it is expected this path is to be used as a
link in a web page (again mimicking Anakia's behavior).
This method is thread-safe.
basedir
- The base directory.filename
- The filename that is relative to the base
directory.
- The relative path of the filename from the base
directory. This value is not terminated with a forward slash.
A zero-length string is returned if: the filename is not relative to
the base directory,
basedir
is null or zero-length,
or filename
is null or zero-length.
uppercaseDrive
(package private) static final String uppercaseDrive(String path)
Cygwin prefers lowercase drive letters, but other parts of maven use uppercase