public abstract class URLStreamHandler extends Object
URLStreamHandler
is the base for all classes which
can handle the communication with a URL object over a particular protocol
type.Constructor and Description |
---|
URLStreamHandler() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
equals(URL url1,
URL url2)
Compares two URL objects whether they represent the same URL.
|
protected int |
getDefaultPort()
Returns the default port of the protocol used by the handled URL.
|
protected InetAddress |
getHostAddress(URL url)
Returns the host address of the given URL.
|
protected int |
hashCode(URL url)
Returns the hashcode value for the given URL object.
|
protected boolean |
hostsEqual(URL url1,
URL url2)
Compares two URL objects whether they refer to the same host.
|
protected abstract URLConnection |
openConnection(URL u)
Establishes a new connection to the resource specified by the URL
u . |
protected void |
parseURL(URL u,
String str,
int start,
int end)
Parses the clear text URL in
str into a URL object. |
protected boolean |
sameFile(URL url1,
URL url2)
Compares two URL objects whether they refer to the same file.
|
protected void |
setURL(URL u,
String protocol,
String host,
int port,
String file,
String ref)
Deprecated.
use setURL(URL, String String, int, String, String, String,
String, String) instead.
|
protected void |
setURL(URL u,
String protocol,
String host,
int port,
String authority,
String userInfo,
String file,
String query,
String ref)
Sets the fields of the URL
u to the values of the supplied
arguments. |
protected String |
toExternalForm(URL url)
Returns the clear text representation of a given URL using HTTP format.
|
protected abstract URLConnection openConnection(URL u) throws IOException
u
. Since different protocols also have unique ways of connecting, it
must be overwritten by the subclass.u
- the URL to the resource where a connection has to be opened.IOException
- if an I/O error occurs during opening the connection.protected void parseURL(URL u, String str, int start, int end)
str
into a URL object. URL strings
generally have the following format:
http://www.company.com/java/file1.java#reference
The string is parsed in HTTP format. If the protocol has a different URL format this method must be overridden.
u
- the URL to fill in the parsed clear text URL parts.str
- the URL string that is to be parsed.start
- the string position from where to begin parsing.end
- the string position to stop parsing.toExternalForm(java.net.URL)
,
URL
protected void setURL(URL u, String protocol, String host, int port, String file, String ref)
u
to the values of the supplied
arguments.u
- the non-null URL object to be set.protocol
- the protocol.host
- the host name.port
- the port number.file
- the file component.ref
- the reference.protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String file, String query, String ref)
u
to the values of the supplied
arguments.u
- the non-null URL object to be set.protocol
- the protocol.host
- the host name.port
- the port number.authority
- the authority.userInfo
- the user info.file
- the file component.query
- the query.ref
- the reference.protected String toExternalForm(URL url)
url
- the URL object to be converted.parseURL(java.net.URL, java.lang.String, int, int)
,
URL.toExternalForm()
protected boolean equals(URL url1, URL url2)
url1
- the first URL to compare.url2
- the second URL to compare.true
if the URLs are the same, false
otherwise.hashCode(java.net.URL)
protected int getDefaultPort()
-1
.protected InetAddress getHostAddress(URL url)
url
- the URL object where to read the host address from.protected int hashCode(URL url)
url
- the URL to determine the hashcode.protected boolean hostsEqual(URL url1, URL url2)
url1
- the first URL to be compared.url2
- the second URL to be compared.true
if both URLs refer to the same host, false
otherwise.protected boolean sameFile(URL url1, URL url2)
url1
- the first URL to be compared.url2
- the second URL to be compared.true
if both URLs refer to the same file, false
otherwise.