Package org.jboss.modules
Class PathUtils
- java.lang.Object
-
- org.jboss.modules.PathUtils
-
public final class PathUtils extends Object
General helpful path utility methods.- Author:
- David M. Lloyd
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
basicModuleNameToPath(String moduleName)
Convert a "basic" module name to a relative path specification.static String
canonicalize(String path)
Canonicalize the given path.static String
fileNameOfPath(String path)
Get the file name (last) segment of the given path.static <T extends Collection<? super String>>
TfilterPaths(Iterable<String> source, PathFilter filter, T target)
Filter the paths fromsource
intotarget
usingfilter
.static Set<String>
getPathSet(ClassLoader classLoader)
Attempt to get a set of all paths defined directly by the given class loader.static boolean
isChild(String parent, String child)
Determine whether one path is a child of another.static boolean
isDirectChild(String parent, String child)
Determine whether one path is a direct (or immediate) child of another.static boolean
isRelative(String path)
Determine whether a path name is relative.static boolean
isSeparator(char ch)
Determine whether the given character is a/
or a platform-specific separator.static String
relativize(String path)
Relativize the given path.static String
toGenericSeparators(String original)
Get the given path name with OS-specific separators replaced with the generic/
separator character.
-
-
-
Method Detail
-
filterPaths
public static <T extends Collection<? super String>> T filterPaths(Iterable<String> source, PathFilter filter, T target)
Filter the paths fromsource
intotarget
usingfilter
.- Type Parameters:
T
- the collection type- Parameters:
source
- the source pathsfilter
- the filter to applytarget
- the destination for filtered paths- Returns:
- the
target
set
-
getPathSet
public static Set<String> getPathSet(ClassLoader classLoader)
Attempt to get a set of all paths defined directly by the given class loader. If the path set cannot be ascertained,null
is returned.- Parameters:
classLoader
- the class loader to inspect- Returns:
- the set, or
null
if the paths could not be determined
-
relativize
public static String relativize(String path)
Relativize the given path. Removes any leading/
segments from the path.- Parameters:
path
- the path to relativize- Returns:
- the relative path
-
fileNameOfPath
public static String fileNameOfPath(String path)
Get the file name (last) segment of the given path.- Parameters:
path
- the path name- Returns:
- the file name
-
canonicalize
public static String canonicalize(String path)
Canonicalize the given path. Removes all.
and..
segments from the path.- Parameters:
path
- the relative or absolute possibly non-canonical path- Returns:
- the canonical path
-
isChild
public static boolean isChild(String parent, String child)
Determine whether one path is a child of another.- Parameters:
parent
- the parent pathchild
- the child path- Returns:
true
if the child is truly a child of parent
-
isDirectChild
public static boolean isDirectChild(String parent, String child)
Determine whether one path is a direct (or immediate) child of another.- Parameters:
parent
- the parent pathchild
- the child path- Returns:
true
if the child is truly a direct child of parent
-
toGenericSeparators
public static String toGenericSeparators(String original)
Get the given path name with OS-specific separators replaced with the generic/
separator character.- Parameters:
original
- the original string- Returns:
- the same string with OS-specific separators replaced with
/
-
isRelative
public static boolean isRelative(String path)
Determine whether a path name is relative.- Parameters:
path
- the path name- Returns:
true
if it is relative
-
isSeparator
public static boolean isSeparator(char ch)
Determine whether the given character is a/
or a platform-specific separator.- Parameters:
ch
- the character to test- Returns:
true
if it is a separator
-
-