<?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 component-specification PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
  
<component-specification class="org.apache.tapestry.form.Form">

  <description>
  Used to implement an HTML form.
  </description>

  <parameter name="method" type="java.lang.String" direction="in">
    <description>
    The method used by the form when it is submitted, defaults to POST.
    </description>
  </parameter>
  
  <parameter name="listener" 
  	type="org.apache.tapestry.IActionListener" 
  	required="no"
  	direction="in">
    <description>
  	Object invoked when the form is submitted, after all form components have responded
  	to the submission.
    </description>
  </parameter>
  
  <parameter name="stateful" 
  	type="boolean" 
  	direction="custom">
    <description>
    If true (the default), then an active HttpSession is required.
    </description>
  </parameter>
  
  <parameter name="direct" type="boolean" direction="in">
    <description>
    If true (the default), then the more efficient direct service is used.
    If false, then the action service is used.
    </description>
  </parameter>
  
  <parameter name="delegate" 
  	type="org.apache.tapestry.valid.IValidationDelegate" direction="in">
    <description>
    Specifies the delegate to be used by fields to track input errors.
    </description>
  </parameter>

  <reserved-parameter name="action"/>

</component-specification>
