<?php
/**
* データ転送クラス
*
* PHP version 5
*
* @package    core
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

class charcoal_DTO extends ArrayObject
{
	/*
	 *    コンストラクタ
	 */
	public function __construct( $array = NULL )
	{
		if ( $array && is_array($array) ){
			parent::__construct( $array );
		}
	}

	/*
	 * プロパティの取得
	 */
	public function get( $name )
	{
		return ArrayObject::offsetExists($name) ? parent::offsetGet($name) : NULL;
	}

	/*
	 * プロパティの設定
	 */
	public function set( $name, $value )
	{
		parent::offsetSet( $name, $value );
	}

	/*
	 * プロパティの取得
	 */
	public function __get( $name )
	{
		return ArrayObject::offsetExists($name) ? parent::offsetGet($name) : NULL;
	}

	/*
	 * プロパティの設定
	 */
	public function __set( $name, $value )
	{
		parent::offsetSet( $name, $value );
	}

	/*
	 * 文字列化
	 */
	public function __toString()
	{
		return charcoal_System::arrayToString( $this, 'DTO' );
	}
}
