blob: 7a107a432b06c0f2c92dc3139b29486531eeea41 [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:45 BST 2006 -->
<TITLE>
WeavingAdaptor (AspectJ(tm) weaver API)
</TITLE>
<META NAME="keywords" CONTENT="org.aspectj.weaver.tools.WeavingAdaptor class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="WeavingAdaptor (AspectJ(tm) weaver 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/weaver/tools/UnsupportedPointcutPrimitiveException.html" title="class in org.aspectj.weaver.tools"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html" title="class in org.aspectj.weaver.tools"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/aspectj/weaver/tools/WeavingAdaptor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="WeavingAdaptor.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;<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>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.aspectj.weaver.tools</FONT>
<BR>
Class WeavingAdaptor</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.aspectj.weaver.tools.WeavingAdaptor</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.html" title="class in org.aspectj.weaver.loadtime">ClassLoaderWeavingAdaptor</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>WeavingAdaptor</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
This adaptor allows the AspectJ compiler to be embedded in an existing
system to facilitate load-time weaving. It provides an interface for a
weaving class loader to provide a classpath to be woven by a set of
aspects. A callback is supplied to allow a class loader to define classes
generated by the compiler during the weaving process.
<p>
A weaving class loader should create a <code>WeavingAdaptor</code> before
any classes are defined, typically during construction. The set of aspects
passed to the adaptor is fixed for the lifetime of the adaptor although the
classpath can be augmented. A system property can be set to allow verbose
weaving messages to be written to the console.
<P>
<P>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="nested_class_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>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html" title="class in org.aspectj.weaver.tools">WeavingAdaptor.WeavingAdaptorMessageHandler</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Processes messages arising from weaver operations.</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_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>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;org.aspectj.weaver.bcel.BcelWorld</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#bcelWorld">bcelWorld</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#enabled">enabled</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#generatedClasses">generatedClasses</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/aspectj/weaver/tools/GeneratedClassHandler.html" title="interface in org.aspectj.weaver.tools">GeneratedClassHandler</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#generatedClassHandler">generatedClassHandler</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#SHOW_WEAVE_INFO_PROPERTY">SHOW_WEAVE_INFO_PROPERTY</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#verbose">verbose</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;org.aspectj.weaver.bcel.BcelWeaver</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#weaver">weaver</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#WEAVING_ADAPTOR_VERBOSE">WEAVING_ADAPTOR_VERBOSE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System property used to turn on verbose weaving messages</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#WeavingAdaptor()">WeavingAdaptor</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#WeavingAdaptor(org.aspectj.weaver.tools.GeneratedClassHandler, java.net.URL[], java.net.URL[])">WeavingAdaptor</A></B>(<A HREF="../../../../org/aspectj/weaver/tools/GeneratedClassHandler.html" title="interface in org.aspectj.weaver.tools">GeneratedClassHandler</A>&nbsp;handler,
java.net.URL[]&nbsp;classURLs,
java.net.URL[]&nbsp;aspectURLs)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a WeavingAdator with a reference to a
<code>GeneratedClassHandler</code>, a full search path for resolving
classes and a complete set of aspects.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#WeavingAdaptor(org.aspectj.weaver.tools.WeavingClassLoader)">WeavingAdaptor</A></B>(<A HREF="../../../../org/aspectj/weaver/tools/WeavingClassLoader.html" title="interface in org.aspectj.weaver.tools">WeavingClassLoader</A>&nbsp;loader)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a WeavingAdaptor with a reference to a weaving class loader.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== 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>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#accept(java.lang.String, byte[])">accept</A></B>(java.lang.String&nbsp;name,
byte[]&nbsp;bytes)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#addURL(java.net.URL)">addURL</A></B>(java.net.URL&nbsp;url)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appends URL to path used by the WeavingAdptor to resolve classes</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#dump(java.lang.String, byte[], boolean)">dump</A></B>(java.lang.String&nbsp;name,
byte[]&nbsp;b,
boolean&nbsp;before)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dump the given bytcode in _dump/...</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#error(java.lang.String)">error</A></B>(java.lang.String&nbsp;message)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;org.aspectj.bridge.IMessageHandler</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#getMessageHandler()">getMessageHandler</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#info(java.lang.String)">info</A></B>(java.lang.String&nbsp;message)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#setMessageHandler(org.aspectj.bridge.IMessageHandler)">setMessageHandler</A></B>(org.aspectj.bridge.IMessageHandler&nbsp;mh)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#shouldDump(java.lang.String, boolean)">shouldDump</A></B>(java.lang.String&nbsp;name,
boolean&nbsp;before)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#warn(java.lang.String)">warn</A></B>(java.lang.String&nbsp;message)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#warn(java.lang.String, java.lang.Throwable)">warn</A></B>(java.lang.String&nbsp;message,
java.lang.Throwable&nbsp;th)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.html#weaveClass(java.lang.String, byte[])">weaveClass</A></B>(java.lang.String&nbsp;name,
byte[]&nbsp;bytes)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Weave a class using aspects previously supplied to the adaptor.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_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>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="WEAVING_ADAPTOR_VERBOSE"><!-- --></A><H3>
WEAVING_ADAPTOR_VERBOSE</H3>
<PRE>
public static final java.lang.String <B>WEAVING_ADAPTOR_VERBOSE</B></PRE>
<DL>
<DD>System property used to turn on verbose weaving messages
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.aspectj.weaver.tools.WeavingAdaptor.WEAVING_ADAPTOR_VERBOSE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="SHOW_WEAVE_INFO_PROPERTY"><!-- --></A><H3>
SHOW_WEAVE_INFO_PROPERTY</H3>
<PRE>
public static final java.lang.String <B>SHOW_WEAVE_INFO_PROPERTY</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.aspectj.weaver.tools.WeavingAdaptor.SHOW_WEAVE_INFO_PROPERTY">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="enabled"><!-- --></A><H3>
enabled</H3>
<PRE>
protected boolean <B>enabled</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="verbose"><!-- --></A><H3>
verbose</H3>
<PRE>
protected boolean <B>verbose</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="bcelWorld"><!-- --></A><H3>
bcelWorld</H3>
<PRE>
protected org.aspectj.weaver.bcel.BcelWorld <B>bcelWorld</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="weaver"><!-- --></A><H3>
weaver</H3>
<PRE>
protected org.aspectj.weaver.bcel.BcelWeaver <B>weaver</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="generatedClassHandler"><!-- --></A><H3>
generatedClassHandler</H3>
<PRE>
protected <A HREF="../../../../org/aspectj/weaver/tools/GeneratedClassHandler.html" title="interface in org.aspectj.weaver.tools">GeneratedClassHandler</A> <B>generatedClassHandler</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="generatedClasses"><!-- --></A><H3>
generatedClasses</H3>
<PRE>
protected java.util.Map <B>generatedClasses</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="WeavingAdaptor()"><!-- --></A><H3>
WeavingAdaptor</H3>
<PRE>
protected <B>WeavingAdaptor</B>()</PRE>
<DL>
</DL>
<HR>
<A NAME="WeavingAdaptor(org.aspectj.weaver.tools.WeavingClassLoader)"><!-- --></A><H3>
WeavingAdaptor</H3>
<PRE>
public <B>WeavingAdaptor</B>(<A HREF="../../../../org/aspectj/weaver/tools/WeavingClassLoader.html" title="interface in org.aspectj.weaver.tools">WeavingClassLoader</A>&nbsp;loader)</PRE>
<DL>
<DD>Construct a WeavingAdaptor with a reference to a weaving class loader. The
adaptor will automatically search the class loader hierarchy to resolve
classes. The adaptor will also search the hierarchy for WeavingClassLoader
instances to determine the set of aspects to be used ofr weaving.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>loader</CODE> - instance of <code>ClassLoader</code></DL>
</DL>
<HR>
<A NAME="WeavingAdaptor(org.aspectj.weaver.tools.GeneratedClassHandler, java.net.URL[], java.net.URL[])"><!-- --></A><H3>
WeavingAdaptor</H3>
<PRE>
public <B>WeavingAdaptor</B>(<A HREF="../../../../org/aspectj/weaver/tools/GeneratedClassHandler.html" title="interface in org.aspectj.weaver.tools">GeneratedClassHandler</A>&nbsp;handler,
java.net.URL[]&nbsp;classURLs,
java.net.URL[]&nbsp;aspectURLs)</PRE>
<DL>
<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. The search path must include
classes loaded by the class loader constructing the WeavingAdaptor and
all its parents in the hierarchy.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>handler</CODE> - <code>GeneratedClassHandler</code><DD><CODE>classURLs</CODE> - the URLs from which to resolve classes<DD><CODE>aspectURLs</CODE> - the aspects used to weave classes defined by this class loader</DL>
</DL>
<!-- ============ 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="getMessageHandler()"><!-- --></A><H3>
getMessageHandler</H3>
<PRE>
protected org.aspectj.bridge.IMessageHandler <B>getMessageHandler</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setMessageHandler(org.aspectj.bridge.IMessageHandler)"><!-- --></A><H3>
setMessageHandler</H3>
<PRE>
protected void <B>setMessageHandler</B>(org.aspectj.bridge.IMessageHandler&nbsp;mh)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="addURL(java.net.URL)"><!-- --></A><H3>
addURL</H3>
<PRE>
public void <B>addURL</B>(java.net.URL&nbsp;url)</PRE>
<DL>
<DD>Appends URL to path used by the WeavingAdptor to resolve classes
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>url</CODE> - to be appended to search path</DL>
</DD>
</DL>
<HR>
<A NAME="weaveClass(java.lang.String, byte[])"><!-- --></A><H3>
weaveClass</H3>
<PRE>
public byte[] <B>weaveClass</B>(java.lang.String&nbsp;name,
byte[]&nbsp;bytes)
throws java.io.IOException</PRE>
<DL>
<DD>Weave a class using aspects previously supplied to the adaptor.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the class<DD><CODE>bytes</CODE> - the class bytes
<DT><B>Returns:</B><DD>the woven bytes
<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE> - weave failed</DL>
</DD>
</DL>
<HR>
<A NAME="accept(java.lang.String, byte[])"><!-- --></A><H3>
accept</H3>
<PRE>
protected boolean <B>accept</B>(java.lang.String&nbsp;name,
byte[]&nbsp;bytes)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="shouldDump(java.lang.String, boolean)"><!-- --></A><H3>
shouldDump</H3>
<PRE>
protected boolean <B>shouldDump</B>(java.lang.String&nbsp;name,
boolean&nbsp;before)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="info(java.lang.String)"><!-- --></A><H3>
info</H3>
<PRE>
protected boolean <B>info</B>(java.lang.String&nbsp;message)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="warn(java.lang.String)"><!-- --></A><H3>
warn</H3>
<PRE>
protected boolean <B>warn</B>(java.lang.String&nbsp;message)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="warn(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
warn</H3>
<PRE>
protected boolean <B>warn</B>(java.lang.String&nbsp;message,
java.lang.Throwable&nbsp;th)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="error(java.lang.String)"><!-- --></A><H3>
error</H3>
<PRE>
protected boolean <B>error</B>(java.lang.String&nbsp;message)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="dump(java.lang.String, byte[], boolean)"><!-- --></A><H3>
dump</H3>
<PRE>
protected void <B>dump</B>(java.lang.String&nbsp;name,
byte[]&nbsp;b,
boolean&nbsp;before)</PRE>
<DL>
<DD>Dump the given bytcode in _dump/... (dev mode)
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - <DD><CODE>b</CODE> - <DD><CODE>before</CODE> - whether we are dumping before weaving
<DT><B>Throws:</B>
<DD><CODE>java.lang.Throwable</CODE></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/weaver/tools/UnsupportedPointcutPrimitiveException.html" title="class in org.aspectj.weaver.tools"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/aspectj/weaver/tools/WeavingAdaptor.WeavingAdaptorMessageHandler.html" title="class in org.aspectj.weaver.tools"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/aspectj/weaver/tools/WeavingAdaptor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="WeavingAdaptor.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;<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>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>