javassist
Class URLClassPath

java.lang.Object
  extended by javassist.URLClassPath
All Implemented Interfaces:
ClassPath

public class URLClassPath
extends java.lang.Object
implements ClassPath

A class search-path specified with URL (http).

See Also:
ClassPath, ClassPool.insertClassPath(ClassPath), ClassPool.appendClassPath(ClassPath)

Constructor Summary
URLClassPath(java.lang.String host, int port, java.lang.String directory, java.lang.String packageName)
          Creates a search path specified with URL (http).
 
Method Summary
 void close()
          Closes this class path.
static byte[] fetchClass(java.lang.String host, int port, java.lang.String directory, java.lang.String classname)
          Reads a class file on an http server.
 java.net.URL find(java.lang.String classname)
          Returns the URL.
 java.io.InputStream openClassfile(java.lang.String classname)
          Opens a class file with http.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

URLClassPath

public URLClassPath(java.lang.String host,
                    int port,
                    java.lang.String directory,
                    java.lang.String packageName)
Creates a search path specified with URL (http).

This search path is used only if a requested class name starts with the name specified by packageName. If packageName is "org.javassist." and a requested class is "org.javassist.test.Main", then the given URL is used for loading that class. The URLClassPath obtains a class file from:

Here, we assume that host is "www.javassist.org", port is 80, and directory is "/java/classes/".

If packageName is null, the URL is used for loading any class.

Parameters:
host - host name
port - port number
directory - directory name ending with "/". It can be "/" (root directory). It must start with "/".
packageName - package name. It must end with "." (dot).
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

openClassfile

public java.io.InputStream openClassfile(java.lang.String classname)
Opens a class file with http.

Specified by:
openClassfile in interface ClassPath
Parameters:
classname - a fully-qualified class name
Returns:
null if the class file could not be found.
See Also:
Translator

find

public java.net.URL find(java.lang.String classname)
Returns the URL.

Specified by:
find in interface ClassPath
Parameters:
classname - a fully-qualified class name.
Returns:
null if the class file could not be obtained.

close

public void close()
Closes this class path.

Specified by:
close in interface ClassPath

fetchClass

public static byte[] fetchClass(java.lang.String host,
                                int port,
                                java.lang.String directory,
                                java.lang.String classname)
                         throws java.io.IOException
Reads a class file on an http server.

Parameters:
host - host name
port - port number
directory - directory name ending with "/". It can be "/" (root directory). It must start with "/".
classname - fully-qualified class name
Throws:
java.io.IOException


Javassist, a Java-bytecode translator toolkit.
Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.