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

	<bean id="simple" class="org.springframework.batch.core.scope.TestCollaborator" scope="step">
		<property name="name" value="#{stepExecutionContext[foo]}" />
	</bean>

	<bean id="simpleProxyTargetClassTrue" class="org.springframework.batch.core.scope.TestCollaborator" scope="step">
	    <aop:scoped-proxy proxy-target-class="true"/>
		<property name="name" value="#{stepExecutionContext[foo]}" />
	</bean>

	<bean id="simpleProxyTargetClassFalse" class="org.springframework.batch.core.scope.TestCollaborator" scope="step">
	    <aop:scoped-proxy proxy-target-class="false"/>
		<property name="name" value="#{stepExecutionContext[foo]}" />
	</bean>
	
	<bean id="nested" class="org.springframework.batch.core.scope.TestStep">
		<property name="collaborator">
			<bean class="org.springframework.batch.core.scope.TestCollaborator">
				<property name="name" value="foo" />
				<property name="parent">
					<bean class="org.springframework.batch.core.scope.TestCollaborator" scope="step">
						<property name="name" value="#{stepExecutionContext[foo]}" />
					</bean>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="nestedProxyTargetClassTrue" class="org.springframework.batch.core.scope.TestStep">
		<property name="collaborator">
			<bean class="org.springframework.batch.core.scope.TestCollaborator">
				<property name="name" value="foo" />
				<property name="parent">
					<bean class="org.springframework.batch.core.scope.TestCollaborator" scope="step">
					    <aop:scoped-proxy proxy-target-class="true"/>
						<property name="name" value="#{stepExecutionContext[foo]}" />
					</bean>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="nestedProxyTargetClassFalse" class="org.springframework.batch.core.scope.TestStep">
		<property name="collaborator">
			<bean class="org.springframework.batch.core.scope.TestCollaborator">
				<property name="name" value="foo" />
				<property name="parent">
					<bean class="org.springframework.batch.core.scope.TestCollaborator" scope="step">
					    <aop:scoped-proxy proxy-target-class="false"/>
						<property name="name" value="#{stepExecutionContext[foo]}" />
					</bean>
				</property>
			</bean>
		</property>
	</bean>
				
	<bean class="org.springframework.batch.core.scope.StepScope">
		<property name="proxyTargetClass" value="true"/>
	</bean>

</beans>