123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <!-- NewPage -->
- <html lang="en">
- <head>
- <!-- Generated by javadoc (10.0.1) on Thu Jun 21 01:52:55 JST 2018 -->
- <title>Loader (Javassist API)</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="date" content="2018-06-21">
- <link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
- <link rel="stylesheet" type="text/css" href="../jquery/jquery-ui.css" title="Style">
- <script type="text/javascript" src="../script.js"></script>
- <script type="text/javascript" src="../jquery/jszip/dist/jszip.min.js"></script>
- <script type="text/javascript" src="../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
- <!--[if IE]>
- <script type="text/javascript" src="../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
- <![endif]-->
- <script type="text/javascript" src="../jquery/jquery-1.10.2.js"></script>
- <script type="text/javascript" src="../jquery/jquery-ui.js"></script>
- </head>
- <body>
- <script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Loader (Javassist API)";
- }
- }
- catch(err) {
- }
- //-->
- var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10};
- var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
- var altColor = "altColor";
- var rowColor = "rowColor";
- var tableTab = "tableTab";
- var activeTableTab = "activeTableTab";
- var pathtoroot = "../";loadScripts(document, 'script');</script>
- <noscript>
- <div>JavaScript is disabled on your browser.</div>
- </noscript>
- <div class="fixedNav">
- <!-- ========= START OF TOP NAVBAR ======= -->
- <div class="topNav"><a name="navbar.top">
- <!-- -->
- </a>
- <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
- <a name="navbar.top.firstrow">
- <!-- -->
- </a>
- <ul class="navList" title="Navigation">
- <li><a href="../overview-summary.html">Overview</a></li>
- <li><a href="package-summary.html">Package</a></li>
- <li class="navBarCell1Rev">Class</li>
- <li><a href="class-use/Loader.html">Use</a></li>
- <li><a href="package-tree.html">Tree</a></li>
- <li><a href="../deprecated-list.html">Deprecated</a></li>
- <li><a href="../index-all.html">Index</a></li>
- </ul>
- </div>
- <div class="subNav">
- <ul class="navList">
- <li><a href="../javassist/CtPrimitiveType.html" title="class in javassist"><span class="typeNameLink">Prev Class</span></a></li>
- <li><a href="../javassist/LoaderClassPath.html" title="class in javassist"><span class="typeNameLink">Next Class</span></a></li>
- </ul>
- <ul class="navList">
- <li><a href="../index.html?javassist/Loader.html" target="_top">Frames</a></li>
- <li><a href="Loader.html" target="_top">No Frames</a></li>
- </ul>
- <ul class="navList" id="allclasses_navbar_top">
- <li><a href="../allclasses-noframe.html">All Classes</a></li>
- </ul>
- <ul class="navListSearch">
- <li><label for="search">SEARCH:</label>
- <input type="text" id="search" value="search" disabled="disabled">
- <input type="reset" id="reset" value="reset" disabled="disabled">
- </li>
- </ul>
- <div>
- <script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
- </script>
- <noscript>
- <div>JavaScript is disabled on your browser.</div>
- </noscript>
- </div>
- <div>
- <ul class="subNavList">
- <li>Summary: </li>
- <li>Nested | </li>
- <li><a href="#field.summary">Field</a> | </li>
- <li><a href="#constructor.summary">Constr</a> | </li>
- <li><a href="#method.summary">Method</a></li>
- </ul>
- <ul class="subNavList">
- <li>Detail: </li>
- <li><a href="#field.detail">Field</a> | </li>
- <li><a href="#constructor.detail">Constr</a> | </li>
- <li><a href="#method.detail">Method</a></li>
- </ul>
- </div>
- <a name="skip.navbar.top">
- <!-- -->
- </a></div>
- <!-- ========= END OF TOP NAVBAR ========= -->
- </div>
- <div class="navPadding"> </div>
- <script type="text/javascript"><!--
- $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
- //-->
- </script>
- <!-- ======== START OF CLASS DATA ======== -->
- <div class="header">
- <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="../javassist/package-summary.html">javassist</a></div>
- <h2 title="Class Loader" class="title">Class Loader</h2>
- </div>
- <div class="contentContainer">
- <ul class="inheritance">
- <li>java.lang.Object</li>
- <li>
- <ul class="inheritance">
- <li>java.lang.ClassLoader</li>
- <li>
- <ul class="inheritance">
- <li>javassist.Loader</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- <div class="description">
- <ul class="blockList">
- <li class="blockList">
- <dl>
- <dt>Direct Known Subclasses:</dt>
- <dd><code><a href="../javassist/tools/reflect/Loader.html" title="class in javassist.tools.reflect">Loader</a></code></dd>
- </dl>
- <hr>
- <pre>public class <span class="typeNameLabel">Loader</span>
- extends java.lang.ClassLoader</pre>
- <div class="block">The class loader for Javassist.
-
- <p>This is a sample class loader using <code>ClassPool</code>.
- Unlike a regular class loader, this class loader obtains bytecode
- from a <code>ClassPool</code>.
-
- <p>Note that Javassist can be used without this class loader; programmers
- can define their own versions of class loader. They can run
- a program even without any user-defined class loader if that program
- is statically translated with Javassist.
- This class loader is just provided as a utility class.
-
- <p>Suppose that an instance of <code>MyTranslator</code> implementing
- the interface <code>Translator</code> is responsible for modifying
- class files.
- The startup program of an application using <code>MyTranslator</code>
- should be something like this:
-
- <pre>
- import javassist.*;
-
- public class Main {
- public static void main(String[] args) throws Throwable {
- MyTranslator myTrans = new MyTranslator();
- ClassPool cp = ClassPool.getDefault();
- Loader cl = new Loader(cp);
- cl.addTranslator(cp, myTrans);
- cl.run("MyApp", args);
- }
- }
- </pre>
-
- <p>Class <code>MyApp</code> is the main program of the application.
-
- <p>This program should be executed as follows:
-
- <pre>
- % java Main <i>arg1</i> <i>arg2</i>...
- </pre>
-
- <p>It modifies the class <code>MyApp</code> with a <code>MyTranslator</code>
- object before the JVM loads it.
- Then it calls <code>main()</code> in <code>MyApp</code> with arguments
- <i>arg1</i>, <i>arg2</i>, ...
-
- <p>This program execution is equivalent to:
-
- <pre>
- % java MyApp <i>arg1</i> <i>arg2</i>...
- </pre>
-
- <p>except that classes are translated by <code>MyTranslator</code>
- at load time.
-
- <p>If only a particular class must be modified when it is loaded,
- the startup program can be simpler; <code>MyTranslator</code> is
- unnecessary. For example, if only a class <code>test.Rectangle</code>
- is modified, the <code>main()</code> method above will be the following:
-
- <pre>
- ClassPool cp = ClassPool.getDefault();
- Loader cl = new Loader(cp);
- CtClass ct = cp.get("test.Rectangle");
- ct.setSuperclass(cp.get("test.Point"));
- cl.run("MyApp", args);</pre>
-
- <p>This program changes the super class of the <code>test.Rectangle</code>
- class.
-
- <p><b>Note 1:</b>
-
- <p>This class loader does not allow the users to intercept the loading
- of <code>java.*</code> and <code>javax.*</code> classes (and
- <code>sun.*</code>, <code>org.xml.*</code>, ...) unless
- <code>Loader.doDelegation</code> is <code>false</code>. This is because
- the JVM prohibits a user class loader from loading a system class.
- Also see Note 2.
- If this behavior is not appropriate, a subclass of <code>Loader</code>
- must be defined and <code>loadClassByDelegation()</code> must be overridden.
-
- <p><b>Note 2:</b>
-
- <p>If classes are loaded with different class loaders, they belong to
- separate name spaces. If class <code>C</code> is loaded by a class
- loader <code>CL</code>, all classes that the class <code>C</code>
- refers to are also loaded by <code>CL</code>. However, if <code>CL</code>
- delegates the loading of the class <code>C</code> to <code>CL'</code>,
- then those classes that the class <code>C</code> refers to
- are loaded by a parent class loader <code>CL'</code>
- instead of <code>CL</code>.
-
- <p>If an object of class <code>C</code> is assigned
- to a variable of class <code>C</code> belonging to a different name
- space, then a <code>ClassCastException</code> is thrown.
-
- <p>Because of the fact above, this loader delegates only the loading of
- <code>javassist.Loader</code>
- and classes included in package <code>java.*</code> and
- <code>javax.*</code> to the parent class
- loader. Other classes are directly loaded by this loader.
-
- <p>For example, suppose that <code>java.lang.String</code> would be loaded
- by this loader while <code>java.io.File</code> is loaded by the parent
- class loader. If the constructor of <code>java.io.File</code> is called
- with an instance of <code>java.lang.String</code>, then it may throw
- an exception since it accepts an instance of only the
- <code>java.lang.String</code> loaded by the parent class loader.</div>
- <dl>
- <dt><span class="seeLabel">See Also:</span></dt>
- <dd><a href="../javassist/ClassPool.html" title="class in javassist"><code>ClassPool</code></a>,
- <a href="../javassist/Translator.html" title="interface in javassist"><code>Translator</code></a></dd>
- </dl>
- </li>
- </ul>
- </div>
- <div class="summary">
- <ul class="blockList">
- <li class="blockList">
- <!-- =========== FIELD SUMMARY =========== -->
- <ul class="blockList">
- <li class="blockList"><a name="field.summary">
- <!-- -->
- </a>
- <h3>Field Summary</h3>
- <table class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
- <caption><span>Fields</span><span class="tabEnd"> </span></caption>
- <tr>
- <th class="colFirst" scope="col">Modifier and Type</th>
- <th class="colSecond" scope="col">Field</th>
- <th class="colLast" scope="col">Description</th>
- </tr>
- <tr class="altColor">
- <td class="colFirst"><code>boolean</code></td>
- <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#doDelegation">doDelegation</a></span></code></th>
- <td class="colLast">
- <div class="block">Specifies the algorithm of class loading.</div>
- </td>
- </tr>
- </table>
- </li>
- </ul>
- <!-- ======== CONSTRUCTOR SUMMARY ======== -->
- <ul class="blockList">
- <li class="blockList"><a name="constructor.summary">
- <!-- -->
- </a>
- <h3>Constructor Summary</h3>
- <table class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
- <caption><span>Constructors</span><span class="tabEnd"> </span></caption>
- <tr>
- <th class="colFirst" scope="col">Constructor</th>
- <th class="colLast" scope="col">Description</th>
- </tr>
- <tr class="altColor">
- <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#Loader--">Loader</a></span>()</code></th>
- <td class="colLast">
- <div class="block">Creates a new class loader.</div>
- </td>
- </tr>
- <tr class="rowColor">
- <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#Loader-java.lang.ClassLoader-javassist.ClassPool-">Loader</a></span>​(java.lang.ClassLoader parent,
- <a href="../javassist/ClassPool.html" title="class in javassist">ClassPool</a> cp)</code></th>
- <td class="colLast">
- <div class="block">Creates a new class loader
- using the specified parent class loader for delegation.</div>
- </td>
- </tr>
- <tr class="altColor">
- <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#Loader-javassist.ClassPool-">Loader</a></span>​(<a href="../javassist/ClassPool.html" title="class in javassist">ClassPool</a> cp)</code></th>
- <td class="colLast">
- <div class="block">Creates a new class loader.</div>
- </td>
- </tr>
- </table>
- </li>
- </ul>
- <!-- ========== METHOD SUMMARY =========== -->
- <ul class="blockList">
- <li class="blockList"><a name="method.summary">
- <!-- -->
- </a>
- <h3>Method Summary</h3>
- <table class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
- <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
- <tr>
- <th class="colFirst" scope="col">Modifier and Type</th>
- <th class="colSecond" scope="col">Method</th>
- <th class="colLast" scope="col">Description</th>
- </tr>
- <tr id="i0" class="altColor">
- <td class="colFirst"><code>void</code></td>
- <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#addTranslator-javassist.ClassPool-javassist.Translator-">addTranslator</a></span>​(<a href="../javassist/ClassPool.html" title="class in javassist">ClassPool</a> cp,
- <a href="../javassist/Translator.html" title="interface in javassist">Translator</a> t)</code></th>
- <td class="colLast">
- <div class="block">Adds a translator, which is called whenever a class is loaded.</div>
- </td>
- </tr>
- <tr id="i1" class="rowColor">
- <td class="colFirst"><code>void</code></td>
- <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#delegateLoadingOf-java.lang.String-">delegateLoadingOf</a></span>​(java.lang.String classname)</code></th>
- <td class="colLast">
- <div class="block">Records a class so that the loading of that class is delegated
- to the parent class loader.</div>
- </td>
- </tr>
- <tr id="i2" class="altColor">
- <td class="colFirst"><code>static void</code></td>
- <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#main-java.lang.String:A-">main</a></span>​(java.lang.String[] args)</code></th>
- <td class="colLast">
- <div class="block">Loads a class with an instance of <code>Loader</code>
- and calls <code>main()</code> of that class.</div>
- </td>
- </tr>
- <tr id="i3" class="rowColor">
- <td class="colFirst"><code>void</code></td>
- <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#run-java.lang.String:A-">run</a></span>​(java.lang.String[] args)</code></th>
- <td class="colLast">
- <div class="block">Loads a class and calls <code>main()</code> in that class.</div>
- </td>
- </tr>
- <tr id="i4" class="altColor">
- <td class="colFirst"><code>void</code></td>
- <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#run-java.lang.String-java.lang.String:A-">run</a></span>​(java.lang.String classname,
- java.lang.String[] args)</code></th>
- <td class="colLast">
- <div class="block">Loads a class and calls <code>main()</code> in that class.</div>
- </td>
- </tr>
- <tr id="i5" class="rowColor">
- <td class="colFirst"><code>void</code></td>
- <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#setClassPool-javassist.ClassPool-">setClassPool</a></span>​(<a href="../javassist/ClassPool.html" title="class in javassist">ClassPool</a> cp)</code></th>
- <td class="colLast">
- <div class="block">Sets the soruce <code>ClassPool</code>.</div>
- </td>
- </tr>
- <tr id="i6" class="altColor">
- <td class="colFirst"><code>void</code></td>
- <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../javassist/Loader.html#setDomain-java.security.ProtectionDomain-">setDomain</a></span>​(java.security.ProtectionDomain d)</code></th>
- <td class="colLast">
- <div class="block">Sets the protection domain for the classes handled by this class
- loader.</div>
- </td>
- </tr>
- </table>
- <ul class="blockList">
- <li class="blockList"><a name="methods.inherited.from.class.java.lang.ClassLoader">
- <!-- -->
- </a>
- <h3>Methods inherited from class java.lang.ClassLoader</h3>
- <code>clearAssertionStatus, getDefinedPackage, getDefinedPackages, getName, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus</code></li>
- </ul>
- <ul class="blockList">
- <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
- <!-- -->
- </a>
- <h3>Methods inherited from class java.lang.Object</h3>
- <code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- <div class="details">
- <ul class="blockList">
- <li class="blockList">
- <!-- ============ FIELD DETAIL =========== -->
- <ul class="blockList">
- <li class="blockList"><a name="field.detail">
- <!-- -->
- </a>
- <h3>Field Detail</h3>
- <a name="doDelegation">
- <!-- -->
- </a>
- <ul class="blockListLast">
- <li class="blockList">
- <h4>doDelegation</h4>
- <pre>public boolean doDelegation</pre>
- <div class="block">Specifies the algorithm of class loading.
-
- <p>This class loader uses the parent class loader for
- <code>java.*</code> and <code>javax.*</code> classes.
- If this variable <code>doDelegation</code>
- is <code>false</code>, this class loader does not delegate those
- classes to the parent class loader.
-
- <p>The default value is <code>true</code>.</div>
- </li>
- </ul>
- </li>
- </ul>
- <!-- ========= CONSTRUCTOR DETAIL ======== -->
- <ul class="blockList">
- <li class="blockList"><a name="constructor.detail">
- <!-- -->
- </a>
- <h3>Constructor Detail</h3>
- <a name="Loader--">
- <!-- -->
- </a>
- <ul class="blockList">
- <li class="blockList">
- <h4>Loader</h4>
- <pre>public Loader()</pre>
- <div class="block">Creates a new class loader.</div>
- </li>
- </ul>
- <a name="Loader-javassist.ClassPool-">
- <!-- -->
- </a>
- <ul class="blockList">
- <li class="blockList">
- <h4>Loader</h4>
- <pre>public Loader​(<a href="../javassist/ClassPool.html" title="class in javassist">ClassPool</a> cp)</pre>
- <div class="block">Creates a new class loader.</div>
- <dl>
- <dt><span class="paramLabel">Parameters:</span></dt>
- <dd><code>cp</code> - the source of class files.</dd>
- </dl>
- </li>
- </ul>
- <a name="Loader-java.lang.ClassLoader-javassist.ClassPool-">
- <!-- -->
- </a>
- <ul class="blockListLast">
- <li class="blockList">
- <h4>Loader</h4>
- <pre>public Loader​(java.lang.ClassLoader parent,
- <a href="../javassist/ClassPool.html" title="class in javassist">ClassPool</a> cp)</pre>
- <div class="block">Creates a new class loader
- using the specified parent class loader for delegation.</div>
- <dl>
- <dt><span class="paramLabel">Parameters:</span></dt>
- <dd><code>parent</code> - the parent class loader.</dd>
- <dd><code>cp</code> - the source of class files.</dd>
- </dl>
- </li>
- </ul>
- </li>
- </ul>
- <!-- ============ METHOD DETAIL ========== -->
- <ul class="blockList">
- <li class="blockList"><a name="method.detail">
- <!-- -->
- </a>
- <h3>Method Detail</h3>
- <a name="delegateLoadingOf-java.lang.String-">
- <!-- -->
- </a>
- <ul class="blockList">
- <li class="blockList">
- <h4>delegateLoadingOf</h4>
- <pre>public void delegateLoadingOf​(java.lang.String classname)</pre>
- <div class="block">Records a class so that the loading of that class is delegated
- to the parent class loader.
-
- <p>If the given class name ends with <code>.</code> (dot), then
- that name is interpreted as a package name. All the classes
- in that package and the sub packages are delegated.</div>
- </li>
- </ul>
- <a name="setDomain-java.security.ProtectionDomain-">
- <!-- -->
- </a>
- <ul class="blockList">
- <li class="blockList">
- <h4>setDomain</h4>
- <pre>public void setDomain​(java.security.ProtectionDomain d)</pre>
- <div class="block">Sets the protection domain for the classes handled by this class
- loader. Without registering an appropriate protection domain,
- the program loaded by this loader will not work with a security
- manager or a signed jar file.</div>
- </li>
- </ul>
- <a name="setClassPool-javassist.ClassPool-">
- <!-- -->
- </a>
- <ul class="blockList">
- <li class="blockList">
- <h4>setClassPool</h4>
- <pre>public void setClassPool​(<a href="../javassist/ClassPool.html" title="class in javassist">ClassPool</a> cp)</pre>
- <div class="block">Sets the soruce <code>ClassPool</code>.</div>
- </li>
- </ul>
- <a name="addTranslator-javassist.ClassPool-javassist.Translator-">
- <!-- -->
- </a>
- <ul class="blockList">
- <li class="blockList">
- <h4>addTranslator</h4>
- <pre>public void addTranslator​(<a href="../javassist/ClassPool.html" title="class in javassist">ClassPool</a> cp,
- <a href="../javassist/Translator.html" title="interface in javassist">Translator</a> t)
- throws <a href="../javassist/NotFoundException.html" title="class in javassist">NotFoundException</a>,
- <a href="../javassist/CannotCompileException.html" title="class in javassist">CannotCompileException</a></pre>
- <div class="block">Adds a translator, which is called whenever a class is loaded.</div>
- <dl>
- <dt><span class="paramLabel">Parameters:</span></dt>
- <dd><code>cp</code> - the <code>ClassPool</code> object for obtaining
- a class file.</dd>
- <dd><code>t</code> - a translator.</dd>
- <dt><span class="throwsLabel">Throws:</span></dt>
- <dd><code><a href="../javassist/NotFoundException.html" title="class in javassist">NotFoundException</a></code> - if <code>t.start()</code> throws an exception.</dd>
- <dd><code><a href="../javassist/CannotCompileException.html" title="class in javassist">CannotCompileException</a></code> - if <code>t.start()</code> throws an exception.</dd>
- </dl>
- </li>
- </ul>
- <a name="main-java.lang.String:A-">
- <!-- -->
- </a>
- <ul class="blockList">
- <li class="blockList">
- <h4>main</h4>
- <pre>public static void main​(java.lang.String[] args)
- throws java.lang.Throwable</pre>
- <div class="block">Loads a class with an instance of <code>Loader</code>
- and calls <code>main()</code> of that class.
-
- <p>This method calls <code>run()</code>.</div>
- <dl>
- <dt><span class="paramLabel">Parameters:</span></dt>
- <dd><code>args</code> - command line parameters.
- <br> <code>args[0]</code> is the class name to be loaded.
- <br> <code>args[1..n]</code> are parameters passed
- to the target <code>main()</code>.</dd>
- <dt><span class="throwsLabel">Throws:</span></dt>
- <dd><code>java.lang.Throwable</code></dd>
- <dt><span class="seeLabel">See Also:</span></dt>
- <dd><a href="../javassist/Loader.html#run-java.lang.String:A-"><code>run(String[])</code></a></dd>
- </dl>
- </li>
- </ul>
- <a name="run-java.lang.String:A-">
- <!-- -->
- </a>
- <ul class="blockList">
- <li class="blockList">
- <h4>run</h4>
- <pre>public void run​(java.lang.String[] args)
- throws java.lang.Throwable</pre>
- <div class="block">Loads a class and calls <code>main()</code> in that class.</div>
- <dl>
- <dt><span class="paramLabel">Parameters:</span></dt>
- <dd><code>args</code> - command line parameters.
-
- <br> <code>args[0]</code> is the class name to be loaded.
- <br> <code>args[1..n]</code> are parameters passed
- to the target <code>main()</code>.</dd>
- <dt><span class="throwsLabel">Throws:</span></dt>
- <dd><code>java.lang.Throwable</code></dd>
- </dl>
- </li>
- </ul>
- <a name="run-java.lang.String-java.lang.String:A-">
- <!-- -->
- </a>
- <ul class="blockListLast">
- <li class="blockList">
- <h4>run</h4>
- <pre>public void run​(java.lang.String classname,
- java.lang.String[] args)
- throws java.lang.Throwable</pre>
- <div class="block">Loads a class and calls <code>main()</code> in that class.</div>
- <dl>
- <dt><span class="paramLabel">Parameters:</span></dt>
- <dd><code>classname</code> - the loaded class.</dd>
- <dd><code>args</code> - parameters passed to <code>main()</code>.</dd>
- <dt><span class="throwsLabel">Throws:</span></dt>
- <dd><code>java.lang.Throwable</code></dd>
- </dl>
- </li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- <!-- ========= END OF CLASS DATA ========= -->
- <!-- ======= START OF BOTTOM NAVBAR ====== -->
- <div class="bottomNav"><a name="navbar.bottom">
- <!-- -->
- </a>
- <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
- <a name="navbar.bottom.firstrow">
- <!-- -->
- </a>
- <ul class="navList" title="Navigation">
- <li><a href="../overview-summary.html">Overview</a></li>
- <li><a href="package-summary.html">Package</a></li>
- <li class="navBarCell1Rev">Class</li>
- <li><a href="class-use/Loader.html">Use</a></li>
- <li><a href="package-tree.html">Tree</a></li>
- <li><a href="../deprecated-list.html">Deprecated</a></li>
- <li><a href="../index-all.html">Index</a></li>
- </ul>
- </div>
- <div class="subNav">
- <ul class="navList">
- <li><a href="../javassist/CtPrimitiveType.html" title="class in javassist"><span class="typeNameLink">Prev Class</span></a></li>
- <li><a href="../javassist/LoaderClassPath.html" title="class in javassist"><span class="typeNameLink">Next Class</span></a></li>
- </ul>
- <ul class="navList">
- <li><a href="../index.html?javassist/Loader.html" target="_top">Frames</a></li>
- <li><a href="Loader.html" target="_top">No Frames</a></li>
- </ul>
- <ul class="navList" id="allclasses_navbar_bottom">
- <li><a href="../allclasses-noframe.html">All Classes</a></li>
- </ul>
- <div>
- <script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
- </script>
- <noscript>
- <div>JavaScript is disabled on your browser.</div>
- </noscript>
- </div>
- <div>
- <ul class="subNavList">
- <li>Summary: </li>
- <li>Nested | </li>
- <li><a href="#field.summary">Field</a> | </li>
- <li><a href="#constructor.summary">Constr</a> | </li>
- <li><a href="#method.summary">Method</a></li>
- </ul>
- <ul class="subNavList">
- <li>Detail: </li>
- <li><a href="#field.detail">Field</a> | </li>
- <li><a href="#constructor.detail">Constr</a> | </li>
- <li><a href="#method.detail">Method</a></li>
- </ul>
- </div>
- <a name="skip.navbar.bottom">
- <!-- -->
- </a></div>
- <!-- ======== END OF BOTTOM NAVBAR ======= -->
- <p class="legalCopy"><small><i>Javassist, a Java-bytecode translator toolkit.<br>
- Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.</i></small></p>
- </body>
- </html>
|