Class RelativePath

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.CharSequence, java.lang.Comparable<RelativePath>

    public class RelativePath
    extends java.lang.Object
    implements java.io.Serializable, java.lang.Comparable<RelativePath>, java.lang.CharSequence

    Represents a relative path from some base directory to a file. Used in file copying to represent both a source and target file path when copying files.

    RelativePath instances are immutable.

    See Also:
    Serialized Form
    • Field Detail

    • Constructor Detail

      • RelativePath

        public RelativePath​(boolean endsWithFile,
                            java.lang.String... segments)
        Creates a RelativePath.
        Parameters:
        endsWithFile - - if true, the path ends with a file, otherwise a directory
    • Method Detail

      • getSegments

        public java.lang.String[] getSegments()
      • segmentIterator

        public java.util.ListIterator<java.lang.String> segmentIterator()
      • isFile

        public boolean isFile()
      • getPathString

        public java.lang.String getPathString()
      • length

        public int length()
        Specified by:
        length in interface java.lang.CharSequence
      • charAt

        public char charAt​(int index)
        Specified by:
        charAt in interface java.lang.CharSequence
      • subSequence

        public java.lang.CharSequence subSequence​(int start,
                                                  int end)
        Specified by:
        subSequence in interface java.lang.CharSequence
      • getFile

        public java.io.File getFile​(java.io.File baseDir)
      • getLastName

        public java.lang.String getLastName()
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Specified by:
        toString in interface java.lang.CharSequence
        Overrides:
        toString in class java.lang.Object
      • getParent

        public RelativePath getParent()
        Returns the parent of this path.
        Returns:
        The parent of this path, or null if this is the root path.
      • parse

        public static RelativePath parse​(boolean isFile,
                                         java.lang.String path)
      • replaceLastName

        public RelativePath replaceLastName​(java.lang.String name)

        Returns a copy of this path, with the last name replaced with the given name.

        Parameters:
        name - The name.
        Returns:
        The path.
      • append

        public RelativePath append​(RelativePath other)

        Appends the given path to the end of this path.

        Parameters:
        other - The path to append
        Returns:
        The new path
      • plus

        public RelativePath plus​(RelativePath other)

        Appends the given path to the end of this path.

        Parameters:
        other - The path to append
        Returns:
        The new path
      • append

        public RelativePath append​(boolean endsWithFile,
                                   java.lang.String... segments)
        Appends the given names to the end of this path.
        Parameters:
        segments - The names to append.
        endsWithFile - when true, the new path refers to a file.
        Returns:
        The new path.
      • prepend

        public RelativePath prepend​(java.lang.String... segments)
        Prepends the given names to the start of this path.
        Parameters:
        segments - The names to prepend
        Returns:
        The new path.
      • compareTo

        public int compareTo​(RelativePath o)
        Specified by:
        compareTo in interface java.lang.Comparable<RelativePath>