<?php
/**
* モデルを定義するインタフェース
*
* PHP version 5
*
* @package    interfaces
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/
interface IModel extends IObject
{
	/**
	 * モデルIDを取得
	 */
	public function getModelID();

	/**
	 * フィールド一覧を取得
	 */
	public function getFieldList();

	/**
	 * フィールドが存在するか
	 */
	public function fieldExists( String $field_name );

	/*
	 *   アノテーションを取得
	 */
	public function getAnnotation( String $field, String $type );

	/*
	 *   アノテーション設定値を取得
	 */
	public function getAnnotationValue( String $field, String $type, $defaultValue = NULL );

	/*
	 *   アノテーション設定値を設定
	 */
	public function setAnnotationValue( String $field, String $type, String $value );
}
return __FILE__;
