Package javassist.tools.web
Class Viewer
- java.lang.Object
-
- java.lang.ClassLoader
-
- javassist.tools.web.Viewer
-
public class Viewer extends ClassLoader
A sample applet viewer.This is a sort of applet viewer that can run any program even if the main class is not a subclass of
Applet
. This viewwer first callsmain()
in the main class.To run, you should type:
% java javassist.tools.web.Viewer host port Main arg1, ...
This command calls
Main.main()
witharg1,...
All classes includingMain
are fetched from a server http://host:port. Only the class file forViewer
must exist on a local file system at the client side; even otherjavassist.*
classes are not needed at the client side.Viewer
uses only Java core API classes.Note: since a
Viewer
object is a class loader, a program loaded by this object can call a method inViewer
. For example, you can write something like this:Viewer v = (Viewer)this.getClass().getClassLoader(); String port = v.getPort();
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
fetchClass(String classname)
Fetches the class file of the specified class from the http server.protected Class<?>
findClass(String name)
Finds the specified class.int
getPort()
Returns the port number.String
getServer()
Returns the server name.protected Class<?>
loadClass(String name, boolean resolve)
Requests the class loader to load a class.static void
main(String[] args)
Starts a program.void
run(String classname, String[] args)
Invokes main() in the class specified byclassname
.-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
Viewer
public Viewer(String host, int p)
Constructs a viewer.- Parameters:
host
- server namep
- port number
-
-
Method Detail
-
getServer
public String getServer()
Returns the server name.
-
getPort
public int getPort()
Returns the port number.
-
run
public void run(String classname, String[] args) throws Throwable
Invokes main() in the class specified byclassname
.- Parameters:
classname
- executed classargs
- the arguments passed tomain()
.- Throws:
Throwable
-
loadClass
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
Requests the class loader to load a class.- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-
findClass
protected Class<?> findClass(String name) throws ClassNotFoundException
Finds the specified class. The implementation in this class fetches the class from the http server. If the class is eitherjava.*
,javax.*
, orViewer
, then it is loaded by the parent class loader.This method can be overridden by a subclass of
Viewer
.- Overrides:
findClass
in classClassLoader
- Throws:
ClassNotFoundException
-
-