<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright 2004 The Apache Software Foundation
  
   Licensed 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.
-->
<!-- $Id$ -->
<!DOCTYPE page-specification PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">

<page-specification>
	
	<property-specification name="booleanProperty" type="boolean" persistent="yes" initial-value="true"/>
	<property-specification name="intProperty" type="int" persistent="yes" initial-value="-3"/>
	<property-specification name="doubleProperty" type="double" persistent="yes" initial-value="10.5"/>
	<property-specification name="stringProperty" type="java.lang.String"
			persistent="yes">
		"Pink Floyd"	
	</property-specification>
	<property-specification name="objectProperty" type="java.util.Locale" persistent="yes">
		@java.util.Locale@ENGLISH	
	</property-specification>
	
	
	<component id="flicker" type="Flicker">
	  <binding name="boolValue" expression="booleanProperty"/>
	  <binding name="intValue" expression="intProperty"/>
	  <binding name="doubleValue" expression="doubleProperty"/>
	  <binding name="stringValue" expression="stringProperty"/>
	  <binding name="objectValue" expression="objectProperty"/>	
	</component>
	
</page-specification>
