ti.protocols.oscript
Class Handler

java.lang.Object
  extended by java.net.URLStreamHandler
      extended by ti.protocols.oscript.Handler

public class Handler
extends java.net.URLStreamHandler

This is sorta a kludge! Because the swing text component when rendering HTML wants to construct a URL instance to pass in an event to whoever is listening for a link, in order to support links that are script actions (ie. href="oscript:writeln(21);") we need to provide a URLStreamHandler, despite the fact that you can't actually open this sort of URL as a stream.

Version:
0.1
Author:
Rob Clark

Constructor Summary
Handler()
           
 
Method Summary
protected  java.net.URLConnection openConnection(java.net.URL url)
          Opens a connection to the object referenced by the URL argument.
protected  void parseURL(java.net.URL u, java.lang.String spec, int start, int limit)
          Parses the string representation of a URL into a URL object.
 
Methods inherited from class java.net.URLStreamHandler
equals, getDefaultPort, getHostAddress, hashCode, hostsEqual, openConnection, sameFile, setURL, setURL, toExternalForm
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Handler

public Handler()
Method Detail

openConnection

protected java.net.URLConnection openConnection(java.net.URL url)
                                         throws java.io.IOException
Opens a connection to the object referenced by the URL argument. This method should be overridden by a subclass.

If for the handler's protocol (such as HTTP or JAR), there exists a public, specialized URLConnection subclass belonging to one of the following packages or one of their subpackages: java.lang, java.io, java.util, java.net, the connection returned will be of that subclass. For example, for HTTP an HttpURLConnection will be returned, and for JAR a JarURLConnection will be returned.

Specified by:
openConnection in class java.net.URLStreamHandler
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(java.net.URL u,
                        java.lang.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.

Overrides:
parseURL in class java.net.URLStreamHandler
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.