com.ibm.wsspi.kernel.service.utils
Class PathUtils
- java.lang.Object
com.ibm.wsspi.kernel.service.utils.PathUtils
- public class PathUtils
- extends java.lang.Object
Nested Class Summary
Modifier and Type | Class and Description |
---|---|
|
PathUtils.PathComparator
A Path Comparator that will sort paths in order.
|
Field Summary
Modifier and Type | Field and Description |
---|---|
|
PATH_COMPARATOR
|
Constructor Summary
Constructor and Description |
---|
PathUtils()
|
Method Summary
Modifier and Type | Method and Description |
---|---|
|
checkAndNormalizeRootPath(java.lang.String path)
This method will do the following to the path:
|
|
checkCase(java.io.File file,java.lang.String pathToTest)
This method will test that the case of the supplied File matches the case in the pathToTest.
|
|
containsSymbol(java.lang.String s)
|
|
getChildUnder(java.lang.String path,java.lang.String parentPath)
Given a path, and a super path, return the immediate child of the super path in the path.
|
|
getFirstPathComponent(java.lang.String path)
Obtains the 1st component of a path
|
|
getName(java.lang.String pathAndName)
Gets the name from a path component
|
|
getParent(java.lang.String path)
Gets the parent section of a given path.
|
|
getSymbol(java.lang.String s)
|
|
isNormalizedPathAbsolute(java.lang.String nPath)
|
|
isSymbol(java.lang.String s)
|
|
isUnixStylePathAbsolute(java.lang.String unixStylePath)
This method ensures that the supplied path is not attempting to traverse up the directory structure from its current location by using the ..
|
|
normalize(java.lang.String path)
Strip "." and ".." elements from path.
|
|
normalizeDescendentPath(java.lang.String path)
Normalizes the path parameter; enforces descendant relative path.
|
|
normalizeRelative(java.lang.String relativePath)
Normalize the path; enforces a relative path.
|
|
normalizeUnixStylePath(java.lang.String unixStylePath)
|
|
pathIsAbsolute(java.lang.String normalizedPath)
Test if a path is absolute.
|
|
slashify(java.lang.String filePath)
Convert \ separators into /'s
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail
PATH_COMPARATOR
- public static final java.util.Comparator<java.lang.String> PATH_COMPARATOR
Constructor Detail
PathUtils
- public PathUtils()
Method Detail
slashify
- public static java.lang.String slashify( java.lang.String filePath)
filePath
- path to process, must not be null. normalizeDescendentPath
- public static java.lang.String normalizeDescendentPath( java.lang.String path)
path
- MalformedLocationException
- if normalized path begins with "..", as that would navigate
to the parent normalizeRelative
- public static java.lang.String normalizeRelative( java.lang.String relativePath)
relativePath
- MalformedLocationException
- if path is not relative (is an absolute path, a file URI, or
starts with a symbol) pathIsAbsolute
- public static boolean pathIsAbsolute( java.lang.String normalizedPath)
Returns true if the path is an absolute one.
Eg. c:/wibble/fish, /wibble/fish, ${wibble}/fish
normalizedPath
- normalize
- public static java.lang.String normalize( java.lang.String path)
path
- isSymbol
- public static boolean isSymbol( java.lang.String s)
containsSymbol
- public static boolean containsSymbol( java.lang.String s)
getSymbol
- public static java.lang.String getSymbol( java.lang.String s)
getParent
- public static java.lang.String getParent( java.lang.String path)
Eg, for /wibble/fish/monkey, will return /wibble/fish
for /wibble, will return /
for / will return null
path
- the path to be interpreted. getName
- public static java.lang.String getName( java.lang.String pathAndName)
Eg.
for /wibble/fish returns fish
for /wibble returns wibble
for / returns /
for sheep returns sheep
Names ending in / are illegal, and will fail. Callee's Responsibility.
pathAndName
- getFirstPathComponent
- public static java.lang.String getFirstPathComponent( java.lang.String path)
Eg, for /wibble/fish will return wibble
for /we/like/pie will return we
for /fish will return fish
for sheep will return sheep
for sheep/like/pies will return sheep
for sheep/shearing will return sheep
for / will return ""
path
- path to parse getChildUnder
- public static java.lang.String getChildUnder( java.lang.String path,
- java.lang.String parentPath)
Eg, for /we/like/pies and /we/like will return pies
for /fish/are/friends/not/food and /fish/are/friends will return not
Will explode in fiery ball of death if parentPath is not a parent of path, you have been warned.
path
- full path parentPath
- path segment that is a super path within path isUnixStylePathAbsolute
- public static boolean isUnixStylePathAbsolute( java.lang.String unixStylePath)
unixStylePath
- The path to check once normalized true
if the path isn't trying to go up from the current location isNormalizedPathAbsolute
- public static boolean isNormalizedPathAbsolute( java.lang.String nPath)
checkAndNormalizeRootPath
- public static java.lang.String checkAndNormalizeRootPath( java.lang.String path)
- throws java.lang.IllegalArgumentException
This method will do the following to the path:
- Check that it is a valid
path
by callingisUnixStylePathAbsolute(String)
- Add a "/" to the front of the
path
if it is not present - Remove a "/" from the end of the
path
if it is present - Normalize the
path
via a call tonormalizeUnixStylePath(String)
- Check that the
path
is not equals to "/" or ""
path
- The path to normalize java.lang.IllegalArgumentException
- If the path
is trying to leave the root element via .. notation or is "/" or "" java.lang.NullPointerException
- If the path
is null
normalizeUnixStylePath
- public static java.lang.String normalizeUnixStylePath( java.lang.String unixStylePath)
checkCase
- public static boolean checkCase( java.io.File file,
- java.lang.String pathToTest)
file
- The file to compare against pathToTest
- The path to test if it is the same true
if the case is the same in the file and the pathToTest