public abstract class AbstractFileName extends java.lang.Object implements FileName
ROOT_PATH, SEPARATOR, SEPARATOR_CHAR| Constructor and Description |
|---|
AbstractFileName(java.lang.String scheme,
java.lang.String absPath,
FileType type) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
appendRootUri(java.lang.StringBuilder 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(FileName obj)
Implement Comparable.
|
abstract FileName |
createName(java.lang.String absolutePath,
FileType fileType)
Factory method for creating name instances.
|
protected java.lang.String |
createURI() |
boolean |
equals(java.lang.Object o) |
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 the URI 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 decoded path.
|
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() |
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.
|
boolean |
isFile()
Checks if this file name is a name for a regular file by using its type.
|
java.lang.String |
toString()
Returns the URI of the file.
|
public AbstractFileName(java.lang.String scheme, java.lang.String absPath, FileType type)
public boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic int compareTo(FileName obj)
compareTo in interface java.lang.Comparable<FileName>obj - another abstract filenamepublic java.lang.String toString()
toString in class java.lang.Objectpublic abstract FileName createName(java.lang.String absolutePath, FileType fileType)
absolutePath - The absolute path.fileType - The FileType.protected abstract void appendRootUri(java.lang.StringBuilder buffer, boolean addPassword)
buffer - A StringBuilder to use to construct the URI.addPassword - true if the password should be added, false otherwise.public java.lang.String getBaseName()
getBaseName in interface FileNamepublic java.lang.String getPath()
protected java.lang.String getUriTrailer()
public java.lang.String getPathDecoded() throws FileSystemException
getPathDecoded in interface FileNameFileSystemException - If an error occurs.public java.lang.String getScheme()
public java.lang.String getURI()
protected java.lang.String createURI()
public java.lang.String getFriendlyURI()
getFriendlyURI in interface FileNamepublic java.lang.String getRelativeName(FileName name) throws FileSystemException
getRelativeName in interface FileNamename - The FileName.FileSystemException - if an error occurs.public java.lang.String getRootURI()
getRootURI in interface FileNamepublic int getDepth()
public java.lang.String getExtension()
getExtension in interface FileNamepublic boolean isAncestor(FileName ancestor)
isAncestor in interface FileNameancestor - The FileName to check.public boolean isDescendent(FileName descendent)
isDescendent in interface FileNamedescendent - The FileName to check.public boolean isDescendent(FileName descendent, NameScope scope)
isDescendent in interface FileNamedescendent - The FileName to check.scope - The NameScope.public boolean isFile() throws FileSystemException
isFile in interface FileNameFileSystemException - may be thrown by subclasses.getType(),
FileType.FILEpublic FileType getType()
The "requested" type is the one determined during resolving the name. n 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.
getType in interface FileNameFileType.FOLDER or FileType.FILEpublic static boolean checkName(java.lang.String basePath, java.lang.String path, NameScope scope)
basePath - An absolute, normalised path.path - An absolute, normalised path.scope - The NameScope.