PageRenderTime 58ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 1ms

/www/tags/NOV_07_2009/htdocs/api/org/gjt/sp/jedit/bsh/BshClassManager.html

#
HTML | 1153 lines | 1011 code | 128 blank | 14 comment | 0 complexity | 0b108c0f958fdb31424d208db3538d6e MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <!--NewPage-->
  3. <HTML>
  4. <HEAD>
  5. <!-- Generated by javadoc (build 1.5.0_14) on Tue Jul 22 07:13:49 GMT-08:00 2008 -->
  6. <TITLE>
  7. BshClassManager (jEdit API)
  8. </TITLE>
  9. <META NAME="keywords" CONTENT="org.gjt.sp.jedit.bsh.BshClassManager class">
  10. <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
  11. <NOSCRIPT>
  12. </NOSCRIPT>
  13. </HEAD>
  14. <BODY BGCOLOR="white" >
  15. <!-- ========= START OF TOP NAVBAR ======= -->
  16. <A NAME="navbar_top"><!-- --></A>
  17. <A HREF="#skip-navbar_top" title="Skip navigation links"></A>
  18. <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
  19. <TR>
  20. <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
  21. <A NAME="navbar_top_firstrow"><!-- --></A>
  22. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  23. <TR ALIGN="center" VALIGN="top">
  24. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  25. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  26. <TD BGCOLOR="#00008B" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  27. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BshClassManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  28. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  29. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  30. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  31. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  32. </TR>
  33. </TABLE>
  34. </TD>
  35. <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
  36. </EM>
  37. </TD>
  38. </TR>
  39. <TR>
  40. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  41. &nbsp;PREV CLASS&nbsp;
  42. &nbsp;<A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.Listener.html" title="interface in org.gjt.sp.jedit.bsh"><B>NEXT CLASS</B></A></FONT></TD>
  43. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  44. <A HREF="../../../../../index.html?org/gjt/sp/jedit/bsh/BshClassManager.html" target="_top"><B>FRAMES</B></A> &nbsp;
  45. &nbsp;<A HREF="BshClassManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
  46. &nbsp;
  47. <NOSCRIPT>
  48. <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
  49. </NOSCRIPT>
  50. </FONT></TD>
  51. </TR>
  52. <TR>
  53. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  54. SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
  55. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  56. DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
  57. </TR>
  58. </TABLE>
  59. <A NAME="skip-navbar_top"></A>
  60. <!-- ========= END OF TOP NAVBAR ========= -->
  61. <HR>
  62. <!-- ======== START OF CLASS DATA ======== -->
  63. <H2>
  64. <FONT SIZE="-1">
  65. org.gjt.sp.jedit.bsh</FONT>
  66. <BR>
  67. Class BshClassManager</H2>
  68. <PRE>
  69. java.lang.Object
  70. <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.gjt.sp.jedit.bsh.BshClassManager</B>
  71. </PRE>
  72. <DL>
  73. <DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/gjt/sp/jedit/bsh/classpath/ClassManagerImpl.html" title="class in org.gjt.sp.jedit.bsh.classpath">ClassManagerImpl</A></DD>
  74. </DL>
  75. <HR>
  76. <DL>
  77. <DT><PRE>public class <B>BshClassManager</B><DT>extends java.lang.Object</DL>
  78. </PRE>
  79. <P>
  80. BshClassManager manages all classloading in BeanShell.
  81. It also supports a dynamically loaded extension (bsh.classpath package)
  82. which allows classpath extension and class file reloading.
  83. Currently the extension relies on 1.2 for BshClassLoader and weak
  84. references.
  85. See http://www.beanshell.org/manual/classloading.html for details
  86. on the bsh classloader architecture.
  87. <p>
  88. Bsh has a multi-tiered class loading architecture. No class loader is
  89. used unless/until the classpath is modified or a class is reloaded.
  90. <p>
  91. <P>
  92. <P>
  93. <HR>
  94. <P>
  95. <!-- ======== NESTED CLASS SUMMARY ======== -->
  96. <A NAME="nested_class_summary"><!-- --></A>
  97. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  98. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  99. <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
  100. <B>Nested Class Summary</B></FONT></TH>
  101. </TR>
  102. <TR BGCOLOR="white" CLASS="TableRowColor">
  103. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  104. <CODE>static&nbsp;interface</CODE></FONT></TD>
  105. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.Listener.html" title="interface in org.gjt.sp.jedit.bsh">BshClassManager.Listener</A></B></CODE>
  106. <BR>
  107. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  108. </TR>
  109. </TABLE>
  110. &nbsp;<!-- =========== FIELD SUMMARY =========== -->
  111. <A NAME="field_summary"><!-- --></A>
  112. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  113. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  114. <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
  115. <B>Field Summary</B></FONT></TH>
  116. </TR>
  117. <TR BGCOLOR="white" CLASS="TableRowColor">
  118. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  119. <CODE>protected &nbsp;java.util.Hashtable</CODE></FONT></TD>
  120. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#absoluteClassCache">absoluteClassCache</A></B></CODE>
  121. <BR>
  122. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Global cache for things we know are classes.</TD>
  123. </TR>
  124. <TR BGCOLOR="white" CLASS="TableRowColor">
  125. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  126. <CODE>protected &nbsp;java.util.Hashtable</CODE></FONT></TD>
  127. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#absoluteNonClasses">absoluteNonClasses</A></B></CODE>
  128. <BR>
  129. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Global cache for things we know are *not* classes.</TD>
  130. </TR>
  131. <TR BGCOLOR="white" CLASS="TableRowColor">
  132. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  133. <CODE>protected &nbsp;java.util.Hashtable</CODE></FONT></TD>
  134. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#definingClasses">definingClasses</A></B></CODE>
  135. <BR>
  136. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  137. </TR>
  138. <TR BGCOLOR="white" CLASS="TableRowColor">
  139. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  140. <CODE>protected &nbsp;java.util.Hashtable</CODE></FONT></TD>
  141. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#definingClassesBaseNames">definingClassesBaseNames</A></B></CODE>
  142. <BR>
  143. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  144. </TR>
  145. <TR BGCOLOR="white" CLASS="TableRowColor">
  146. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  147. <CODE>protected &nbsp;java.lang.ClassLoader</CODE></FONT></TD>
  148. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#externalClassLoader">externalClassLoader</A></B></CODE>
  149. <BR>
  150. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An external classloader supplied by the setClassLoader() command.</TD>
  151. </TR>
  152. <TR BGCOLOR="white" CLASS="TableRowColor">
  153. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  154. <CODE>protected &nbsp;java.util.Hashtable</CODE></FONT></TD>
  155. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#resolvedObjectMethods">resolvedObjectMethods</A></B></CODE>
  156. <BR>
  157. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Caches for resolved object and static methods.</TD>
  158. </TR>
  159. <TR BGCOLOR="white" CLASS="TableRowColor">
  160. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  161. <CODE>protected &nbsp;java.util.Hashtable</CODE></FONT></TD>
  162. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#resolvedStaticMethods">resolvedStaticMethods</A></B></CODE>
  163. <BR>
  164. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  165. </TR>
  166. </TABLE>
  167. &nbsp;
  168. <!-- ======== CONSTRUCTOR SUMMARY ======== -->
  169. <A NAME="constructor_summary"><!-- --></A>
  170. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  171. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  172. <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
  173. <B>Constructor Summary</B></FONT></TH>
  174. </TR>
  175. <TR BGCOLOR="white" CLASS="TableRowColor">
  176. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#BshClassManager()">BshClassManager</A></B>()</CODE>
  177. <BR>
  178. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  179. </TR>
  180. </TABLE>
  181. &nbsp;
  182. <!-- ========== METHOD SUMMARY =========== -->
  183. <A NAME="method_summary"><!-- --></A>
  184. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  185. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  186. <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
  187. <B>Method Summary</B></FONT></TH>
  188. </TR>
  189. <TR BGCOLOR="white" CLASS="TableRowColor">
  190. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  191. <CODE>&nbsp;void</CODE></FONT></TD>
  192. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#addClassPath(java.net.URL)">addClassPath</A></B>(java.net.URL&nbsp;path)</CODE>
  193. <BR>
  194. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  195. </TR>
  196. <TR BGCOLOR="white" CLASS="TableRowColor">
  197. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  198. <CODE>&nbsp;void</CODE></FONT></TD>
  199. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#addListener(org.gjt.sp.jedit.bsh.BshClassManager.Listener)">addListener</A></B>(<A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.Listener.html" title="interface in org.gjt.sp.jedit.bsh">BshClassManager.Listener</A>&nbsp;l)</CODE>
  200. <BR>
  201. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  202. </TR>
  203. <TR BGCOLOR="white" CLASS="TableRowColor">
  204. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  205. <CODE>&nbsp;void</CODE></FONT></TD>
  206. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#cacheClassInfo(java.lang.String, java.lang.Class)">cacheClassInfo</A></B>(java.lang.String&nbsp;name,
  207. java.lang.Class&nbsp;value)</CODE>
  208. <BR>
  209. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cache info about whether name is a class or not.</TD>
  210. </TR>
  211. <TR BGCOLOR="white" CLASS="TableRowColor">
  212. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  213. <CODE>&nbsp;void</CODE></FONT></TD>
  214. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#cacheResolvedMethod(java.lang.Class, java.lang.Class[], java.lang.reflect.Method)">cacheResolvedMethod</A></B>(java.lang.Class&nbsp;clas,
  215. java.lang.Class[]&nbsp;types,
  216. java.lang.reflect.Method&nbsp;method)</CODE>
  217. <BR>
  218. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cache a resolved (possibly overloaded) method based on the
  219. argument types used to invoke it, subject to classloader change.</TD>
  220. </TR>
  221. <TR BGCOLOR="white" CLASS="TableRowColor">
  222. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  223. <CODE>&nbsp;boolean</CODE></FONT></TD>
  224. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#classExists(java.lang.String)">classExists</A></B>(java.lang.String&nbsp;name)</CODE>
  225. <BR>
  226. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  227. </TR>
  228. <TR BGCOLOR="white" CLASS="TableRowColor">
  229. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  230. <CODE>&nbsp;java.lang.Class</CODE></FONT></TD>
  231. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#classForName(java.lang.String)">classForName</A></B>(java.lang.String&nbsp;name)</CODE>
  232. <BR>
  233. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load the specified class by name, taking into account added classpath
  234. and reloaded classes, etc.</TD>
  235. </TR>
  236. <TR BGCOLOR="white" CLASS="TableRowColor">
  237. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  238. <CODE>protected &nbsp;void</CODE></FONT></TD>
  239. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#classLoaderChanged()">classLoaderChanged</A></B>()</CODE>
  240. <BR>
  241. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  242. </TR>
  243. <TR BGCOLOR="white" CLASS="TableRowColor">
  244. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  245. <CODE>protected &nbsp;void</CODE></FONT></TD>
  246. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#clearCaches()">clearCaches</A></B>()</CODE>
  247. <BR>
  248. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear the caches in BshClassManager</TD>
  249. </TR>
  250. <TR BGCOLOR="white" CLASS="TableRowColor">
  251. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  252. <CODE>protected static&nbsp;<A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></CODE></FONT></TD>
  253. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#cmUnavailable()">cmUnavailable</A></B>()</CODE>
  254. <BR>
  255. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  256. </TR>
  257. <TR BGCOLOR="white" CLASS="TableRowColor">
  258. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  259. <CODE>static&nbsp;<A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html" title="class in org.gjt.sp.jedit.bsh">BshClassManager</A></CODE></FONT></TD>
  260. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#createClassManager(org.gjt.sp.jedit.bsh.Interpreter)">createClassManager</A></B>(<A HREF="../../../../../org/gjt/sp/jedit/bsh/Interpreter.html" title="class in org.gjt.sp.jedit.bsh">Interpreter</A>&nbsp;interpreter)</CODE>
  261. <BR>
  262. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a new instance of the class manager.</TD>
  263. </TR>
  264. <TR BGCOLOR="white" CLASS="TableRowColor">
  265. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  266. <CODE>&nbsp;java.lang.Class</CODE></FONT></TD>
  267. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#defineClass(java.lang.String, byte[])">defineClass</A></B>(java.lang.String&nbsp;name,
  268. byte[]&nbsp;code)</CODE>
  269. <BR>
  270. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  271. </TR>
  272. <TR BGCOLOR="white" CLASS="TableRowColor">
  273. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  274. <CODE>protected &nbsp;void</CODE></FONT></TD>
  275. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#definingClass(java.lang.String)">definingClass</A></B>(java.lang.String&nbsp;className)</CODE>
  276. <BR>
  277. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flag the class name as being in the process of being defined.</TD>
  278. </TR>
  279. <TR BGCOLOR="white" CLASS="TableRowColor">
  280. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  281. <CODE>protected &nbsp;void</CODE></FONT></TD>
  282. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#doneDefiningClass(java.lang.String)">doneDefiningClass</A></B>(java.lang.String&nbsp;className)</CODE>
  283. <BR>
  284. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicate that the specified class name has been defined and may be
  285. loaded normally.</TD>
  286. </TR>
  287. <TR BGCOLOR="white" CLASS="TableRowColor">
  288. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  289. <CODE>protected &nbsp;void</CODE></FONT></TD>
  290. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#doSuperImport()">doSuperImport</A></B>()</CODE>
  291. <BR>
  292. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Support for "import *;"
  293. Hide details in here as opposed to NameSpace.</TD>
  294. </TR>
  295. <TR BGCOLOR="white" CLASS="TableRowColor">
  296. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  297. <CODE>&nbsp;void</CODE></FONT></TD>
  298. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#dump(java.io.PrintWriter)">dump</A></B>(java.io.PrintWriter&nbsp;pw)</CODE>
  299. <BR>
  300. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  301. </TR>
  302. <TR BGCOLOR="white" CLASS="TableRowColor">
  303. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  304. <CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
  305. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#getClassBeingDefined(java.lang.String)">getClassBeingDefined</A></B>(java.lang.String&nbsp;className)</CODE>
  306. <BR>
  307. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is a temporary workaround used with definingClass.</TD>
  308. </TR>
  309. <TR BGCOLOR="white" CLASS="TableRowColor">
  310. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  311. <CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
  312. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#getClassNameByUnqName(java.lang.String)">getClassNameByUnqName</A></B>(java.lang.String&nbsp;name)</CODE>
  313. <BR>
  314. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the name or null if none is found,
  315. Throw an ClassPathException containing detail if name is ambigous.</TD>
  316. </TR>
  317. <TR BGCOLOR="white" CLASS="TableRowColor">
  318. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  319. <CODE>protected &nbsp;java.lang.reflect.Method</CODE></FONT></TD>
  320. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#getResolvedMethod(java.lang.Class, java.lang.String, java.lang.Class[], boolean)">getResolvedMethod</A></B>(java.lang.Class&nbsp;clas,
  321. java.lang.String&nbsp;methodName,
  322. java.lang.Class[]&nbsp;types,
  323. boolean&nbsp;onlyStatic)</CODE>
  324. <BR>
  325. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a previously cached resolved method.</TD>
  326. </TR>
  327. <TR BGCOLOR="white" CLASS="TableRowColor">
  328. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  329. <CODE>&nbsp;java.net.URL</CODE></FONT></TD>
  330. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#getResource(java.lang.String)">getResource</A></B>(java.lang.String&nbsp;path)</CODE>
  331. <BR>
  332. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a resource URL using the BeanShell classpath</TD>
  333. </TR>
  334. <TR BGCOLOR="white" CLASS="TableRowColor">
  335. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  336. <CODE>&nbsp;java.io.InputStream</CODE></FONT></TD>
  337. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#getResourceAsStream(java.lang.String)">getResourceAsStream</A></B>(java.lang.String&nbsp;path)</CODE>
  338. <BR>
  339. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a resource stream using the BeanShell classpath</TD>
  340. </TR>
  341. <TR BGCOLOR="white" CLASS="TableRowColor">
  342. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  343. <CODE>protected &nbsp;boolean</CODE></FONT></TD>
  344. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#hasSuperImport()">hasSuperImport</A></B>()</CODE>
  345. <BR>
  346. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A "super import" ("import *") operation has been performed.</TD>
  347. </TR>
  348. <TR BGCOLOR="white" CLASS="TableRowColor">
  349. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  350. <CODE>protected &nbsp;boolean</CODE></FONT></TD>
  351. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#isClassBeingDefined(java.lang.String)">isClassBeingDefined</A></B>(java.lang.String&nbsp;className)</CODE>
  352. <BR>
  353. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  354. </TR>
  355. <TR BGCOLOR="white" CLASS="TableRowColor">
  356. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  357. <CODE>protected &nbsp;java.lang.Class</CODE></FONT></TD>
  358. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#loadSourceClass(java.lang.String)">loadSourceClass</A></B>(java.lang.String&nbsp;name)</CODE>
  359. <BR>
  360. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  361. </TR>
  362. <TR BGCOLOR="white" CLASS="TableRowColor">
  363. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  364. <CODE>protected static&nbsp;java.lang.Error</CODE></FONT></TD>
  365. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#noClassDefFound(java.lang.String, java.lang.Error)">noClassDefFound</A></B>(java.lang.String&nbsp;className,
  366. java.lang.Error&nbsp;e)</CODE>
  367. <BR>
  368. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Annotate the NoClassDefFoundError with some info about the class
  369. we were trying to load.</TD>
  370. </TR>
  371. <TR BGCOLOR="white" CLASS="TableRowColor">
  372. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  373. <CODE>&nbsp;java.lang.Class</CODE></FONT></TD>
  374. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#plainClassForName(java.lang.String)">plainClassForName</A></B>(java.lang.String&nbsp;name)</CODE>
  375. <BR>
  376. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perform a plain Class.forName() or call the externally provided
  377. classloader.</TD>
  378. </TR>
  379. <TR BGCOLOR="white" CLASS="TableRowColor">
  380. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  381. <CODE>&nbsp;void</CODE></FONT></TD>
  382. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#reloadAllClasses()">reloadAllClasses</A></B>()</CODE>
  383. <BR>
  384. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overlay the entire path with a new class loader.</TD>
  385. </TR>
  386. <TR BGCOLOR="white" CLASS="TableRowColor">
  387. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  388. <CODE>&nbsp;void</CODE></FONT></TD>
  389. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#reloadClasses(java.lang.String[])">reloadClasses</A></B>(java.lang.String[]&nbsp;classNames)</CODE>
  390. <BR>
  391. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reloading classes means creating a new classloader and using it
  392. whenever we are asked for classes in the appropriate space.</TD>
  393. </TR>
  394. <TR BGCOLOR="white" CLASS="TableRowColor">
  395. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  396. <CODE>&nbsp;void</CODE></FONT></TD>
  397. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#reloadPackage(java.lang.String)">reloadPackage</A></B>(java.lang.String&nbsp;pack)</CODE>
  398. <BR>
  399. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reload all classes in the specified package: e.g.</TD>
  400. </TR>
  401. <TR BGCOLOR="white" CLASS="TableRowColor">
  402. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  403. <CODE>&nbsp;void</CODE></FONT></TD>
  404. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#removeListener(org.gjt.sp.jedit.bsh.BshClassManager.Listener)">removeListener</A></B>(<A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.Listener.html" title="interface in org.gjt.sp.jedit.bsh">BshClassManager.Listener</A>&nbsp;l)</CODE>
  405. <BR>
  406. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  407. </TR>
  408. <TR BGCOLOR="white" CLASS="TableRowColor">
  409. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  410. <CODE>&nbsp;void</CODE></FONT></TD>
  411. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#reset()">reset</A></B>()</CODE>
  412. <BR>
  413. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear all loaders and start over.</TD>
  414. </TR>
  415. <TR BGCOLOR="white" CLASS="TableRowColor">
  416. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  417. <CODE>&nbsp;void</CODE></FONT></TD>
  418. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#setClassLoader(java.lang.ClassLoader)">setClassLoader</A></B>(java.lang.ClassLoader&nbsp;externalCL)</CODE>
  419. <BR>
  420. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set an external class loader.</TD>
  421. </TR>
  422. <TR BGCOLOR="white" CLASS="TableRowColor">
  423. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  424. <CODE>&nbsp;void</CODE></FONT></TD>
  425. <TD><CODE><B><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#setClassPath(java.net.URL[])">setClassPath</A></B>(java.net.URL[]&nbsp;cp)</CODE>
  426. <BR>
  427. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a new base classpath and create a new base classloader.</TD>
  428. </TR>
  429. </TABLE>
  430. &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
  431. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  432. <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
  433. <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
  434. </TR>
  435. <TR BGCOLOR="white" CLASS="TableRowColor">
  436. <TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
  437. </TR>
  438. </TABLE>
  439. &nbsp;
  440. <P>
  441. <!-- ============ FIELD DETAIL =========== -->
  442. <A NAME="field_detail"><!-- --></A>
  443. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  444. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  445. <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
  446. <B>Field Detail</B></FONT></TH>
  447. </TR>
  448. </TABLE>
  449. <A NAME="externalClassLoader"><!-- --></A><H3>
  450. externalClassLoader</H3>
  451. <PRE>
  452. protected java.lang.ClassLoader <B>externalClassLoader</B></PRE>
  453. <DL>
  454. <DD>An external classloader supplied by the setClassLoader() command.
  455. <P>
  456. <DL>
  457. </DL>
  458. </DL>
  459. <HR>
  460. <A NAME="absoluteClassCache"><!-- --></A><H3>
  461. absoluteClassCache</H3>
  462. <PRE>
  463. protected transient java.util.Hashtable <B>absoluteClassCache</B></PRE>
  464. <DL>
  465. <DD>Global cache for things we know are classes.
  466. Note: these should probably be re-implemented with Soft references.
  467. (as opposed to strong or Weak)
  468. <P>
  469. <DL>
  470. </DL>
  471. </DL>
  472. <HR>
  473. <A NAME="absoluteNonClasses"><!-- --></A><H3>
  474. absoluteNonClasses</H3>
  475. <PRE>
  476. protected transient java.util.Hashtable <B>absoluteNonClasses</B></PRE>
  477. <DL>
  478. <DD>Global cache for things we know are *not* classes.
  479. Note: these should probably be re-implemented with Soft references.
  480. (as opposed to strong or Weak)
  481. <P>
  482. <DL>
  483. </DL>
  484. </DL>
  485. <HR>
  486. <A NAME="resolvedObjectMethods"><!-- --></A><H3>
  487. resolvedObjectMethods</H3>
  488. <PRE>
  489. protected transient java.util.Hashtable <B>resolvedObjectMethods</B></PRE>
  490. <DL>
  491. <DD>Caches for resolved object and static methods.
  492. We keep these maps separate to support fast lookup in the general case
  493. where the method may be either.
  494. <P>
  495. <DL>
  496. </DL>
  497. </DL>
  498. <HR>
  499. <A NAME="resolvedStaticMethods"><!-- --></A><H3>
  500. resolvedStaticMethods</H3>
  501. <PRE>
  502. protected transient java.util.Hashtable <B>resolvedStaticMethods</B></PRE>
  503. <DL>
  504. <DL>
  505. </DL>
  506. </DL>
  507. <HR>
  508. <A NAME="definingClasses"><!-- --></A><H3>
  509. definingClasses</H3>
  510. <PRE>
  511. protected transient java.util.Hashtable <B>definingClasses</B></PRE>
  512. <DL>
  513. <DL>
  514. </DL>
  515. </DL>
  516. <HR>
  517. <A NAME="definingClassesBaseNames"><!-- --></A><H3>
  518. definingClassesBaseNames</H3>
  519. <PRE>
  520. protected transient java.util.Hashtable <B>definingClassesBaseNames</B></PRE>
  521. <DL>
  522. <DL>
  523. </DL>
  524. </DL>
  525. <!-- ========= CONSTRUCTOR DETAIL ======== -->
  526. <A NAME="constructor_detail"><!-- --></A>
  527. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  528. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  529. <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
  530. <B>Constructor Detail</B></FONT></TH>
  531. </TR>
  532. </TABLE>
  533. <A NAME="BshClassManager()"><!-- --></A><H3>
  534. BshClassManager</H3>
  535. <PRE>
  536. public <B>BshClassManager</B>()</PRE>
  537. <DL>
  538. </DL>
  539. <!-- ============ METHOD DETAIL ========== -->
  540. <A NAME="method_detail"><!-- --></A>
  541. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  542. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  543. <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
  544. <B>Method Detail</B></FONT></TH>
  545. </TR>
  546. </TABLE>
  547. <A NAME="createClassManager(org.gjt.sp.jedit.bsh.Interpreter)"><!-- --></A><H3>
  548. createClassManager</H3>
  549. <PRE>
  550. public static <A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html" title="class in org.gjt.sp.jedit.bsh">BshClassManager</A> <B>createClassManager</B>(<A HREF="../../../../../org/gjt/sp/jedit/bsh/Interpreter.html" title="class in org.gjt.sp.jedit.bsh">Interpreter</A>&nbsp;interpreter)</PRE>
  551. <DL>
  552. <DD>Create a new instance of the class manager.
  553. Class manager instnaces are now associated with the interpreter.
  554. <P>
  555. <DD><DL>
  556. <DT><B>See Also:</B><DD><A HREF="../../../../../org/gjt/sp/jedit/bsh/Interpreter.html#getClassManager()"><CODE>getClassManager</CODE></A>,
  557. <A HREF="../../../../../org/gjt/sp/jedit/bsh/Interpreter.html#setClassLoader(java.lang.ClassLoader)"><CODE>setClassLoader</CODE></A></DL>
  558. </DD>
  559. </DL>
  560. <HR>
  561. <A NAME="classExists(java.lang.String)"><!-- --></A><H3>
  562. classExists</H3>
  563. <PRE>
  564. public boolean <B>classExists</B>(java.lang.String&nbsp;name)</PRE>
  565. <DL>
  566. <DD><DL>
  567. </DL>
  568. </DD>
  569. </DL>
  570. <HR>
  571. <A NAME="classForName(java.lang.String)"><!-- --></A><H3>
  572. classForName</H3>
  573. <PRE>
  574. public java.lang.Class <B>classForName</B>(java.lang.String&nbsp;name)</PRE>
  575. <DL>
  576. <DD>Load the specified class by name, taking into account added classpath
  577. and reloaded classes, etc.
  578. Note: Again, this is just a trivial implementation.
  579. See bsh.classpath.ClassManagerImpl for the fully functional class
  580. management package.
  581. <P>
  582. <DD><DL>
  583. <DT><B>Returns:</B><DD>the class or null</DL>
  584. </DD>
  585. </DL>
  586. <HR>
  587. <A NAME="loadSourceClass(java.lang.String)"><!-- --></A><H3>
  588. loadSourceClass</H3>
  589. <PRE>
  590. protected java.lang.Class <B>loadSourceClass</B>(java.lang.String&nbsp;name)</PRE>
  591. <DL>
  592. <DD><DL>
  593. </DL>
  594. </DD>
  595. </DL>
  596. <HR>
  597. <A NAME="plainClassForName(java.lang.String)"><!-- --></A><H3>
  598. plainClassForName</H3>
  599. <PRE>
  600. public java.lang.Class <B>plainClassForName</B>(java.lang.String&nbsp;name)
  601. throws java.lang.ClassNotFoundException</PRE>
  602. <DL>
  603. <DD>Perform a plain Class.forName() or call the externally provided
  604. classloader.
  605. If a BshClassManager implementation is loaded the call will be
  606. delegated to it, to allow for additional hooks.
  607. <p/>
  608. This simply wraps that bottom level class lookup call and provides a
  609. central point for monitoring and handling certain Java version
  610. dependent bugs, etc.
  611. <P>
  612. <DD><DL>
  613. <DT><B>Returns:</B><DD>the class
  614. <DT><B>Throws:</B>
  615. <DD><CODE>java.lang.ClassNotFoundException</CODE><DT><B>See Also:</B><DD><A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.html#classForName(java.lang.String)"><CODE>classForName( String )</CODE></A></DL>
  616. </DD>
  617. </DL>
  618. <HR>
  619. <A NAME="getResource(java.lang.String)"><!-- --></A><H3>
  620. getResource</H3>
  621. <PRE>
  622. public java.net.URL <B>getResource</B>(java.lang.String&nbsp;path)</PRE>
  623. <DL>
  624. <DD>Get a resource URL using the BeanShell classpath
  625. <P>
  626. <DD><DL>
  627. <DT><B>Parameters:</B><DD><CODE>path</CODE> - should be an absolute path</DL>
  628. </DD>
  629. </DL>
  630. <HR>
  631. <A NAME="getResourceAsStream(java.lang.String)"><!-- --></A><H3>
  632. getResourceAsStream</H3>
  633. <PRE>
  634. public java.io.InputStream <B>getResourceAsStream</B>(java.lang.String&nbsp;path)</PRE>
  635. <DL>
  636. <DD>Get a resource stream using the BeanShell classpath
  637. <P>
  638. <DD><DL>
  639. <DT><B>Parameters:</B><DD><CODE>path</CODE> - should be an absolute path</DL>
  640. </DD>
  641. </DL>
  642. <HR>
  643. <A NAME="cacheClassInfo(java.lang.String, java.lang.Class)"><!-- --></A><H3>
  644. cacheClassInfo</H3>
  645. <PRE>
  646. public void <B>cacheClassInfo</B>(java.lang.String&nbsp;name,
  647. java.lang.Class&nbsp;value)</PRE>
  648. <DL>
  649. <DD>Cache info about whether name is a class or not.
  650. <P>
  651. <DD><DL>
  652. <DT><B>Parameters:</B><DD><CODE>value</CODE> - if value is non-null, cache the class
  653. if value is null, set the flag that it is *not* a class to
  654. speed later resolution</DL>
  655. </DD>
  656. </DL>
  657. <HR>
  658. <A NAME="cacheResolvedMethod(java.lang.Class, java.lang.Class[], java.lang.reflect.Method)"><!-- --></A><H3>
  659. cacheResolvedMethod</H3>
  660. <PRE>
  661. public void <B>cacheResolvedMethod</B>(java.lang.Class&nbsp;clas,
  662. java.lang.Class[]&nbsp;types,
  663. java.lang.reflect.Method&nbsp;method)</PRE>
  664. <DL>
  665. <DD>Cache a resolved (possibly overloaded) method based on the
  666. argument types used to invoke it, subject to classloader change.
  667. Static and Object methods are cached separately to support fast lookup
  668. in the general case where either will do.
  669. <P>
  670. <DD><DL>
  671. </DL>
  672. </DD>
  673. </DL>
  674. <HR>
  675. <A NAME="getResolvedMethod(java.lang.Class, java.lang.String, java.lang.Class[], boolean)"><!-- --></A><H3>
  676. getResolvedMethod</H3>
  677. <PRE>
  678. protected java.lang.reflect.Method <B>getResolvedMethod</B>(java.lang.Class&nbsp;clas,
  679. java.lang.String&nbsp;methodName,
  680. java.lang.Class[]&nbsp;types,
  681. boolean&nbsp;onlyStatic)</PRE>
  682. <DL>
  683. <DD>Return a previously cached resolved method.
  684. <P>
  685. <DD><DL>
  686. <DT><B>Parameters:</B><DD><CODE>onlyStatic</CODE> - specifies that only a static method may be returned.
  687. <DT><B>Returns:</B><DD>the Method or null</DL>
  688. </DD>
  689. </DL>
  690. <HR>
  691. <A NAME="clearCaches()"><!-- --></A><H3>
  692. clearCaches</H3>
  693. <PRE>
  694. protected void <B>clearCaches</B>()</PRE>
  695. <DL>
  696. <DD>Clear the caches in BshClassManager
  697. <P>
  698. <DD><DL>
  699. </DL>
  700. </DD>
  701. </DL>
  702. <HR>
  703. <A NAME="setClassLoader(java.lang.ClassLoader)"><!-- --></A><H3>
  704. setClassLoader</H3>
  705. <PRE>
  706. public void <B>setClassLoader</B>(java.lang.ClassLoader&nbsp;externalCL)</PRE>
  707. <DL>
  708. <DD>Set an external class loader. BeanShell will use this at the same
  709. point it would otherwise use the plain Class.forName().
  710. i.e. if no explicit classpath management is done from the script
  711. (addClassPath(), setClassPath(), reloadClasses()) then BeanShell will
  712. only use the supplied classloader. If additional classpath management
  713. is done then BeanShell will perform that in addition to the supplied
  714. external classloader.
  715. However BeanShell is not currently able to reload
  716. classes supplied through the external classloader.
  717. <P>
  718. <DD><DL>
  719. </DL>
  720. </DD>
  721. </DL>
  722. <HR>
  723. <A NAME="addClassPath(java.net.URL)"><!-- --></A><H3>
  724. addClassPath</H3>
  725. <PRE>
  726. public void <B>addClassPath</B>(java.net.URL&nbsp;path)
  727. throws java.io.IOException</PRE>
  728. <DL>
  729. <DD><DL>
  730. <DT><B>Throws:</B>
  731. <DD><CODE>java.io.IOException</CODE></DL>
  732. </DD>
  733. </DL>
  734. <HR>
  735. <A NAME="reset()"><!-- --></A><H3>
  736. reset</H3>
  737. <PRE>
  738. public void <B>reset</B>()</PRE>
  739. <DL>
  740. <DD>Clear all loaders and start over. No class loading.
  741. <P>
  742. <DD><DL>
  743. </DL>
  744. </DD>
  745. </DL>
  746. <HR>
  747. <A NAME="setClassPath(java.net.URL[])"><!-- --></A><H3>
  748. setClassPath</H3>
  749. <PRE>
  750. public void <B>setClassPath</B>(java.net.URL[]&nbsp;cp)
  751. throws <A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></PRE>
  752. <DL>
  753. <DD>Set a new base classpath and create a new base classloader.
  754. This means all types change.
  755. <P>
  756. <DD><DL>
  757. <DT><B>Throws:</B>
  758. <DD><CODE><A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></CODE></DL>
  759. </DD>
  760. </DL>
  761. <HR>
  762. <A NAME="reloadAllClasses()"><!-- --></A><H3>
  763. reloadAllClasses</H3>
  764. <PRE>
  765. public void <B>reloadAllClasses</B>()
  766. throws <A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></PRE>
  767. <DL>
  768. <DD>Overlay the entire path with a new class loader.
  769. Set the base path to the user path + base path.
  770. No point in including the boot class path (can't reload thos).
  771. <P>
  772. <DD><DL>
  773. <DT><B>Throws:</B>
  774. <DD><CODE><A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></CODE></DL>
  775. </DD>
  776. </DL>
  777. <HR>
  778. <A NAME="reloadClasses(java.lang.String[])"><!-- --></A><H3>
  779. reloadClasses</H3>
  780. <PRE>
  781. public void <B>reloadClasses</B>(java.lang.String[]&nbsp;classNames)
  782. throws <A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></PRE>
  783. <DL>
  784. <DD>Reloading classes means creating a new classloader and using it
  785. whenever we are asked for classes in the appropriate space.
  786. For this we use a DiscreteFilesClassLoader
  787. <P>
  788. <DD><DL>
  789. <DT><B>Throws:</B>
  790. <DD><CODE><A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></CODE></DL>
  791. </DD>
  792. </DL>
  793. <HR>
  794. <A NAME="reloadPackage(java.lang.String)"><!-- --></A><H3>
  795. reloadPackage</H3>
  796. <PRE>
  797. public void <B>reloadPackage</B>(java.lang.String&nbsp;pack)
  798. throws <A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></PRE>
  799. <DL>
  800. <DD>Reload all classes in the specified package: e.g. "com.sun.tools"
  801. The special package name "<unpackaged>" can be used to refer
  802. to unpackaged classes.
  803. <P>
  804. <DD><DL>
  805. <DT><B>Throws:</B>
  806. <DD><CODE><A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></CODE></DL>
  807. </DD>
  808. </DL>
  809. <HR>
  810. <A NAME="doSuperImport()"><!-- --></A><H3>
  811. doSuperImport</H3>
  812. <PRE>
  813. protected void <B>doSuperImport</B>()
  814. throws <A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></PRE>
  815. <DL>
  816. <DD>Support for "import *;"
  817. Hide details in here as opposed to NameSpace.
  818. <P>
  819. <DD><DL>
  820. <DT><B>Throws:</B>
  821. <DD><CODE><A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></CODE></DL>
  822. </DD>
  823. </DL>
  824. <HR>
  825. <A NAME="hasSuperImport()"><!-- --></A><H3>
  826. hasSuperImport</H3>
  827. <PRE>
  828. protected boolean <B>hasSuperImport</B>()</PRE>
  829. <DL>
  830. <DD>A "super import" ("import *") operation has been performed.
  831. <P>
  832. <DD><DL>
  833. </DL>
  834. </DD>
  835. </DL>
  836. <HR>
  837. <A NAME="getClassNameByUnqName(java.lang.String)"><!-- --></A><H3>
  838. getClassNameByUnqName</H3>
  839. <PRE>
  840. protected java.lang.String <B>getClassNameByUnqName</B>(java.lang.String&nbsp;name)
  841. throws <A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></PRE>
  842. <DL>
  843. <DD>Return the name or null if none is found,
  844. Throw an ClassPathException containing detail if name is ambigous.
  845. <P>
  846. <DD><DL>
  847. <DT><B>Throws:</B>
  848. <DD><CODE><A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A></CODE></DL>
  849. </DD>
  850. </DL>
  851. <HR>
  852. <A NAME="addListener(org.gjt.sp.jedit.bsh.BshClassManager.Listener)"><!-- --></A><H3>
  853. addListener</H3>
  854. <PRE>
  855. public void <B>addListener</B>(<A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.Listener.html" title="interface in org.gjt.sp.jedit.bsh">BshClassManager.Listener</A>&nbsp;l)</PRE>
  856. <DL>
  857. <DD><DL>
  858. </DL>
  859. </DD>
  860. </DL>
  861. <HR>
  862. <A NAME="removeListener(org.gjt.sp.jedit.bsh.BshClassManager.Listener)"><!-- --></A><H3>
  863. removeListener</H3>
  864. <PRE>
  865. public void <B>removeListener</B>(<A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.Listener.html" title="interface in org.gjt.sp.jedit.bsh">BshClassManager.Listener</A>&nbsp;l)</PRE>
  866. <DL>
  867. <DD><DL>
  868. </DL>
  869. </DD>
  870. </DL>
  871. <HR>
  872. <A NAME="dump(java.io.PrintWriter)"><!-- --></A><H3>
  873. dump</H3>
  874. <PRE>
  875. public void <B>dump</B>(java.io.PrintWriter&nbsp;pw)</PRE>
  876. <DL>
  877. <DD><DL>
  878. </DL>
  879. </DD>
  880. </DL>
  881. <HR>
  882. <A NAME="definingClass(java.lang.String)"><!-- --></A><H3>
  883. definingClass</H3>
  884. <PRE>
  885. protected void <B>definingClass</B>(java.lang.String&nbsp;className)</PRE>
  886. <DL>
  887. <DD>Flag the class name as being in the process of being defined.
  888. The class manager will not attempt to load it.
  889. <P>
  890. <DD><DL>
  891. </DL>
  892. </DD>
  893. </DL>
  894. <HR>
  895. <A NAME="isClassBeingDefined(java.lang.String)"><!-- --></A><H3>
  896. isClassBeingDefined</H3>
  897. <PRE>
  898. protected boolean <B>isClassBeingDefined</B>(java.lang.String&nbsp;className)</PRE>
  899. <DL>
  900. <DD><DL>
  901. </DL>
  902. </DD>
  903. </DL>
  904. <HR>
  905. <A NAME="getClassBeingDefined(java.lang.String)"><!-- --></A><H3>
  906. getClassBeingDefined</H3>
  907. <PRE>
  908. protected java.lang.String <B>getClassBeingDefined</B>(java.lang.String&nbsp;className)</PRE>
  909. <DL>
  910. <DD>This method is a temporary workaround used with definingClass.
  911. It is to be removed at some point.
  912. <P>
  913. <DD><DL>
  914. </DL>
  915. </DD>
  916. </DL>
  917. <HR>
  918. <A NAME="doneDefiningClass(java.lang.String)"><!-- --></A><H3>
  919. doneDefiningClass</H3>
  920. <PRE>
  921. protected void <B>doneDefiningClass</B>(java.lang.String&nbsp;className)</PRE>
  922. <DL>
  923. <DD>Indicate that the specified class name has been defined and may be
  924. loaded normally.
  925. <P>
  926. <DD><DL>
  927. </DL>
  928. </DD>
  929. </DL>
  930. <HR>
  931. <A NAME="defineClass(java.lang.String, byte[])"><!-- --></A><H3>
  932. defineClass</H3>
  933. <PRE>
  934. public java.lang.Class <B>defineClass</B>(java.lang.String&nbsp;name,
  935. byte[]&nbsp;code)</PRE>
  936. <DL>
  937. <DD><DL>
  938. </DL>
  939. </DD>
  940. </DL>
  941. <HR>
  942. <A NAME="classLoaderChanged()"><!-- --></A><H3>
  943. classLoaderChanged</H3>
  944. <PRE>
  945. protected void <B>classLoaderChanged</B>()</PRE>
  946. <DL>
  947. <DD><DL>
  948. </DL>
  949. </DD>
  950. </DL>
  951. <HR>
  952. <A NAME="noClassDefFound(java.lang.String, java.lang.Error)"><!-- --></A><H3>
  953. noClassDefFound</H3>
  954. <PRE>
  955. protected static java.lang.Error <B>noClassDefFound</B>(java.lang.String&nbsp;className,
  956. java.lang.Error&nbsp;e)</PRE>
  957. <DL>
  958. <DD>Annotate the NoClassDefFoundError with some info about the class
  959. we were trying to load.
  960. <P>
  961. <DD><DL>
  962. </DL>
  963. </DD>
  964. </DL>
  965. <HR>
  966. <A NAME="cmUnavailable()"><!-- --></A><H3>
  967. cmUnavailable</H3>
  968. <PRE>
  969. protected static <A HREF="../../../../../org/gjt/sp/jedit/bsh/UtilEvalError.html" title="class in org.gjt.sp.jedit.bsh">UtilEvalError</A> <B>cmUnavailable</B>()</PRE>
  970. <DL>
  971. <DD><DL>
  972. </DL>
  973. </DD>
  974. </DL>
  975. <!-- ========= END OF CLASS DATA ========= -->
  976. <HR>
  977. <!-- ======= START OF BOTTOM NAVBAR ====== -->
  978. <A NAME="navbar_bottom"><!-- --></A>
  979. <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
  980. <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
  981. <TR>
  982. <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
  983. <A NAME="navbar_bottom_firstrow"><!-- --></A>
  984. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  985. <TR ALIGN="center" VALIGN="top">
  986. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  987. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  988. <TD BGCOLOR="#00008B" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  989. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BshClassManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  990. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  991. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  992. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  993. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  994. </TR>
  995. </TABLE>
  996. </TD>
  997. <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
  998. </EM>
  999. </TD>
  1000. </TR>
  1001. <TR>
  1002. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  1003. &nbsp;PREV CLASS&nbsp;
  1004. &nbsp;<A HREF="../../../../../org/gjt/sp/jedit/bsh/BshClassManager.Listener.html" title="interface in org.gjt.sp.jedit.bsh"><B>NEXT CLASS</B></A></FONT></TD>
  1005. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  1006. <A HREF="../../../../../index.html?org/gjt/sp/jedit/bsh/BshClassManager.html" target="_top"><B>FRAMES</B></A> &nbsp;
  1007. &nbsp;<A HREF="BshClassManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
  1008. &nbsp;
  1009. <NOSCRIPT>
  1010. <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
  1011. </NOSCRIPT>
  1012. </FONT></TD>
  1013. </TR>
  1014. <TR>
  1015. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  1016. SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
  1017. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  1018. DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
  1019. </TR>
  1020. </TABLE>
  1021. <A NAME="skip-navbar_bottom"></A>
  1022. <!-- ======== END OF BOTTOM NAVBAR ======= -->
  1023. <HR>
  1024. </BODY>
  1025. </HTML>