Class PathUtil


  • public final class PathUtil
    extends java.lang.Object
    PathUtil A series of internal-only path utilities for adjusting relative forms, removing double-slashes, etc. Used in correcting inputs in the creation of new Paths
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String EMPTY
      Empty String
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private PathUtil()
      No instantiation
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String adjustToAbsoluteDirectoryContext​(java.lang.String path)
      Adjusts the specified path to absolute form: 1) Adds, if not present, a preceding slash 2) Adds, if not present, a trailing slash Null arguments are returned as-is
      static java.lang.String adjustToRelativeDirectoryContext​(java.lang.String path)
      Adjusts the specified path to relative form: 1) Removes, if present, a preceding slash 2) Adds, if not present, a trailing slash Null arguments are returned as-is
      private static void assertSpecified​(java.lang.String path)
      Ensures the path is specified
      static java.lang.String composeAbsoluteContext​(java.lang.String base, java.lang.String context)
      Composes an absolute context from a given base and actual context relative to the base, returning the result.
      (package private) static ArchivePath getParent​(ArchivePath path)
      Obtains the parent of this Path, if exists, else null.
      private static boolean isFirstCharSlash​(java.lang.String path)
      Returns whether or not the first character in the specified String is a slash
      private static boolean isLastCharSlash​(java.lang.String path)
      Returns whether or not the last character in the specified String is a slash
      static java.lang.String optionallyAppendSlash​(java.lang.String path)
      Adds, if not already present, the absolute slash following the specified path, and returns the adjusted result.
      static java.lang.String optionallyPrependSlash​(java.lang.String path)
      Adds, if not already present, the absolute slash preceding the specified path, and returns the adjusted result.
      static java.lang.String optionallyRemoveFollowingSlash​(java.lang.String path)
      Removes, if present, the absolute slash following the specified path, and returns the adjusted result.
      static java.lang.String optionallyRemovePrecedingSlash​(java.lang.String path)
      Removes, if present, the absolute slash preceding the specified path, and returns the adjusted result.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PathUtil

        private PathUtil()
        No instantiation
    • Method Detail

      • composeAbsoluteContext

        public static java.lang.String composeAbsoluteContext​(java.lang.String base,
                                                              java.lang.String context)
        Composes an absolute context from a given base and actual context relative to the base, returning the result. ie. base of "base" and context of "context" will result in form "/base/context".
      • adjustToRelativeDirectoryContext

        public static java.lang.String adjustToRelativeDirectoryContext​(java.lang.String path)
        Adjusts the specified path to relative form: 1) Removes, if present, a preceding slash 2) Adds, if not present, a trailing slash Null arguments are returned as-is
        Parameters:
        path -
      • adjustToAbsoluteDirectoryContext

        public static java.lang.String adjustToAbsoluteDirectoryContext​(java.lang.String path)
        Adjusts the specified path to absolute form: 1) Adds, if not present, a preceding slash 2) Adds, if not present, a trailing slash Null arguments are returned as-is
        Parameters:
        path -
      • optionallyRemovePrecedingSlash

        public static java.lang.String optionallyRemovePrecedingSlash​(java.lang.String path)
        Removes, if present, the absolute slash preceding the specified path, and returns the adjusted result.
        Parameters:
        path -
        Returns:
      • optionallyRemoveFollowingSlash

        public static java.lang.String optionallyRemoveFollowingSlash​(java.lang.String path)
        Removes, if present, the absolute slash following the specified path, and returns the adjusted result.
        Parameters:
        path -
        Returns:
      • optionallyAppendSlash

        public static java.lang.String optionallyAppendSlash​(java.lang.String path)
        Adds, if not already present, the absolute slash following the specified path, and returns the adjusted result.
        Parameters:
        path -
        Returns:
      • optionallyPrependSlash

        public static java.lang.String optionallyPrependSlash​(java.lang.String path)
        Adds, if not already present, the absolute slash preceding the specified path, and returns the adjusted result. If the argument is null, adjusts to an empty String before processing.
        Parameters:
        path -
        Returns:
      • getParent

        static ArchivePath getParent​(ArchivePath path)
        Obtains the parent of this Path, if exists, else null. For instance if the Path is "/my/path", the parent will be "/my". Each call will result in a new object reference, though subsequent calls upon the same Path will be equal by value.
        Parameters:
        path - The path whose parent context we should return
        Returns:
      • isFirstCharSlash

        private static boolean isFirstCharSlash​(java.lang.String path)
        Returns whether or not the first character in the specified String is a slash
      • isLastCharSlash

        private static boolean isLastCharSlash​(java.lang.String path)
        Returns whether or not the last character in the specified String is a slash
      • assertSpecified

        private static void assertSpecified​(java.lang.String path)
        Ensures the path is specified
        Parameters:
        path -