Package org.apache.commons.vfs2.provider
Class AbstractFileName
java.lang.Object
org.apache.commons.vfs2.provider.AbstractFileName
- All Implemented Interfaces:
Comparable<FileName>
,FileName
- Direct Known Subclasses:
GenericFileName
,LayeredFileName
,LocalFileName
,ResourceFileName
,VirtualFileName
A default file name implementation.
-
Field Summary
Fields inherited from interface org.apache.commons.vfs2.FileName
EMPTY_ARRAY, ROOT_PATH, SEPARATOR, SEPARATOR_CHAR
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractFileName
(String scheme, String absolutePath, FileType type) Constructs a new instance for subclasses. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
appendRootUri
(StringBuilder buffer, boolean addPassword) Builds the root URI for this file name.static boolean
Checks whether a path fits in a particular scope of another path.int
Implement Comparable.abstract FileName
createName
(String absolutePath, FileType fileType) Factory method for creating name instances.protected String
Creates a URI.boolean
Returns the base name of the file.int
getDepth()
Returns the depth of this file name, within its file system.Returns the extension of this file name.Returns the URI without a password.Returns the name of the parent of the file.getPath()
Returns the absolute path of the file, relative to the root of the file system that the file belongs to.Returns the decoded path.getRelativeName
(FileName name) Converts a file name to a relative name, relative to this file name.getRoot()
find 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.getType()
Returns the requested or current type of this name.getURI()
Returns the absolute URI of the file.protected String
Gets the string to end a URI.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.toString()
Returns the URI of the file.
-
Constructor Details
-
AbstractFileName
Constructs a new instance for subclasses.- Parameters:
scheme
- The scheme.absolutePath
- the absolute path, maybe empty or null.type
- the file type.
-
-
Method Details
-
checkName
Checks whether a path fits in a particular scope of another path.- Parameters:
basePath
- An absolute, normalized path.path
- An absolute, normalized path.scope
- The NameScope.- Returns:
- true if the path fits in the scope, false otherwise.
-
appendRootUri
Builds the root URI for this file name. Note that the root URI must not end with a separator character.- Parameters:
buffer
- A StringBuilder to use to construct the URI.addPassword
- true if the password should be added, false otherwise.
-
compareTo
Implement Comparable.- Specified by:
compareTo
in interfaceComparable<FileName>
- Parameters:
obj
- another abstract file name- Returns:
- negative number if less than, 0 if equal, positive if greater than.
-
createName
Factory method for creating name instances.- Parameters:
absolutePath
- The absolute path.fileType
- The FileType.- Returns:
- The FileName.
-
createURI
Creates a URI.- Returns:
- a URI.
-
equals
-
getBaseName
Returns the base name of the file.- Specified by:
getBaseName
in interfaceFileName
- Returns:
- The base name of the file.
-
getDepth
Returns the depth of this file name, within its file system. -
getExtension
Returns the extension of this file name.- Specified by:
getExtension
in interfaceFileName
- Returns:
- The file extension.
-
getFriendlyURI
Returns the URI without a password.- Specified by:
getFriendlyURI
in interfaceFileName
- Returns:
- the URI without a password.
-
getParent
Returns the name of the parent of the file. -
getPath
Returns the absolute path of the file, relative to the root of the file system that the file belongs to. -
getPathDecoded
Returns the decoded path.- Specified by:
getPathDecoded
in interfaceFileName
- Returns:
- The decoded path String.
- Throws:
FileSystemException
- If an error occurs.
-
getRelativeName
Converts a file name to a relative name, relative to this file name.- Specified by:
getRelativeName
in interfaceFileName
- Parameters:
name
- The FileName.- Returns:
- The relative path to the file.
- Throws:
FileSystemException
- if an error occurs.
-
getRoot
find the root of the file system. -
getRootURI
Returns the root URI of the file system this file belongs to.- Specified by:
getRootURI
in interfaceFileName
- Returns:
- The URI of the root.
-
getScheme
Returns the URI scheme of this file. -
getType
Returns the requested or current type of this name.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 aFileType.FILE
.Once attached it will be changed to reflect the real type of this resource.
- Specified by:
getType
in interfaceFileName
- Returns:
FileType.FOLDER
orFileType.FILE
-
getURI
Returns the absolute URI of the file. -
getUriTrailer
Gets the string to end a URI.- Returns:
- the string to end a URI
-
hashCode
-
isAncestor
Determines if another file name is an ancestor of this file name.- Specified by:
isAncestor
in interfaceFileName
- Parameters:
ancestor
- The FileName to check.- Returns:
- true if the FileName is an ancestor, false otherwise.
-
isDescendent
Determines if another file name is a descendent of this file name.- Specified by:
isDescendent
in interfaceFileName
- Parameters:
descendent
- The FileName to check.- Returns:
- true if the FileName is a descendent, false otherwise.
-
isDescendent
Determines if another file name is a descendent of this file name.- Specified by:
isDescendent
in interfaceFileName
- Parameters:
descendent
- The FileName to check.scope
- The NameScope.- Returns:
- true if the FileName is a descendent, false otherwise.
-
isFile
Checks if this file name is a name for a regular file by using its type.- Specified by:
isFile
in interfaceFileName
- Returns:
- true if this file is a regular file.
- Throws:
FileSystemException
- may be thrown by subclasses.- See Also:
-
toString
Returns the URI of the file.
-