<?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="context"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests" />

	<bean id="vanilla"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="bar" />
	</bean>

	<bean id="simple"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="simpleTarget" />
	</bean>

	<bean id="compound"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="compoundTarget" />
	</bean>

	<bean id="ref"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="refTarget" />
	</bean>

	<bean id="value"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="valueTarget" />
	</bean>

	<bean id="withLong"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="withLongTarget" />
	</bean>

	<bean id="withInteger"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="withIntegerTarget" />
	</bean>

	<bean id="withList"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="withListTarget" />
	</bean>

	<bean id="withLiteralList"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="withLiteralListTarget" />
	</bean>

	<bean id="withMap"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="withMapTarget" />
	</bean>

	<bean id="withMultiple"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="withMultipleTarget" />
	</bean>

	<bean id="withMultipleStartAndEnd"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="withMultipleStartAndEndTarget" />
	</bean>

	<bean id="withDate"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="withDateTarget" />
	</bean>

	<bean id="withEmbeddedDate"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSource">
		<property name="contextFactory" ref="context" />
		<property name="targetBeanName" value="withEmbeddedDateTarget" />
	</bean>

	<bean id="bar"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo">
		<property name="name" value="foo" />
	</bean>

	<bean id="simpleTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="name" value="%{map['foo.foo']}" />
	</bean>

	<bean id="compoundTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="name" value="%{foo}-bar" />
	</bean>

	<bean id="refTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="parent" ref="%{foo}" />
	</bean>

	<bean id="valueTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="parent" value="%{parent}" />
	</bean>

	<bean id="withLongTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="name" value="bar-%{long}" />
	</bean>

	<bean id="withIntegerTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="name" value="bar-%{integer}" />
	</bean>

	<bean id="withListTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="list">
			<list>
				<value>%{foo}</value>
				<value>foo-%{integer}</value>
				<value>bar-%{integer}</value>
			</list>
		</property>
	</bean>

	<bean id="withLiteralListTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="list" value="%{list}"/>
	</bean>

	<bean id="withMapTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="map">
			<map value-type="java.lang.Object">
				<entry key="foo" value="%{foo}"/>
				<entry key="bar" value="foo-%{integer}"/>
				<entry key="spam" value="%{list}"/>
			</map>
		</property>
	</bean>

	<bean id="withMultipleTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="name" value="bar-%{integer}-%{integer}" />
	</bean>

	<bean id="withMultipleStartAndEndTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="name" value="%{integer}-%{integer}" />
	</bean>

	<bean id="withEmbeddedDateTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="name" value="bar-%{date}" />
	</bean>

	<bean id="withDateTarget"
		class="org.springframework.batch.core.scope.util.PlaceholderTargetSourceTests$Foo"
		lazy-init="true">
		<property name="date" value="%{date}" />
	</bean>

</beans>