<?php
/**
* フォームを定義するインタフェース
*
* PHP version 5
*
* @package    interfaces
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

interface IForm extends IObject
{
	/*
	 * フォームを初期化する
	 */
	public function init( Config $config );

	/*
	 * フォーム値を取得する
	 */
	public function get( $key );

	/*
	 * フォームに関連付けられたDTOを取得
	 */
	public function getDTO();

	/*
	 * フォームモデルを取得
	 */
	public function getFormModel();

	/*
	 * DTOからフォームの入力を行う
	 */
	public function inputDTO( DTO $dto, IModel $model = NULL );

	/*
	 * Eventからフォームの入力を行う
	 */
	public function inputEvent( IEvent $event );

	/*
	 * フォームの値をDTOに変換する
	 */
	public function toDTO( IModel $model );

	/*
	 * フォームのバリデートを行う
	 */
	public function validate();

	/*
	 * HTMLオブジェクトに変換
	 */
	public function toHTMLObject( $read_only = FALSE );


}

return __FILE__;