<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_04) on Thu Jun 29 16:31:41 BST 2006 -->
<TITLE>
Index (AspectJ(tm) runtime API)
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="Index (AspectJ(tm) runtime API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <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?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP 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="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</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="#_U_">U</A> <HR>
<A NAME="_A_"><!-- --></A><H2>
<B>A</B></H2>
<DL>
<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" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/reflect/AdviceSignature.html" title="interface in org.aspectj.lang.reflect"><B>AdviceSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;<DT><A HREF="./org/aspectj/lang/Aspects14.html#aspectOf(java.lang.Class)"><B>aspectOf(Class)</B></A> - 
Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects14.html" title="class in org.aspectj.lang">Aspects14</A>
<DD>Returns the singleton aspect or the percflow / percflowbelow associated with the current thread
<DT><A HREF="./org/aspectj/lang/Aspects14.html#aspectOf(java.lang.Class, java.lang.Object)"><B>aspectOf(Class, Object)</B></A> - 
Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects14.html" title="class in org.aspectj.lang">Aspects14</A>
<DD>Returns the perthis / pertarget aspect
<DT><A HREF="./org/aspectj/lang/Aspects14.html#aspectOf(java.lang.Class, java.lang.Class)"><B>aspectOf(Class, Class)</B></A> - 
Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects14.html" title="class in org.aspectj.lang">Aspects14</A>
<DD>Returns the pertypewithin aspect
<DT><A HREF="./org/aspectj/lang/Aspects14.html" title="class in org.aspectj.lang"><B>Aspects14</B></A> - Class in <A HREF="./org/aspectj/lang/package-summary.html">org.aspectj.lang</A><DD>For users working on a level of Java prior to Java5, Aspects14 handles generic aspectOf methods when they 
 are not available in the aspects but added later on through load time weaving.<DT><A HREF="./org/aspectj/lang/Aspects14.html#Aspects14()"><B>Aspects14()</B></A> - 
