Package org.apache.commons.vfs2.provider
Class HostFileNameParser
- java.lang.Object
-
- org.apache.commons.vfs2.provider.AbstractFileNameParser
-
- org.apache.commons.vfs2.provider.HostFileNameParser
-
- All Implemented Interfaces:
FileNameParser
- Direct Known Subclasses:
FtpFileNameParser,GenericURLFileNameParser,URLFileNameParser
public class HostFileNameParser extends AbstractFileNameParser
Implementation for any URL based file system.Parses the URL into user/password/host/port/path. Does not handle a query string (after ?).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classHostFileNameParser.AuthorityParsed authority info (scheme, hostname, username/password, port).
-
Constructor Summary
Constructors Constructor Description HostFileNameParser(int defaultPort)Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected java.lang.StringextractHostName(java.lang.StringBuilder name)Extracts the hostname from a URI.protected intextractPort(java.lang.StringBuilder name, java.lang.String uri)Extracts the port from a URI.protected HostFileNameParser.AuthorityextractToPath(java.lang.String uri, java.lang.StringBuilder name)Deprecated.protected HostFileNameParser.AuthorityextractToPath(VfsComponentContext context, java.lang.String uri, java.lang.StringBuilder name)Extracts the scheme, userinfo, hostname and port components of a generic URI.protected java.lang.StringextractUserInfo(java.lang.StringBuilder name)Extracts the user info from a URI.intgetDefaultPort()Gets the default port.FileNameparseUri(VfsComponentContext context, FileName base, java.lang.String fileName)Parses a String into a file name.-
Methods inherited from class org.apache.commons.vfs2.provider.AbstractFileNameParser
encodeCharacter
-
-
-
-
Constructor Detail
-
HostFileNameParser
public HostFileNameParser(int defaultPort)
Constructs a new instance.- Parameters:
defaultPort- The default port.
-
-
Method Detail
-
extractHostName
protected java.lang.String extractHostName(java.lang.StringBuilder name)
Extracts the hostname from a URI.- Parameters:
name- string buffer with the "scheme://[userinfo@]" part has been removed already. Will be modified.- Returns:
- the host name or null.
-
extractPort
protected int extractPort(java.lang.StringBuilder name, java.lang.String uri) throws FileSystemException
Extracts the port from a URI.- Parameters:
name- string buffer with the "scheme://[userinfo@]hostname" part has been removed already. Will be modified.uri- full URI for error reporting.- Returns:
- The port, or -1 if the URI does not contain a port.
- Throws:
FileSystemException- if URI is malformed.java.lang.NumberFormatException- if port number cannot be parsed.
-
extractToPath
@Deprecated protected HostFileNameParser.Authority extractToPath(java.lang.String uri, java.lang.StringBuilder name) throws FileSystemException
Deprecated.Extracts the scheme, userinfo, hostname and port components of a generic URI.- Parameters:
uri- The absolute URI to parse.name- Used to return the remainder of the URI.- Returns:
- Authority extracted host authority, never null.
- Throws:
FileSystemException- if authority cannot be extracted.
-
extractToPath
protected HostFileNameParser.Authority extractToPath(VfsComponentContext context, java.lang.String uri, java.lang.StringBuilder name) throws FileSystemException
Extracts the scheme, userinfo, hostname and port components of a generic URI.- Parameters:
context- component context.uri- The absolute URI to parse.name- Used to return the remainder of the URI.- Returns:
- Authority extracted host authority, never null.
- Throws:
FileSystemException- if authority cannot be extracted.
-
extractUserInfo
protected java.lang.String extractUserInfo(java.lang.StringBuilder name)
Extracts the user info from a URI.- Parameters:
name- string buffer with the "scheme://" part has been removed already. Will be modified.- Returns:
- the user information up to the '@' or null.
-
getDefaultPort
public int getDefaultPort()
Gets the default port.- Returns:
- the default port.
-
parseUri
public FileName parseUri(VfsComponentContext context, FileName base, java.lang.String fileName) throws FileSystemException
Description copied from interface:FileNameParserParses a String into a file name.- Parameters:
context- The component context.base- The base FileName.fileName- The target file name.- Returns:
- A FileName that represents the taret file.
- Throws:
FileSystemException- if an error occurs parsing the URI.
-
-