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

	<!-- Simple target -->
	<object id="Test" type="Spring.Objects.SerializablePerson">	
		<property name="name"><value>custom</value></property>
		<property name="age"><value>666</value></property>
	</object>
	
	<object id="NopInterceptor" type="Spring.Aop.Interceptor.SerializableNopInterceptor">
	</object>
	
	<object id="SettersAdvisor" type="Spring.Aop.Support.RegularExpressionMethodPointcutAdvisor">
		<property name="advice"><ref local="NopInterceptor"/></property>
		<property name="pattern"><value>.*Set.*</value></property>
	</object>
	
	<object id="SettersAdvised" type="Spring.Aop.Framework.ProxyFactoryObject">	
		<property name="proxyInterfaces"><value>Spring.Objects.IPerson</value></property>		
		<property name="target"><ref local="Test"/></property>	
		<property name="interceptorNames"><value>SettersAdvisor</value></property>		
	</object>
	
	<object id="SerializableSettersAdvised" type="Spring.Aop.Framework.ProxyFactoryObject">	
		<property name="proxyInterfaces"><value>Spring.Objects.IPerson</value></property>		
		<property name="target">
			<object type="Spring.Objects.SerializablePerson">
				<property name="name"><value>SerializableSettersAdvised</value></property>
			</object>
		</property>
		<property name="interceptorNames"><value>SettersAdvisor</value></property>	
	</object>
	
	<!-- Illustrates use of multiple patterns -->
	<object id="SettersAndReturnsThisAdvisor" type="Spring.Aop.Support.RegularExpressionMethodPointcutAdvisor">
		<property name="advice"><ref local="NopInterceptor"/></property>
		<property name="patterns">
			<list>
				<value>.*Set.*</value>
				<value>.*ReturnsThis</value>
			</list>
		</property>
	</object>
	
	<object id="SettersAndReturnsThisAdvised" type="Spring.Aop.Framework.ProxyFactoryObject">	
		<property name="proxyInterfaces"><value>Spring.Objects.IPerson</value></property>		
		
		<property name="proxyTargetType"><value>true</value></property>
		<property name="target"><ref local="Test"/></property>	
		<property name="interceptorNames"><value>SettersAndReturnsThisAdvisor</value></property>		
	</object>
	
</objects>
	
	