<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xmlns:aop="http://www.springframework.org/schema/aop"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
	   		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

	<aop:config>
		<aop:aspect id="beforeAdviceBindingTests" ref="introduction">
			<aop:declare-parents
					types-matching="org.springframework.beans..*"
			    implement-interface="test.mixin.Lockable"
					default-impl="test.mixin.DefaultLockable"
			/>
			<aop:before
					method="checkNotLocked"
					pointcut="execution(* set*(*)) and this(mixin)"
					arg-names="mixin"
			/>
		</aop:aspect>		
	</aop:config>

	<bean id="introduction" class="org.springframework.aop.aspectj.NonAnnotatedMakeLockable"/>

	<bean id="testBean" class="org.springframework.beans.TestBean"/>

</beans>
