Interface FileName

All Superinterfaces:
Comparable<FileName>
All Known Implementing Classes:
AbstractFileName, GenericFileName, LayeredFileName, LocalFileName, UrlFileName, URLFileName, VirtualFileName, WindowsFileName

public interface FileName extends Comparable<FileName>
Represents a file name. File names are immutable, and work correctly as keys in hash tables.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The absolute path of the root of a file system.
    static final String
    The separator used in file paths.
    static final char
    The separator character used in file paths.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the base name of this file.
    int
    Returns the depth of this file name, within its file system.
    Returns the extension of this file name.
    Returns a "friendly path", this is a path without a password.
    Returns the file name of the parent of this file.
    Returns the absolute path of this file, within its file system.
    Returns the absolute path of this file, within its file system.
    Converts a file name to a relative name, relative to this file name.
    Finds the root of the file system.
    Returns the root URI of the file system this file belongs to.
    Returns the URI scheme of this file.
    Returns the requested or current type of this name.
    Returns the absolute URI of this file.
    boolean
    isAncestor(FileName ancestor)
    Determines if another file name is an ancestor of this file name.
    boolean
    isDescendent(FileName descendent)
    Determines if another file name is a descendent of this file name.
    boolean
    isDescendent(FileName descendent, NameScope nameScope)
    Determines if another file name is a descendent of this file name.
    boolean
    Checks if this file name is a name for a regular file.

    Methods inherited from interface java.lang.Comparable

    compareTo
  • Field Details

  • Method Details

    • getBaseName

      Returns the base name of this file. The base name is the last element of the file name. For example the base name of /somefolder/somefile is somefile.

      The root file of a file system has an empty base name.

      Returns:
      The base name. Never returns null.
    • getPath

      Returns the absolute path of this file, within its file system. This path is normalized, so that . and .. elements have been removed. Also, the path only contains / as its separator character. The path always starts with /

      The root of a file system has / as its absolute path.

      Returns:
      The path. Never returns null.
    • getPathDecoded

      Returns the absolute path of this file, within its file system. This path is normalized, so that . and .. elements have been removed. Also, the path only contains / as its separator character. The path always starts with /

      The root of a file system has / as its absolute path.

      In contrast to getPath() the path is decoded i.e. all %nn stuff replaced by its character.

      Returns:
      The path. Never returns null.
      Throws:
      FileSystemException - if the path is not correctly encoded
    • getExtension

      Returns the extension of this file name.
      Returns:
      The extension. Returns an empty string if the name has no extension.
    • getDepth

      int getDepth()
      Returns the depth of this file name, within its file system. The depth of the root of a file system is 0. The depth of any other file is 1 + the depth of its parent.
      Returns:
      The depth of this file name.
    • getScheme

      Returns the URI scheme of this file.
      Returns:
      The URI scheme of this file.
    • getURI

      Returns the absolute URI of this file.
      Returns:
      the absolute URI of this file.
    • getRootURI

      Returns the root URI of the file system this file belongs to.
      Returns:
      the root URI.
    • getRoot

      Finds the root of the file system.
      Returns:
      the file system root.
    • getParent

      Returns the file name of the parent of this file. The root of a file system has no parent.
      Returns:
      A FileName object representing the parent name. Returns null for the root of a file system.
    • getRelativeName

      Converts a file name to a relative name, relative to this file name.
      Parameters:
      name - The name to convert to a relative path.
      Returns:
      The relative name.
      Throws:
      FileSystemException - On error.
    • isAncestor

      boolean isAncestor(FileName ancestor)
      Determines if another file name is an ancestor of this file name.
      Parameters:
      ancestor - The FileName to check.
      Returns:
      true if another file name is an ancestor of this file name.
    • isDescendent

      boolean isDescendent(FileName descendent)
      Determines if another file name is a descendent of this file name.
      Parameters:
      descendent - the FileName to check.
      Returns:
      true if the other FileName is a descendent of this file name.
    • isDescendent

      boolean isDescendent(FileName descendent, NameScope nameScope)
      Determines if another file name is a descendent of this file name.
      Parameters:
      descendent - the FileName to check.
      nameScope - the NameScope of the FileName.
      Returns:
      true if the other FileName is a descendent of this file name.
    • isFile

      boolean isFile() throws FileSystemException
      Checks if this file name is a name for a regular file.
      Returns:
      true if this file name is a name for a regular file.
      Throws:
      FileSystemException - if an error occurs.
      Since:
      2.1
      See Also:
    • getType

      Returns the requested or current type of this name.

      The "requested" type is the one determined during resolving the name. In this case the name is a FileType.FOLDER if it ends with an "/" else it will be a FileType.FILE.

      Once attached it will be changed to reflect the real type of this resource.

      Returns:
      FileType.FOLDER or FileType.FILE
    • getFriendlyURI

      Returns a "friendly path", this is a path without a password.

      This path can not be used to resolve the path again.

      Returns:
      the friendly URI as a String.