<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Fri Nov 05 12:36:06 GMT 2004 -->
<TITLE>
AspectJ(tm) runtime API: Index
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<A HREF="#_A_">A</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_W_">W</A> <HR>
<A NAME="_A_"><!-- --></A><H2>
<B>A</B></H2>
<DL>
<DT><A HREF="org/aspectj/weaver/tools/GeneratedClassHandler.html#acceptClass(java.lang.String, byte[])"><B>acceptClass(String, byte[])</B></A> - 
Method in interface org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/GeneratedClassHandler.html">GeneratedClassHandler</A>
<DD>Accept class generated by WeavingAdaptor.
<DT><A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html#addURL(java.net.URL)"><B>addURL(URL)</B></A> - 
Method in class org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html">WeavingAdaptor</A>
<DD>Appends URL to path used by the WeavingAdptor to resolve classes
<DT><A HREF="org/aspectj/lang/JoinPoint.html#ADVICE_EXECUTION"><B>ADVICE_EXECUTION</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/AdviceSignature.html"><B>AdviceSignature</B></A> - interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/AdviceSignature.html">AdviceSignature</A>.<DD>&nbsp;</DL>
<HR>
<A NAME="_C_"><!-- --></A><H2>
<B>C</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/reflect/CatchClauseSignature.html"><B>CatchClauseSignature</B></A> - interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/CatchClauseSignature.html">CatchClauseSignature</A>.<DD>&nbsp;<DT><A HREF="org/aspectj/lang/reflect/CodeSignature.html"><B>CodeSignature</B></A> - interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/CodeSignature.html">CodeSignature</A>.<DD>&nbsp;<DT><A HREF="org/aspectj/lang/JoinPoint.html#CONSTRUCTOR_CALL"><B>CONSTRUCTOR_CALL</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/JoinPoint.html#CONSTRUCTOR_EXECUTION"><B>CONSTRUCTOR_EXECUTION</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/ConstructorSignature.html"><B>ConstructorSignature</B></A> - interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/ConstructorSignature.html">ConstructorSignature</A>.<DD>&nbsp;</DL>
<HR>
<A NAME="_E_"><!-- --></A><H2>
<B>E</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/JoinPoint.html#EXCEPTION_HANDLER"><B>EXCEPTION_HANDLER</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_F_"><!-- --></A><H2>
<B>F</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/JoinPoint.html#FIELD_GET"><B>FIELD_GET</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/JoinPoint.html#FIELD_SET"><B>FIELD_SET</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/FieldSignature.html"><B>FieldSignature</B></A> - interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/FieldSignature.html">FieldSignature</A>.<DD>&nbsp;</DL>
<HR>
<A NAME="_G_"><!-- --></A><H2>
<B>G</B></H2>
<DL>
<DT><A HREF="org/aspectj/weaver/tools/GeneratedClassHandler.html"><B>GeneratedClassHandler</B></A> - interface org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/GeneratedClassHandler.html">GeneratedClassHandler</A>.<DD>Interface implemented by weaving class loaders to allow classes generated by
 the weaving process to be defined.<DT><A HREF="org/aspectj/lang/JoinPoint.html#getArgs()"><B>getArgs()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>Returns the arguments at this join point.
<DT><A HREF="org/aspectj/weaver/tools/WeavingClassLoader.html#getAspectURLs()"><B>getAspectURLs()</B></A> - 
Method in interface org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/WeavingClassLoader.html">WeavingClassLoader</A>
<DD>Returns the aspects to be used by a WeavingAdaptor to weave classes
 defined by the class loader.
<DT><A HREF="org/aspectj/lang/SoftException.html#getCause()"><B>getCause()</B></A> - 
Method in class org.aspectj.lang.<A HREF="org/aspectj/lang/SoftException.html">SoftException</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/NoAspectBoundException.html#getCause()"><B>getCause()</B></A> - 
Method in class org.aspectj.lang.<A HREF="org/aspectj/lang/NoAspectBoundException.html">NoAspectBoundException</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/SourceLocation.html#getColumn()"><B>getColumn()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/SourceLocation.html">SourceLocation</A>
<DD><B>Deprecated.</B>&nbsp;<I>can not be implemented for bytecode weaving, may
 be removed in 1.1gold.</I>
<DT><A HREF="org/aspectj/lang/Signature.html#getDeclaringType()"><B>getDeclaringType()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/Signature.html">Signature</A>
<DD>Returns a <code>java.lang.Class</code> object representing the class,
 interface, or aspect that declared this member.
