PageRenderTime 136ms CodeModel.GetById 90ms app.highlight 33ms RepoModel.GetById 1ms app.codeStats 0ms

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