    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class java.net.URLStreamHandler

    java.lang.Object
       |
       +----java.net.URLStreamHandler

public abstract class URLStreamHandler
extends Object

The abstract class `URLStreamHandler` is the common superclass for all stream protocol handlers. A stream protocol handler knows how to make a connection for a particular protocol type, such as `http`, `ftp`, or `gopher`.

In most cases, an instance of a `URLStreamHandler` subclass is not created directly by an application. Rather, the first time a protocol name is encountered when constructing a `URL`, the appropriate stream protocol handler is automatically loaded.

See Also:
  URL

##

URLStreamHandler()

##

openConnection(URL)
  Opens a connection to the object referenced by the `URL` argument.
parseURL(URL, String, int, int)
  Parses the string representation of a `URL` into a `URL` object.
setURL(URL, String, String, int, String, String)
  Sets the fields of the `URL` argument to the indicated values.
toExternalForm(URL)
  Converts a `URL` of a specific protocol to a `String`.

##

URLStreamHandler

     public URLStreamHandler()

##

openConnection

     protected abstract URLConnection openConnection(URL u) throws IOException

  Opens a connection to the object referenced by the `URL` argument. This method should be overridden by a subclass.

  Parameters:
    u - the URL that this connects to.
  Returns:
    a `URLConnection` object for the `URL`.
  Throws: IOException
    if an I/O error occurs while opening the connection.

parseURL

     protected void parseURL(URL u,
                             String spec,
                             int start,
                             int limit)

  Parses the string representation of a `URL` into a `URL` object.

  If there is any inherited context, then it has already been copied into the `URL` argument.

  The `parseURL` method of `URLStreamHandler` parses the string representation as if it were an `http` specification. Most URL protocol families have a similar parsing. A stream protocol handler for a protocol that has a different syntax must override this routine.

  If the file component of the URL argument contains a question mark (as with CGI HTTP URLs), the context is considered to be the URL's file component up to the first / before the question mark, not including the question mark or the directory before it. For example, if the URL was:

          http://www.foo.com/dir/cgi-bin?foo=bar/baz

  and the spec argument was

          quux.html

  the resulting URL would be:

          http://www.foo.com/dir/quux.html

  .

  Parameters:
    u - the `URL` to receive the result of parsing the spec.
    spec - the `String` representing the URL that must be parsed.
    start - the character index at which to begin parsing. This is just past the '`:`' (if there is one) that specifies the determination of the protocol name.
    limit - the character position to stop parsing at. This is the end of the string or the position of the "`#`" character, if present. All information after the sharp sign indicates an anchor.

toExternalForm

     protected String toExternalForm(URL u)

  Converts a `URL` of a specific protocol to a `String`.

  Parameters:
    u - the URL.
  Returns:
    a string representation of the `URL` argument.

setURL

     protected void setURL(URL u,
                           String protocol,
                           String host,
                           int port,
                           String file,
                           String ref)

  Sets the fields of the `URL` argument to the indicated values. Only classes derived from URLStreamHandler are supposed to be able to call the set method on a URL.

  Parameters:
    u - the URL to modify.
    protocol - the protocol name.
    host - the remote host value for the URL.
    port - the port on the remote machine.
    file - the file.
    ref - the reference.
  See Also:
    set

    All Packages  Class Hierarchy  This Package  Previous  Next  Index

Submit a bug or feature - Version 1.1.8 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1995-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.