<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

  Author: bfoster (Brian Foster)
-->
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

	<bean id="printHelloWorld" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
		<property name="shortOption" value="phw" />
		<property name="longOption" value="printHelloWorld" />
		<property name="description" value="Print Hello World" />
		<property name="hasArgs" value="false" />
		<property name="staticArgs">
			<list>
				<value>Hello World!</value>
			</list>
		</property>
		<property name="requirementRules">
			<list>
				<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
					p:actionName="PrintMessageAction" p:relation="OPTIONAL" />
			</list>
		</property>
		<property name="handler">
			<bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
				<property name="applyToActions">
					<list>
						<bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
							p:actionName="PrintMessageAction" p:methodName="setMessage" />
					</list>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="printMessage" class="org.apache.oodt.cas.cli.option.AdvancedCmdLineOption">
		<property name="shortOption" value="pm" />
		<property name="longOption" value="printMessage" />
		<property name="description" value="Message to print out" />
		<property name="hasArgs" value="true" />
		<property name="argsDescription" value="message" />
		<property name="requirementRules">
			<list>
				<bean class="org.apache.oodt.cas.cli.option.require.ActionDependencyRule"
					p:actionName="PrintMessageAction" p:relation="REQUIRED" />
			</list>
		</property>
		<property name="handler">
			<bean class="org.apache.oodt.cas.cli.option.handler.ApplyToActionHandler">
				<property name="applyToActions">
					<list>
						<bean class="org.apache.oodt.cas.cli.option.handler.ApplyToAction"
							p:actionName="PrintMessageAction" p:methodName="setMessage" />
					</list>
				</property>
			</bean>
		</property>
	</bean>
</beans>