<DT><A HREF="org/aspectj/lang/Signature.html#getDeclaringTypeName()"><B>getDeclaringTypeName()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/Signature.html">Signature</A>
<DD>Returns the fully-qualified name of the declaring type.
<DT><A HREF="org/aspectj/lang/reflect/CodeSignature.html#getExceptionTypes()"><B>getExceptionTypes()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/CodeSignature.html">CodeSignature</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/FieldSignature.html#getFieldType()"><B>getFieldType()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/FieldSignature.html">FieldSignature</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/SourceLocation.html#getFileName()"><B>getFileName()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/SourceLocation.html">SourceLocation</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/JoinPoint.html#getKind()"><B>getKind()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>Returns a String representing the kind of join point.
<DT><A HREF="org/aspectj/lang/JoinPoint.StaticPart.html#getKind()"><B>getKind()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.StaticPart.html">JoinPoint.StaticPart</A>
<DD> Returns a String representing the kind of join point.
<DT><A HREF="org/aspectj/lang/reflect/SourceLocation.html#getLine()"><B>getLine()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/SourceLocation.html">SourceLocation</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/Signature.html#getModifiers()"><B>getModifiers()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/Signature.html">Signature</A>
<DD>Returns the modifiers on this signature represented as an int.
<DT><A HREF="org/aspectj/lang/Signature.html#getName()"><B>getName()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/Signature.html">Signature</A>
<DD>Returns the identifier part of this signature.
<DT><A HREF="org/aspectj/lang/reflect/CatchClauseSignature.html#getParameterName()"><B>getParameterName()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/CatchClauseSignature.html">CatchClauseSignature</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/CodeSignature.html#getParameterNames()"><B>getParameterNames()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/CodeSignature.html">CodeSignature</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/CatchClauseSignature.html#getParameterType()"><B>getParameterType()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/CatchClauseSignature.html">CatchClauseSignature</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/CodeSignature.html#getParameterTypes()"><B>getParameterTypes()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/CodeSignature.html">CodeSignature</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/AdviceSignature.html#getReturnType()"><B>getReturnType()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/AdviceSignature.html">AdviceSignature</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/MethodSignature.html#getReturnType()"><B>getReturnType()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/MethodSignature.html">MethodSignature</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/JoinPoint.html#getSignature()"><B>getSignature()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>Returns the signature at the join point.
<DT><A HREF="org/aspectj/lang/JoinPoint.StaticPart.html#getSignature()"><B>getSignature()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.StaticPart.html">JoinPoint.StaticPart</A>
<DD>Returns the signature at the join point.
<DT><A HREF="org/aspectj/lang/JoinPoint.html#getSourceLocation()"><B>getSourceLocation()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>Returns the source location corresponding to the join point.
<DT><A HREF="org/aspectj/lang/JoinPoint.StaticPart.html#getSourceLocation()"><B>getSourceLocation()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.StaticPart.html">JoinPoint.StaticPart</A>
<DD>Returns the source location corresponding to the join point.
<DT><A HREF="org/aspectj/lang/JoinPoint.html#getStaticPart()"><B>getStaticPart()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>Returns an object that encapsulates the static parts of this join point.
<DT><A HREF="org/aspectj/lang/JoinPoint.html#getTarget()"><B>getTarget()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD> Returns the target object.
<DT><A HREF="org/aspectj/lang/JoinPoint.html#getThis()"><B>getThis()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD> Returns the currently executing object.
<DT><A HREF="org/aspectj/lang/reflect/SourceLocation.html#getWithinType()"><B>getWithinType()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/SourceLocation.html">SourceLocation</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/SoftException.html#getWrappedThrowable()"><B>getWrappedThrowable()</B></A> - 
Method in class org.aspectj.lang.<A HREF="org/aspectj/lang/SoftException.html">SoftException</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_I_"><!-- --></A><H2>
<B>I</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/JoinPoint.html#INITIALIZATION"><B>INITIALIZATION</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/InitializerSignature.html"><B>InitializerSignature</B></A> - interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/InitializerSignature.html">InitializerSignature</A>.<DD>&nbsp;</DL>
<HR>
<A NAME="_J_"><!-- --></A><H2>
<B>J</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/JoinPoint.html"><B>JoinPoint</B></A> - interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>.<DD>Provides reflective access to both the state available at a join point and
 static information about it.<DT><A HREF="org/aspectj/lang/JoinPoint.StaticPart.html"><B>JoinPoint.StaticPart</B></A> - interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.StaticPart.html">JoinPoint.StaticPart</A>.<DD>This helper object contains only the static information about a join point.</DL>
