Interface FileName

All Superinterfaces:
Comparable<FileName>
All Known Implementing Classes:
AbstractFileName, GenericFileName, GenericURLFileName, LayeredFileName, LocalFileName, ResourceFileName, 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 Details

  • Method Details

    • getBaseName

      Gets 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.
    • getDepth

      int getDepth()
      Gets 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.
    • getExtension

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

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

      This path cannot be used to resolve the path again.

      Returns:
      the friendly URI as a String.
    • getParent

      Gets 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.
    • getPath

      Gets the absolute path string 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(), this path is decoded: All %nn escapes are replaced by their respective characters.

      Returns:
      The decoded path. Never returns null.
      Throws:
      FileSystemException - if the path is not correctly encoded
    • 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.
    • getRoot

      Gets the root of the file system.
      Returns:
      the file system root.
    • getRootURI

      Gets the root URI string of the file system this file belongs to.
      Returns:
      the root URI string.
    • getScheme

      Gets the URI scheme of this file.
      Returns:
      The URI scheme of this file.
    • getType

      Gets 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
    • getURI

      Gets the absolute URI string of this file.
      Returns:
      the absolute URI string of this file.
    • isAncestor

      boolean isAncestor(FileName ancestor)
      Tests 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)
      Tests 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)
      Tests 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
      Tests 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: