blob: 59476881235e8cff560e69b4164172eb12bd6f99 [file] [log] [blame]
<!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:40 BST 2006 -->
<TITLE>
Signature (AspectJ(tm) runtime API)
</TITLE>
<META NAME="keywords" CONTENT="org.aspectj.lang.Signature interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="Signature (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"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-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="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&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;<A HREF="../../../org/aspectj/lang/ProceedingJoinPoint.html" title="interface in org.aspectj.lang"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/aspectj/lang/SoftException.html" title="class in org.aspectj.lang"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/aspectj/lang/Signature.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Signature.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>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.aspectj.lang</FONT>
<BR>
Interface Signature</H2>
<DL>
<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../org/aspectj/lang/reflect/AdviceSignature.html" title="interface in org.aspectj.lang.reflect">AdviceSignature</A>, <A HREF="../../../org/aspectj/lang/reflect/CatchClauseSignature.html" title="interface in org.aspectj.lang.reflect">CatchClauseSignature</A>, <A HREF="../../../org/aspectj/lang/reflect/CodeSignature.html" title="interface in org.aspectj.lang.reflect">CodeSignature</A>, <A HREF="../../../org/aspectj/lang/reflect/ConstructorSignature.html" title="interface in org.aspectj.lang.reflect">ConstructorSignature</A>, <A HREF="../../../org/aspectj/lang/reflect/FieldSignature.html" title="interface in org.aspectj.lang.reflect">FieldSignature</A>, <A HREF="../../../org/aspectj/lang/reflect/InitializerSignature.html" title="interface in org.aspectj.lang.reflect">InitializerSignature</A>, <A HREF="../../../org/aspectj/lang/reflect/LockSignature.html" title="interface in org.aspectj.lang.reflect">LockSignature</A>, <A HREF="../../../org/aspectj/lang/reflect/MemberSignature.html" title="interface in org.aspectj.lang.reflect">MemberSignature</A>, <A HREF="../../../org/aspectj/lang/reflect/MethodSignature.html" title="interface in org.aspectj.lang.reflect">MethodSignature</A>, <A HREF="../../../org/aspectj/lang/reflect/UnlockSignature.html" title="interface in org.aspectj.lang.reflect">UnlockSignature</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/aspectj/runtime/reflect/FieldSignatureImpl.html" title="class in org.aspectj.runtime.reflect">FieldSignatureImpl</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>Signature</B></DL>
</PRE>
<P>
<p>Represents the signature at a join point. This interface parallels
<code>java.lang.reflect.Member</code>. </p>
<p>This interface is typically used for tracing or logging applications
to obtain reflective information about the join point, i.e. using
the j2se 1.4 <code>java.util.logging</code> API</p>
<pre>
aspect Logging {
Logger logger = Logger.getLogger("MethodEntries");
before(): within(com.bigboxco..*) && execution(public * *(..)) {
Signature sig = thisJoinPoint.getSignature();
logger.entering(sig.getDeclaringType().getName(),
sig.getName());
}
}
</pre>
<p>More detailed information about a specific kind of signature can
be obtained by casting this <code>Signature</code> object into one
of its more specific sub-types available in
<code>org.aspectj.lang.reflect</code>.
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><CODE>Member</CODE>,
<CODE>java.util.logging.Logger</CODE></DL>
<HR>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/aspectj/lang/Signature.html#getDeclaringType()">getDeclaringType</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>java.lang.Class</code> object representing the class,
interface, or aspect that declared this member.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/aspectj/lang/Signature.html#getDeclaringTypeName()">getDeclaringTypeName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the fully-qualified name of the declaring type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/aspectj/lang/Signature.html#getModifiers()">getModifiers</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the modifiers on this signature represented as an int.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/aspectj/lang/Signature.html#getName()">getName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the identifier part of this signature.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/aspectj/lang/Signature.html#toLongString()">toLongString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an extended string representation of this signature.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/aspectj/lang/Signature.html#toShortString()">toShortString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an abbreviated string representation of this signature.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/aspectj/lang/Signature.html#toString()">toString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
java.lang.String <B>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="toShortString()"><!-- --></A><H3>
toShortString</H3>
<PRE>
java.lang.String <B>toShortString</B>()</PRE>
<DL>
<DD>Returns an abbreviated string representation of this signature.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="toLongString()"><!-- --></A><H3>
toLongString</H3>
<PRE>
java.lang.String <B>toLongString</B>()</PRE>
<DL>
<DD>Returns an extended string representation of this signature.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getName()"><!-- --></A><H3>
getName</H3>
<PRE>
java.lang.String <B>getName</B>()</PRE>
<DL>
<DD>Returns the identifier part of this signature. For methods this
will return the method name.
<P>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Member.getName()</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getModifiers()"><!-- --></A><H3>
getModifiers</H3>
<PRE>
int <B>getModifiers</B>()</PRE>
<DL>
<DD>Returns the modifiers on this signature represented as an int. Use
the constants and helper methods defined on
<code>java.lang.reflect.Modifier</code> to manipulate this, i.e.
<pre>
// check if this signature is public
java.lang.reflect.Modifier.isPublic(sig.getModifiers());
// print out the modifiers
java.lang.reflect.Modifier.toString(sig.getModifiers());
</pre>
<P>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Member.getModifiers()</CODE>,
<CODE>Modifier</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getDeclaringType()"><!-- --></A><H3>
getDeclaringType</H3>
<PRE>
java.lang.Class <B>getDeclaringType</B>()</PRE>
<DL>
<DD><p>Returns a <code>java.lang.Class</code> object representing the class,
interface, or aspect that declared this member. For intra-member
declarations, this will be the type on which the member is declared,
not the type where the declaration is lexically written. Use
<code>SourceLocation.getWithinType()</code> to get the type in
which the declaration occurs lexically.</p>
<p>For consistency with <code>java.lang.reflect.Member</code>, this
method should have been named <code>getDeclaringClass()</code>.</p>
<P>
<DD><DL>
<DT><B>See Also:</B><DD><CODE>Member.getDeclaringClass()</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getDeclaringTypeName()"><!-- --></A><H3>
getDeclaringTypeName</H3>
<PRE>
java.lang.String <B>getDeclaringTypeName</B>()</PRE>
<DL>
<DD>Returns the fully-qualified name of the declaring type. This is
equivalent to calling getDeclaringType().getName(), but caches
the result for greater efficiency.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= 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"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-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="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&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;<A HREF="../../../org/aspectj/lang/ProceedingJoinPoint.html" title="interface in org.aspectj.lang"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/aspectj/lang/SoftException.html" title="class in org.aspectj.lang"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/aspectj/lang/Signature.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Signature.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>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>