Class AbstractFileName

    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractFileName​(java.lang.String scheme, java.lang.String absPath, FileType type)  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract void appendRootUri​(java.lang.StringBuffer buffer, boolean addPassword)
      Builds the root URI for this file name.
      static boolean checkName​(java.lang.String basePath, java.lang.String path, NameScope scope)
      Checks whether a path fits in a particular scope of another path.
      int compareTo​(java.lang.Object obj)
      Implement Comparable
      abstract FileName createName​(java.lang.String absPath, FileType type)
      Factory method for creating name instances.
      protected java.lang.String createURI()  
      boolean equals​(java.lang.Object obj)
      Determines if this object is equal to another.
      java.lang.String getBaseName()
      Returns the base name of the file.
      int getDepth()
      Returns the depth of this file name, within its file system.
      java.lang.String getExtension()
      Returns the extension of this file name.
      java.lang.String getFriendlyURI()
      returns a "friendly path", this is a path without a password.
      FileName getParent()
      Returns the name of the parent of the file.
      java.lang.String getPath()
      Returns the absolute path of the file, relative to the root of the file system that the file belongs to.
      java.lang.String getPathDecoded()
      Returns the absolute path of this file, within its file system.
      java.lang.String getRelativeName​(FileName name)
      Converts a file name to a relative name, relative to this file name.
      FileName getRoot()
      find the root of the filesystem
      java.lang.String getRootURI()
      Returns the root URI of the file system this file belongs to.
      java.lang.String getScheme()
      Returns the URI scheme of this file.
      FileType getType()
      Returns the requested or current type of this name.
      java.lang.String getURI()
      Returns the absolute URI of the file.
      protected java.lang.String getUriTrailer()  
      int hashCode()
      Returns the hashcode for this name.
      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 scope)
      Determines if another file name is a descendent of this file name.
      java.lang.String toString()
      Returns the URI of the file.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • AbstractFileName

        public AbstractFileName​(java.lang.String scheme,
                                java.lang.String absPath,
                                FileType type)
    • Method Detail

      • hashCode

        public int hashCode()
        Returns the hashcode for this name.
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Determines if this object is equal to another.
        Overrides:
        equals in class java.lang.Object
      • compareTo

        public int compareTo​(java.lang.Object obj)
        Implement Comparable
        Specified by:
        compareTo in interface java.lang.Comparable
        Parameters:
        obj - another abstractfilename
      • toString

        public java.lang.String toString()
        Returns the URI of the file.
        Overrides:
        toString in class java.lang.Object
      • createName

        public abstract FileName createName​(java.lang.String absPath,
                                            FileType type)
        Factory method for creating name instances.
      • appendRootUri

        protected abstract void appendRootUri​(java.lang.StringBuffer buffer,
                                              boolean addPassword)
        Builds the root URI for this file name. Note that the root URI must not end with a separator character.
      • getBaseName

        public java.lang.String getBaseName()
        Returns the base name of the file.
        Specified by:
        getBaseName in interface FileName
        Returns:
        The base name. Never returns null.
      • getPath

        public java.lang.String getPath()
        Returns the absolute path of the file, relative to the root of the file system that the file belongs to.
        Specified by:
        getPath in interface FileName
        Returns:
        The path. Never returns null.
      • getUriTrailer

        protected java.lang.String getUriTrailer()
      • getPathDecoded

        public java.lang.String getPathDecoded()
                                        throws FileSystemException
        Description copied from interface: FileName
        Returns the absolute path of this file, within its file system. This path is normalised, 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 FileName.getPath() the path is decoded i.e. all %nn stuff replaced by its character.

        Specified by:
        getPathDecoded in interface FileName
        Returns:
        The path. Never returns null.
        Throws:
        FileSystemException - if the path is not correctly encoded
      • getParent

        public FileName getParent()
        Returns the name of the parent of the file.
        Specified by:
        getParent in interface FileName
        Returns:
        A FileName object representing the parent name. Returns null for the root of a file system.
      • getRoot

        public FileName getRoot()
        find the root of the filesystem
        Specified by:
        getRoot in interface FileName
      • getScheme

        public java.lang.String getScheme()
        Returns the URI scheme of this file.
        Specified by:
        getScheme in interface FileName
      • getURI

        public java.lang.String getURI()
        Returns the absolute URI of the file.
        Specified by:
        getURI in interface FileName
      • createURI

        protected java.lang.String createURI()
      • getRelativeName

        public java.lang.String getRelativeName​(FileName name)
                                         throws FileSystemException
        Converts a file name to a relative name, relative to this file name.
        Specified by:
        getRelativeName in interface FileName
        Parameters:
        name - The name to convert to a relative path.
        Returns:
        The relative name.
        Throws:
        FileSystemException - On error.
      • getRootURI

        public java.lang.String getRootURI()
        Returns the root URI of the file system this file belongs to.
        Specified by:
        getRootURI in interface FileName
      • getDepth

        public int getDepth()
        Returns the depth of this file name, within its file system.
        Specified by:
        getDepth in interface FileName
      • getExtension

        public java.lang.String getExtension()
        Returns the extension of this file name.
        Specified by:
        getExtension in interface FileName
        Returns:
        The extension. Returns an empty string if the name has no extension.
      • isAncestor

        public boolean isAncestor​(FileName ancestor)
        Determines if another file name is an ancestor of this file name.
        Specified by:
        isAncestor in interface FileName
      • isDescendent

        public boolean isDescendent​(FileName descendent)
        Determines if another file name is a descendent of this file name.
        Specified by:
        isDescendent in interface FileName
      • isDescendent

        public boolean isDescendent​(FileName descendent,
                                    NameScope scope)
        Determines if another file name is a descendent of this file name.
        Specified by:
        isDescendent in interface FileName
      • getType

        public FileType 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.

        Specified by:
        getType in interface FileName
        Returns:
        FileType.FOLDER or FileType.FILE
      • checkName

        public static boolean checkName​(java.lang.String basePath,
                                        java.lang.String path,
                                        NameScope scope)
        Checks whether a path fits in a particular scope of another path.
        Parameters:
        basePath - An absolute, normalised path.
        path - An absolute, normalised path.
      • getFriendlyURI

        public java.lang.String getFriendlyURI()
        returns a "friendly path", this is a path without a password.
        Specified by:
        getFriendlyURI in interface FileName