Package org.apache.commons.vfs2.provider
Class AbstractFileName
- java.lang.Object
-
- org.apache.commons.vfs2.provider.AbstractFileName
-
- Direct Known Subclasses:
GenericFileName,LayeredFileName,LocalFileName,ResourceFileName,VirtualFileName
public abstract class AbstractFileName extends java.lang.Object implements FileName
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
Constructors Constructor Description AbstractFileName(java.lang.String scheme, java.lang.String absolutePath, FileType type)Constructs a new instance for subclasses.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidappendRootUri(java.lang.StringBuilder buffer, boolean addPassword)Builds the root URI for this file name.static booleancheckName(java.lang.String basePath, java.lang.String path, NameScope scope)Checks whether a path fits in a particular scope of another path.intcompareTo(FileName obj)Implement Comparable.abstract FileNamecreateName(java.lang.String absolutePath, FileType fileType)Factory method for creating name instances.protected java.lang.StringcreateURI()Creates a URI.booleanequals(java.lang.Object o)java.lang.StringgetBaseName()Returns the base name of the file.intgetDepth()Returns the depth of this file name, within its file system.java.lang.StringgetExtension()Returns the extension of this file name.java.lang.StringgetFriendlyURI()Returns the URI without a password.FileNamegetParent()Returns the name of the parent of the file.java.lang.StringgetPath()Returns the absolute path of the file, relative to the root of the file system that the file belongs to.java.lang.StringgetPathDecoded()Returns the decoded path.java.lang.StringgetRelativeName(FileName name)Converts a file name to a relative name, relative to this file name.FileNamegetRoot()find the root of the file system.java.lang.StringgetRootURI()Returns the root URI of the file system this file belongs to.java.lang.StringgetScheme()Returns the URI scheme of this file.FileTypegetType()Returns the requested or current type of this name.java.lang.StringgetURI()Returns the absolute URI of the file.protected java.lang.StringgetUriTrailer()Gets the string to end a URI.inthashCode()booleanisAncestor(FileName ancestor)Determines if another file name is an ancestor of this file name.booleanisDescendent(FileName descendent)Determines if another file name is a descendent of this file name.booleanisDescendent(FileName descendent, NameScope scope)Determines if another file name is a descendent of this file name.booleanisFile()Checks if this file name is a name for a regular file by using its type.java.lang.StringtoString()Returns the URI of the file.
-
-
-
Constructor Detail
-
AbstractFileName
public AbstractFileName(java.lang.String scheme, java.lang.String absolutePath, FileType type)
Constructs a new instance for subclasses.- Parameters:
scheme- The scheme.absolutePath- the absolute path, maybe empty or null.type- the file type.
-
-
Method Detail
-
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, normalized path.path- An absolute, normalized path.scope- The NameScope.- Returns:
- true if the path fits in the scope, false otherwise.
-
appendRootUri
protected abstract void appendRootUri(java.lang.StringBuilder buffer, boolean addPassword)
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
public int compareTo(FileName obj)
Implement Comparable.- Specified by:
compareToin interfacejava.lang.Comparable<FileName>- Parameters:
obj- another abstract file name- Returns:
- negative number if less than, 0 if equal, positive if greater than.
-
createName
public abstract FileName createName(java.lang.String absolutePath, FileType fileType)
Factory method for creating name instances.- Parameters:
absolutePath- The absolute path.fileType- The FileType.- Returns:
- The FileName.
-
createURI
protected java.lang.String createURI()
Creates a URI.- Returns:
- a URI.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
getBaseName
public java.lang.String getBaseName()
Returns the base name of the file.- Specified by:
getBaseNamein interfaceFileName- Returns:
- The base name of the file.
-
getDepth
public int getDepth()
Returns the depth of this file name, within its file system.
-
getExtension
public java.lang.String getExtension()
Returns the extension of this file name.- Specified by:
getExtensionin interfaceFileName- Returns:
- The file extension.
-
getFriendlyURI
public java.lang.String getFriendlyURI()
Returns the URI without a password.- Specified by:
getFriendlyURIin interfaceFileName- Returns:
- Returns the URI without a password.
-
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.
-
getPathDecoded
public java.lang.String getPathDecoded() throws FileSystemException
Returns the decoded path.- Specified by:
getPathDecodedin interfaceFileName- Returns:
- The decoded path String.
- Throws:
FileSystemException- If an error occurs.
-
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:
getRelativeNamein interfaceFileName- Parameters:
name- The FileName.- Returns:
- The relative path to the file.
- Throws:
FileSystemException- if an error occurs.
-
getRootURI
public java.lang.String getRootURI()
Returns the root URI of the file system this file belongs to.- Specified by:
getRootURIin interfaceFileName- Returns:
- The URI of the root.
-
getScheme
public java.lang.String getScheme()
Returns the URI scheme of this file.
-
getType
public FileType 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.FOLDERif 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:
getTypein interfaceFileName- Returns:
FileType.FOLDERorFileType.FILE
-
getURI
public java.lang.String getURI()
Returns the absolute URI of the file.
-
getUriTrailer
protected java.lang.String getUriTrailer()
Gets the string to end a URI.- Returns:
- the string to end a URI
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
isAncestor
public boolean isAncestor(FileName ancestor)
Determines if another file name is an ancestor of this file name.- Specified by:
isAncestorin interfaceFileName- Parameters:
ancestor- The FileName to check.- Returns:
- true if the FileName is an ancestor, false otherwise.
-
isDescendent
public boolean isDescendent(FileName descendent)
Determines if another file name is a descendent of this file name.- Specified by:
isDescendentin interfaceFileName- Parameters:
descendent- The FileName to check.- Returns:
- true if the FileName is a descendent, false otherwise.
-
isDescendent
public boolean isDescendent(FileName descendent, NameScope scope)
Determines if another file name is a descendent of this file name.- Specified by:
isDescendentin interfaceFileName- Parameters:
descendent- The FileName to check.scope- The NameScope.- Returns:
- true if the FileName is a descendent, false otherwise.
-
isFile
public boolean isFile() throws FileSystemException
Checks if this file name is a name for a regular file by using its type.- Specified by:
isFilein interfaceFileName- Returns:
- true if this file is a regular file.
- Throws:
FileSystemException- may be thrown by subclasses.- See Also:
getType(),FileType.FILE
-
toString
public java.lang.String toString()
Returns the URI of the file.- Overrides:
toStringin classjava.lang.Object- Returns:
- the FileName as a URI.
-
-