<?xml version="1.0" encoding="UTF-8"?>
<aop>
<!-- Instrument the classes for AOP -->
<prepare expr="all(org.jboss.test.aop.bean.Temperature)"/>
<prepare expr="all(org.jboss.test.aop.bean.LogUtil)"/>
<prepare expr="all(org.jboss.test.aop.bean.ObservableTester)"/>
<!-- Make the Temperature POJO a Subject/Observerable -->
<bind pointcut="set(* org.jboss.test.aop.bean.Temperature->*)">
<interceptor class="org.jboss.aop.patterns.observable.SubjectInterceptor"/>
</bind>
<introduction class="org.jboss.test.aop.bean.Temperature">
<mixin>
<interfaces>org.jboss.aop.patterns.observable.Subject</interfaces>
<class>org.jboss.aop.patterns.observable.SubjectImpl</class>
<construction>new org.jboss.aop.patterns.observable.SubjectImpl(this)</construction>
</mixin>
</introduction>
<!-- Make the LogUtil an Observer -->
<introduction class="org.jboss.test.aop.bean.LogUtil">
<mixin>
<interfaces>org.jboss.aop.patterns.observable.Observer</interfaces>
<class>org.jboss.test.aop.bean.LogUtilObserver</class>
<construction>new org.jboss.test.aop.bean.LogUtilObserver(this)</construction>
</mixin>
</introduction>
</aop>