<HR>
<A NAME="_M_"><!-- --></A><H2>
<B>M</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/reflect/MemberSignature.html"><B>MemberSignature</B></A> - interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/MemberSignature.html">MemberSignature</A>.<DD>&nbsp;<DT><A HREF="org/aspectj/lang/JoinPoint.html#METHOD_CALL"><B>METHOD_CALL</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/JoinPoint.html#METHOD_EXECUTION"><B>METHOD_EXECUTION</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>The legal return values from getKind()
<DT><A HREF="org/aspectj/lang/reflect/MethodSignature.html"><B>MethodSignature</B></A> - interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/MethodSignature.html">MethodSignature</A>.<DD>&nbsp;</DL>
<HR>
<A NAME="_N_"><!-- --></A><H2>
<B>N</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/NoAspectBoundException.html"><B>NoAspectBoundException</B></A> - exception org.aspectj.lang.<A HREF="org/aspectj/lang/NoAspectBoundException.html">NoAspectBoundException</A>.<DD>Thrown by the <code>aspectOf</code> special method on aspect types
  when there is no aspect of that type currently bound.<DT><A HREF="org/aspectj/lang/NoAspectBoundException.html#NoAspectBoundException()"><B>NoAspectBoundException()</B></A> - 
Constructor for class org.aspectj.lang.<A HREF="org/aspectj/lang/NoAspectBoundException.html">NoAspectBoundException</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/NoAspectBoundException.html#NoAspectBoundException(java.lang.String, java.lang.Throwable)"><B>NoAspectBoundException(String, Throwable)</B></A> - 
Constructor for class org.aspectj.lang.<A HREF="org/aspectj/lang/NoAspectBoundException.html">NoAspectBoundException</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_O_"><!-- --></A><H2>
<B>O</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/package-summary.html"><B>org.aspectj.lang</B></A> - package org.aspectj.lang<DD>Provides several interfaces for obtaining reflective information about a
join point, as well as several exceptions that can be thrown by AspectJ
code.<DT><A HREF="org/aspectj/lang/reflect/package-summary.html"><B>org.aspectj.lang.reflect</B></A> - package org.aspectj.lang.reflect<DD>Contains interfaces that extend <code>Signature</code> to provide
additional information about each possible join point signature.<DT><A HREF="org/aspectj/weaver/tools/package-summary.html"><B>org.aspectj.weaver.tools</B></A> - package org.aspectj.weaver.tools<DD>Provides a set of interfaces to allow a class loader to perform
load-time weaving.</DL>
<HR>
<A NAME="_P_"><!-- --></A><H2>
<B>P</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/JoinPoint.html#PREINTIALIZATION"><B>PREINTIALIZATION</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/SoftException.html#printStackTrace()"><B>printStackTrace()</B></A> - 
Method in class org.aspectj.lang.<A HREF="org/aspectj/lang/SoftException.html">SoftException</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/SoftException.html#printStackTrace(java.io.PrintStream)"><B>printStackTrace(PrintStream)</B></A> - 
Method in class org.aspectj.lang.<A HREF="org/aspectj/lang/SoftException.html">SoftException</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/SoftException.html#printStackTrace(java.io.PrintWriter)"><B>printStackTrace(PrintWriter)</B></A> - 
Method in class org.aspectj.lang.<A HREF="org/aspectj/lang/SoftException.html">SoftException</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_S_"><!-- --></A><H2>
<B>S</B></H2>
<DL>
<DT><A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html#SHOW_WEAVE_INFO_PROPERTY"><B>SHOW_WEAVE_INFO_PROPERTY</B></A> - 
Static variable in class org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html">WeavingAdaptor</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/Signature.html"><B>Signature</B></A> - interface org.aspectj.lang.<A HREF="org/aspectj/lang/Signature.html">Signature</A>.<DD>Represents the signature at a join point.<DT><A HREF="org/aspectj/lang/SoftException.html"><B>SoftException</B></A> - exception org.aspectj.lang.<A HREF="org/aspectj/lang/SoftException.html">SoftException</A>.<DD>Wrapper for checked exceptions matched by a 'declare soft'.<DT><A HREF="org/aspectj/lang/SoftException.html#SoftException(java.lang.Throwable)"><B>SoftException(Throwable)</B></A> - 
Constructor for class org.aspectj.lang.<A HREF="org/aspectj/lang/SoftException.html">SoftException</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/reflect/SourceLocation.html"><B>SourceLocation</B></A> - interface org.aspectj.lang.reflect.<A HREF="org/aspectj/lang/reflect/SourceLocation.html">SourceLocation</A>.<DD>For defining code, the class defined and location in a source file.<DT><A HREF="org/aspectj/lang/JoinPoint.html#STATICINITIALIZATION"><B>STATICINITIALIZATION</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_T_"><!-- --></A><H2>
<B>T</B></H2>
<DL>
<DT><A HREF="org/aspectj/lang/JoinPoint.html#toLongString()"><B>toLongString()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>Returns an extended string representation of the join point.
<DT><A HREF="org/aspectj/lang/JoinPoint.StaticPart.html#toLongString()"><B>toLongString()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.StaticPart.html">JoinPoint.StaticPart</A>
<DD>Returns an extended string representation of the join point
<DT><A HREF="org/aspectj/lang/Signature.html#toLongString()"><B>toLongString()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/Signature.html">Signature</A>
<DD>Returns an extended string representation of this signature.
<DT><A HREF="org/aspectj/lang/JoinPoint.html#toShortString()"><B>toShortString()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>Returns an abbreviated string representation of the join point.
<DT><A HREF="org/aspectj/lang/JoinPoint.StaticPart.html#toShortString()"><B>toShortString()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.StaticPart.html">JoinPoint.StaticPart</A>
<DD>Returns an abbreviated string representation of the join point
<DT><A HREF="org/aspectj/lang/Signature.html#toShortString()"><B>toShortString()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/Signature.html">Signature</A>
<DD>Returns an abbreviated string representation of this signature.
<DT><A HREF="org/aspectj/lang/JoinPoint.html#toString()"><B>toString()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.html">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/JoinPoint.StaticPart.html#toString()"><B>toString()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/JoinPoint.StaticPart.html">JoinPoint.StaticPart</A>
<DD>&nbsp;
<DT><A HREF="org/aspectj/lang/Signature.html#toString()"><B>toString()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="org/aspectj/lang/Signature.html">Signature</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_W_"><!-- --></A><H2>
<B>W</B></H2>
<DL>
<DT><A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html#weaveClass(java.lang.String, byte[])"><B>weaveClass(String, byte[])</B></A> - 
Method in class org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html">WeavingAdaptor</A>
<DD>Weave a class using aspects previously supplied to the adaptor.
<DT><A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html#WEAVING_ADAPTOR_VERBOSE"><B>WEAVING_ADAPTOR_VERBOSE</B></A> - 
Static variable in class org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html">WeavingAdaptor</A>
<DD>System property used to turn on verbose weaving messages
<DT><A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html"><B>WeavingAdaptor</B></A> - class org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html">WeavingAdaptor</A>.<DD>This adaptor allows the AspectJ compiler to be embedded in an existing
 system to facilitate load-time weaving.<DT><A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html#WeavingAdaptor(org.aspectj.weaver.tools.GeneratedClassHandler, java.net.URL[], java.net.URL[])"><B>WeavingAdaptor(GeneratedClassHandler, URL[], URL[])</B></A> - 
Constructor for class org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html">WeavingAdaptor</A>
<DD>Construct a WeavingAdator with a reference to a
 <code>GeneratedClassHandler</code>, a full search path for resolving 
 classes and a complete set of aspects.
<DT><A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html#WeavingAdaptor(org.aspectj.weaver.tools.WeavingClassLoader)"><B>WeavingAdaptor(WeavingClassLoader)</B></A> - 
Constructor for class org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/WeavingAdaptor.html">WeavingAdaptor</A>
<DD>Construct a WeavingAdaptor with a reference to a weaving class loader.
<DT><A HREF="org/aspectj/weaver/tools/WeavingClassLoader.html"><B>WeavingClassLoader</B></A> - interface org.aspectj.weaver.tools.<A HREF="org/aspectj/weaver/tools/WeavingClassLoader.html">WeavingClassLoader</A>.<DD>An interface for weaving class loaders to provide callbacks for a
 WeavingAdaptor.</DL>
<HR>
<A HREF="#_A_">A</A> <A HREF="#_C_">C</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_W_">W</A> 
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>

</BODY>
</HTML>
