<?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 class="org.apache.tapestry.vlib.pages.ViewPerson">

  <property name="page-type" value="Search"/>

  <property-specification name="personId" type="java.lang.Integer" persistent="yes"/>
  <property-specification name="person" type="org.apache.tapestry.vlib.ejb.Person"/>
  
  <property-specification name="query" type="org.apache.tapestry.vlib.ejb.IBookQuery" persistent="yes"/>
  <property-specification name="currentMatch" type="org.apache.tapestry.vlib.ejb.Book"/>

  <property-specification name="sortColumn" type="org.apache.tapestry.vlib.ejb.SortColumn" persistent="yes">
  	@org.apache.tapestry.vlib.ejb.SortColumn@TITLE
  </property-specification>
  <property-specification name="descending" type="boolean" persistent="yes"/>

  <component id="sortTitle" type="ColumnSorter">
    <binding name="selected" expression="sortColumn"/>
    <binding name="sortColumn" expression="@org.apache.tapestry.vlib.ejb.SortColumn@TITLE"/>
    <binding name="descending" expression="descending"/>
    <binding name="listener" expression="listeners.requery"/>
  </component>   
    
  <component id="sortAuthor" copy-of="sortTitle">
    <binding name="sortColumn" expression="@org.apache.tapestry.vlib.ejb.SortColumn@AUTHOR"/>
  </component>
  
  <component id="sortPublisher" copy-of="sortTitle">
    <binding name="sortColumn" expression="@org.apache.tapestry.vlib.ejb.SortColumn@PUBLISHER"/>	
  </component>
  
  <component id="sortBorrower" copy-of="sortTitle">
    <binding name="sortColumn" expression="@org.apache.tapestry.vlib.ejb.SortColumn@HOLDER"/>
  </component>
  
  <component id="mailLink" type="Any">
    <binding name="href">
    	"mailto:" + person.email
    </binding>
    <static-binding name="element" value="a"/>
  </component>

  <component id="holderLink" type="PersonLink">
    <binding name="id" expression="currentMatch.holderId"/>
    <binding name="name" expression="currentMatch.holderName"/>
    <binding name="omit" expression="! currentMatch.borrowed"/>
  </component>
 
</page-specification>
