Class UrlFileNameParser
- java.lang.Object
-
- org.apache.commons.vfs2.provider.AbstractFileNameParser
-
- org.apache.commons.vfs2.provider.url.UrlFileNameParser
-
- All Implemented Interfaces:
FileNameParser
public class UrlFileNameParser extends AbstractFileNameParser
Implementation for any java.net.url based file system.Composite of URLFilenameParser and GenericFilenameParser
-
-
Constructor Summary
Constructors Constructor Description UrlFileNameParser()Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intcountSlashes(java.lang.String fileName)This method counts the slashes after the scheme.booleanencodeCharacter(char ch)Check if a character needs encoding (%nn).protected booleanisUrlBased(FileName base, java.lang.String fileName)Guess if the given file name is a URL with host or not.FileNameparseUri(VfsComponentContext context, FileName base, java.lang.String uri)Parse a URI.
-
-
-
Constructor Detail
-
UrlFileNameParser
public UrlFileNameParser()
Constructs a new instance.
-
-
Method Detail
-
countSlashes
protected int countSlashes(java.lang.String fileName)
This method counts the slashes after the scheme.- Parameters:
fileName- The file name.- Returns:
- number of slashes
-
encodeCharacter
public boolean encodeCharacter(char ch)
Description copied from interface:FileNameParserCheck if a character needs encoding (%nn).- Specified by:
encodeCharacterin interfaceFileNameParser- Overrides:
encodeCharacterin classAbstractFileNameParser- Parameters:
ch- the character- Returns:
- true if character should be encoded
-
isUrlBased
protected boolean isUrlBased(FileName base, java.lang.String fileName)
Guess if the given file name is a URL with host or not.VFS treats such URLs differently.
A file name is URL-based if the base is a
URLFileNameor there are only 2 slashes after the scheme. e.g:http://host/path,file:/path/to/file,file:///path/to/file.- Parameters:
base- The file name is relative to this base.fileName- The file name.- Returns:
- true if file name contains two slashes or base was URLFileName.
-
parseUri
public FileName parseUri(VfsComponentContext context, FileName base, java.lang.String uri) throws FileSystemException
Parse a URI.- Parameters:
context- The component context.base- The base FileName.uri- The target file name.- Returns:
- The FileName.
- Throws:
FileSystemException- if an error occurs
-
-