Class Viewer
- java.lang.Object
-
- java.lang.ClassLoader
-
- org.hotswap.agent.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 includingMainare fetched from a server http://host:port. Only the class file forViewermust exist on a local file system at the client side; even otherjavassist.*classes are not needed at the client side.Vieweruses only Java core API classes.Note: since a
Viewerobject 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.intgetPort()Returns the port number.StringgetServer()Returns the server name.protected Class<?>loadClass(String name, boolean resolve)Requests the class loader to load a class.static voidmain(String[] args)Starts a program.voidrun(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:
loadClassin 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:
findClassin classClassLoader- Throws:
ClassNotFoundException
-
-