blob: 09558f9b458be3d25c502a7170b72dee5136c6d6 [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Load-time Weaving Requirements</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM 5 Development Kit Developer's Notebook"><link rel="up" href="ltw.html" title="Chapter 12. Load-Time Weaving"><link rel="previous" href="ltw.html" title="Chapter 12. Load-Time Weaving"><link rel="next" href="ltw-configuration.html" title="Configuration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Load-time Weaving Requirements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ltw.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter 12. Load-Time Weaving</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ltw-configuration.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="ltw-rules"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="ltw-rules"></a>Load-time Weaving Requirements</h2></div></div><p> All load-time weaving is done in the context of a class loader, and hence the set of
aspects used for weaving and the types that can be woven are affected by the class
loader delegation model. This ensures that LTW complies with the Java 2 security model.
The following rules govern the interaction of load-time weaving with class loading: </p><div class="orderedlist"><ol type="1"><li><a name="d0e4151"></a> All aspects to be used for weaving must be defined to the weaver before any
types to be woven are loaded.</li><li><a name="d0e4153"></a> All abstract and concrete aspects visible to the weaver
are available for extending (abstract aspects) and using for weaving.
A visible aspect is one defined by the
weaving class loader or one of its parent class loaders.</li><li><a name="d0e4155"></a>A class loader may only weave classes that it defines. It may not weave
classes loaded by a delegate or parent class loader.</li></ol></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ltw.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ltw-configuration.html">Next</a></td></tr><tr><td width="40%" align="left">Chapter 12. Load-Time Weaving&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ltw.html">Up</a></td><td width="40%" align="right">&nbsp;Configuration</td></tr></table></div></body></html>