Constructor for class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects14.html" title="class in org.aspectj.lang">Aspects14</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_C_"><!-- --></A><H2>
<B>C</B></H2>
<DL>
<DT><A HREF="./org/aspectj/lang/reflect/CatchClauseSignature.html" title="interface in org.aspectj.lang.reflect"><B>CatchClauseSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;<DT><A HREF="./org/aspectj/lang/reflect/CodeSignature.html" title="interface in org.aspectj.lang.reflect"><B>CodeSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/reflect/ConstructorSignature.html" title="interface in org.aspectj.lang.reflect"><B>ConstructorSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;<DT><A HREF="./org/aspectj/runtime/reflect/FieldSignatureImpl.html#createToString(org.aspectj.runtime.reflect.StringMaker)"><B>createToString(StringMaker)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/FieldSignatureImpl.html" title="class in org.aspectj.runtime.reflect">FieldSignatureImpl</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" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_F_"><!-- --></A><H2>
<B>F</B></H2>
<DL>
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect"><B>Factory</B></A> - Class in <A HREF="./org/aspectj/runtime/reflect/package-summary.html">org.aspectj.runtime.reflect</A><DD>&nbsp;<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#Factory(java.lang.String, java.lang.Class)"><B>Factory(String, Class)</B></A> - 
Constructor for class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/reflect/FieldSignature.html" title="interface in org.aspectj.lang.reflect"><B>FieldSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;<DT><A HREF="./org/aspectj/runtime/reflect/FieldSignatureImpl.html" title="class in org.aspectj.runtime.reflect"><B>FieldSignatureImpl</B></A> - Class in <A HREF="./org/aspectj/runtime/reflect/package-summary.html">org.aspectj.runtime.reflect</A><DD>&nbsp;</DL>
<HR>
<A NAME="_G_"><!-- --></A><H2>
<B>G</B></H2>
<DL>
<DT><A HREF="./org/aspectj/lang/reflect/AdviceSignature.html#getAdvice()"><B>getAdvice()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="./org/aspectj/lang/reflect/AdviceSignature.html" title="interface in org.aspectj.lang.reflect">AdviceSignature</A>
<DD>&nbsp;
<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" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>Returns the arguments at this join point.
<DT><A HREF="./org/aspectj/lang/NoAspectBoundException.html#getCause()"><B>getCause()</B></A> - 
Method in exception org.aspectj.lang.<A HREF="./org/aspectj/lang/NoAspectBoundException.html" title="class in org.aspectj.lang">NoAspectBoundException</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/SoftException.html#getCause()"><B>getCause()</B></A> - 
Method in exception org.aspectj.lang.<A HREF="./org/aspectj/lang/SoftException.html" title="class in org.aspectj.lang">SoftException</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" title="interface in org.aspectj.lang.reflect">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/reflect/ConstructorSignature.html#getConstructor()"><B>getConstructor()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="./org/aspectj/lang/reflect/ConstructorSignature.html" title="interface in org.aspectj.lang.reflect">ConstructorSignature</A>
<DD>&nbsp;
<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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang.reflect">CodeSignature</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/reflect/FieldSignature.html#getField()"><B>getField()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="./org/aspectj/lang/reflect/FieldSignature.html" title="interface in org.aspectj.lang.reflect">FieldSignature</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/FieldSignatureImpl.html#getField()"><B>getField()</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/FieldSignatureImpl.html" title="class in org.aspectj.runtime.reflect">FieldSignatureImpl</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" title="interface in org.aspectj.lang.reflect">FieldSignature</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/FieldSignatureImpl.html#getFieldType()"><B>getFieldType()</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/FieldSignatureImpl.html" title="class in org.aspectj.runtime.reflect">FieldSignatureImpl</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" title="interface in org.aspectj.lang.reflect">SourceLocation</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/reflect/InitializerSignature.html#getInitializer()"><B>getInitializer()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="./org/aspectj/lang/reflect/InitializerSignature.html" title="interface in org.aspectj.lang.reflect">InitializerSignature</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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang.reflect">SourceLocation</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/reflect/MethodSignature.html#getMethod()"><B>getMethod()</B></A> - 
Method in interface org.aspectj.lang.reflect.<A HREF="./org/aspectj/lang/reflect/MethodSignature.html" title="interface in org.aspectj.lang.reflect">MethodSignature</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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang.reflect">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" title="interface in org.aspectj.lang.reflect">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" title="interface in org.aspectj.lang.reflect">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" title="interface in org.aspectj.lang.reflect">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" title="interface in org.aspectj.lang.reflect">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" title="interface in org.aspectj.lang.reflect">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang.reflect">SourceLocation</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/SoftException.html#getWrappedThrowable()"><B>getWrappedThrowable()</B></A> - 
Method in exception org.aspectj.lang.<A HREF="./org/aspectj/lang/SoftException.html" title="class in org.aspectj.lang">SoftException</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_H_"><!-- --></A><H2>
<B>H</B></H2>
<DL>
<DT><A HREF="./org/aspectj/lang/Aspects14.html#hasAspect(java.lang.Class)"><B>hasAspect(Class)</B></A> - 
Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects14.html" title="class in org.aspectj.lang">Aspects14</A>
<DD>Returns true if singleton aspect or percflow / percflowbelow aspect is bound
<DT><A HREF="./org/aspectj/lang/Aspects14.html#hasAspect(java.lang.Class, java.lang.Object)"><B>hasAspect(Class, Object)</B></A> - 
Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects14.html" title="class in org.aspectj.lang">Aspects14</A>
<DD>Returns true if the perthis / pertarget aspect is bound
<DT><A HREF="./org/aspectj/lang/Aspects14.html#hasAspect(java.lang.Class, java.lang.Class)"><B>hasAspect(Class, Class)</B></A> - 
Static method in class org.aspectj.lang.<A HREF="./org/aspectj/lang/Aspects14.html" title="class in org.aspectj.lang">Aspects14</A>
<DD>Returns true if the pertypewithin aspect is bound
</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" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/reflect/InitializerSignature.html" title="interface in org.aspectj.lang.reflect"><B>InitializerSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;</DL>
<HR>
<A NAME="_J_"><!-- --></A><H2>
<B>J</B></H2>
<DL>
<DT><A HREF="./org/aspectj/lang/JoinPoint.html" title="interface in org.aspectj.lang"><B>JoinPoint</B></A> - Interface in <A HREF="./org/aspectj/lang/package-summary.html">org.aspectj.lang</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.EnclosingStaticPart.html" title="interface in org.aspectj.lang"><B>JoinPoint.EnclosingStaticPart</B></A> - Interface in <A HREF="./org/aspectj/lang/package-summary.html">org.aspectj.lang</A><DD>&nbsp;<DT><A HREF="./org/aspectj/lang/JoinPoint.StaticPart.html" title="interface in org.aspectj.lang"><B>JoinPoint.StaticPart</B></A> - Interface in <A HREF="./org/aspectj/lang/package-summary.html">org.aspectj.lang</A><DD>This helper object contains only the static information about a join point.</DL>
<HR>
<A NAME="_L_"><!-- --></A><H2>
<B>L</B></H2>
<DL>
<DT><A HREF="./org/aspectj/lang/reflect/LockSignature.html" title="interface in org.aspectj.lang.reflect"><B>LockSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;</DL>
<HR>
<A NAME="_M_"><!-- --></A><H2>
<B>M</B></H2>
<DL>
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeAdviceSig(java.lang.String)"><B>makeAdviceSig(String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeAdviceSig(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>makeAdviceSig(String, String, String, String, String, String, String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeAdviceSig(int, java.lang.String, java.lang.Class, java.lang.Class[], java.lang.String[], java.lang.Class[], java.lang.Class)"><B>makeAdviceSig(int, String, Class, Class[], String[], Class[], Class)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeCatchClauseSig(java.lang.String)"><B>makeCatchClauseSig(String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeCatchClauseSig(java.lang.String, java.lang.String, java.lang.String)"><B>makeCatchClauseSig(String, String, String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeCatchClauseSig(java.lang.Class, java.lang.Class, java.lang.String)"><B>makeCatchClauseSig(Class, Class, String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeConstructorSig(java.lang.String)"><B>makeConstructorSig(String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeConstructorSig(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>makeConstructorSig(String, String, String, String, String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeConstructorSig(int, java.lang.Class, java.lang.Class[], java.lang.String[], java.lang.Class[])"><B>makeConstructorSig(int, Class, Class[], String[], Class[])</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeEncSJP(java.lang.reflect.Member)"><B>makeEncSJP(Member)</B></A> - 
Static method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeESJP(java.lang.String, org.aspectj.lang.Signature, org.aspectj.lang.reflect.SourceLocation)"><B>makeESJP(String, Signature, SourceLocation)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeESJP(java.lang.String, org.aspectj.lang.Signature, int, int)"><B>makeESJP(String, Signature, int, int)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeESJP(java.lang.String, org.aspectj.lang.Signature, int)"><B>makeESJP(String, Signature, int)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeFieldSig(java.lang.String)"><B>makeFieldSig(String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeFieldSig(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>makeFieldSig(String, String, String, String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeFieldSig(int, java.lang.String, java.lang.Class, java.lang.Class)"><B>makeFieldSig(int, String, Class, Class)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeInitializerSig(java.lang.String)"><B>makeInitializerSig(String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeInitializerSig(java.lang.String, java.lang.String)"><B>makeInitializerSig(String, String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeInitializerSig(int, java.lang.Class)"><B>makeInitializerSig(int, Class)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeJP(org.aspectj.lang.JoinPoint.StaticPart, java.lang.Object, java.lang.Object)"><B>makeJP(JoinPoint.StaticPart, Object, Object)</B></A> - 
Static method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeJP(org.aspectj.lang.JoinPoint.StaticPart, java.lang.Object, java.lang.Object, java.lang.Object)"><B>makeJP(JoinPoint.StaticPart, Object, Object, Object)</B></A> - 
Static method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeJP(org.aspectj.lang.JoinPoint.StaticPart, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object)"><B>makeJP(JoinPoint.StaticPart, Object, Object, Object, Object)</B></A> - 
Static method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeJP(org.aspectj.lang.JoinPoint.StaticPart, java.lang.Object, java.lang.Object, java.lang.Object[])"><B>makeJP(JoinPoint.StaticPart, Object, Object, Object[])</B></A> - 
Static method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeLockSig(java.lang.String)"><B>makeLockSig(String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeLockSig()"><B>makeLockSig()</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeLockSig(java.lang.Class)"><B>makeLockSig(Class)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeMethodSig(java.lang.String)"><B>makeMethodSig(String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeMethodSig(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>makeMethodSig(String, String, String, String, String, String, String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeMethodSig(int, java.lang.String, java.lang.Class, java.lang.Class[], java.lang.String[], java.lang.Class[], java.lang.Class)"><B>makeMethodSig(int, String, Class, Class[], String[], Class[], Class)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeSJP(java.lang.String, org.aspectj.lang.Signature, org.aspectj.lang.reflect.SourceLocation)"><B>makeSJP(String, Signature, SourceLocation)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeSJP(java.lang.String, org.aspectj.lang.Signature, int, int)"><B>makeSJP(String, Signature, int, int)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeSJP(java.lang.String, org.aspectj.lang.Signature, int)"><B>makeSJP(String, Signature, int)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeSourceLoc(int, int)"><B>makeSourceLoc(int, int)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeUnlockSig(java.lang.String)"><B>makeUnlockSig(String)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeUnlockSig()"><B>makeUnlockSig()</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/runtime/reflect/Factory.html#makeUnlockSig(java.lang.Class)"><B>makeUnlockSig(Class)</B></A> - 
Method in class org.aspectj.runtime.reflect.<A HREF="./org/aspectj/runtime/reflect/Factory.html" title="class in org.aspectj.runtime.reflect">Factory</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/reflect/MemberSignature.html" title="interface in org.aspectj.lang.reflect"><B>MemberSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</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" title="interface in org.aspectj.lang">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" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>The legal return values from getKind()
<DT><A HREF="./org/aspectj/lang/reflect/MethodSignature.html" title="interface in org.aspectj.lang.reflect"><B>MethodSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;</DL>
<HR>
<A NAME="_N_"><!-- --></A><H2>
<B>N</B></H2>
<DL>
<DT><A HREF="./org/aspectj/lang/NoAspectBoundException.html" title="class in org.aspectj.lang"><B>NoAspectBoundException</B></A> - Exception in <A HREF="./org/aspectj/lang/package-summary.html">org.aspectj.lang</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(java.lang.String, java.lang.Throwable)"><B>NoAspectBoundException(String, Throwable)</B></A> - 
Constructor for exception org.aspectj.lang.<A HREF="./org/aspectj/lang/NoAspectBoundException.html" title="class in org.aspectj.lang">NoAspectBoundException</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/NoAspectBoundException.html#NoAspectBoundException()"><B>NoAspectBoundException()</B></A> - 
Constructor for exception org.aspectj.lang.<A HREF="./org/aspectj/lang/NoAspectBoundException.html" title="class in org.aspectj.lang">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/runtime/reflect/package-summary.html"><B>org.aspectj.runtime.reflect</B></A> - package org.aspectj.runtime.reflect<DD>&nbsp;</DL>
<HR>
<A NAME="_P_"><!-- --></A><H2>
<B>P</B></H2>
<DL>
<DT><A HREF="./org/aspectj/lang/JoinPoint.html#PREINITIALIZATION"><B>PREINITIALIZATION</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="./org/aspectj/lang/JoinPoint.html" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/SoftException.html#printStackTrace()"><B>printStackTrace()</B></A> - 
Method in exception org.aspectj.lang.<A HREF="./org/aspectj/lang/SoftException.html" title="class in org.aspectj.lang">SoftException</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/SoftException.html#printStackTrace(java.io.PrintStream)"><B>printStackTrace(PrintStream)</B></A> - 
Method in exception org.aspectj.lang.<A HREF="./org/aspectj/lang/SoftException.html" title="class in org.aspectj.lang">SoftException</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/SoftException.html#printStackTrace(java.io.PrintWriter)"><B>printStackTrace(PrintWriter)</B></A> - 
Method in exception org.aspectj.lang.<A HREF="./org/aspectj/lang/SoftException.html" title="class in org.aspectj.lang">SoftException</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/ProceedingJoinPoint.html#proceed()"><B>proceed()</B></A> - 
Method in interface org.aspectj.lang.<A HREF="./org/aspectj/lang/ProceedingJoinPoint.html" title="interface in org.aspectj.lang">ProceedingJoinPoint</A>
<DD>Proceed with the next advice or target method invocation
<DT><A HREF="./org/aspectj/lang/ProceedingJoinPoint.html#proceed(java.lang.Object[])"><B>proceed(Object[])</B></A> - 
Method in interface org.aspectj.lang.<A HREF="./org/aspectj/lang/ProceedingJoinPoint.html" title="interface in org.aspectj.lang">ProceedingJoinPoint</A>
<DD>Proceed with the next advice or target method invocation
 <p/>
 The given args Object[] must be in the same order and size as the advice signature but
 without the actual joinpoint instance
<DT><A HREF="./org/aspectj/lang/ProceedingJoinPoint.html" title="interface in org.aspectj.lang"><B>ProceedingJoinPoint</B></A> - Interface in <A HREF="./org/aspectj/lang/package-summary.html">org.aspectj.lang</A><DD>ProceedingJoinPoint exposes the proceed(..) method in order to support around advice in @AJ aspects</DL>
<HR>
<A NAME="_S_"><!-- --></A><H2>
<B>S</B></H2>
<DL>
<DT><A HREF="./org/aspectj/lang/ProceedingJoinPoint.html#set$AroundClosure(org.aspectj.runtime.internal.AroundClosure)"><B>set$AroundClosure(AroundClosure)</B></A> - 
Method in interface org.aspectj.lang.<A HREF="./org/aspectj/lang/ProceedingJoinPoint.html" title="interface in org.aspectj.lang">ProceedingJoinPoint</A>
<DD>The joinpoint needs to know about its closure so that proceed can delegate to closure.run()
 <p/>
 This internal method should not be called directly, and won't be visible to the end-user when
 packed in a jar (synthetic method)
<DT><A HREF="./org/aspectj/lang/Signature.html" title="interface in org.aspectj.lang"><B>Signature</B></A> - Interface in <A HREF="./org/aspectj/lang/package-summary.html">org.aspectj.lang</A><DD>Represents the signature at a join point.<DT><A HREF="./org/aspectj/lang/SoftException.html" title="class in org.aspectj.lang"><B>SoftException</B></A> - Exception in <A HREF="./org/aspectj/lang/package-summary.html">org.aspectj.lang</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 exception org.aspectj.lang.<A HREF="./org/aspectj/lang/SoftException.html" title="class in org.aspectj.lang">SoftException</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/reflect/SourceLocation.html" title="interface in org.aspectj.lang.reflect"><B>SourceLocation</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</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" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/JoinPoint.html#SYNCHRONIZATION_LOCK"><B>SYNCHRONIZATION_LOCK</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="./org/aspectj/lang/JoinPoint.html" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>&nbsp;
<DT><A HREF="./org/aspectj/lang/JoinPoint.html#SYNCHRONIZATION_UNLOCK"><B>SYNCHRONIZATION_UNLOCK</B></A> - 
Static variable in interface org.aspectj.lang.<A HREF="./org/aspectj/lang/JoinPoint.html" title="interface in org.aspectj.lang">JoinPoint</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_T_"><!-- --></A><H2>
<B>T</B></H2>
<DL>
<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" title="interface in org.aspectj.lang">JoinPoint.StaticPart</A>
<DD>Returns an extended string representation of the join point
<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" title="interface in org.aspectj.lang">JoinPoint</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" title="interface in org.aspectj.lang">Signature</A>
<DD>Returns an extended string representation of this signature.
<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" title="interface in org.aspectj.lang">JoinPoint.StaticPart</A>
<DD>Returns an abbreviated string representation of the join point
<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" title="interface in org.aspectj.lang">JoinPoint</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" title="interface in org.aspectj.lang">Signature</A>
<DD>Returns an abbreviated string representation of this signature.
<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" title="interface in org.aspectj.lang">JoinPoint.StaticPart</A>
<DD>&nbsp;
<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" title="interface in org.aspectj.lang">JoinPoint</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" title="interface in org.aspectj.lang">Signature</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_U_"><!-- --></A><H2>
<B>U</B></H2>
<DL>
<DT><A HREF="./org/aspectj/lang/reflect/UnlockSignature.html" title="interface in org.aspectj.lang.reflect"><B>UnlockSignature</B></A> - Interface in <A HREF="./org/aspectj/lang/reflect/package-summary.html">org.aspectj.lang.reflect</A><DD>&nbsp;</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="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</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="#_U_">U</A> 

<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <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?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>
