<?php
/**
* 真偽値クラス
*
* PHP version 5
*
* @package    base
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

class Boolean
{
	private $_value;

	/*
	 *	コンストラクタ
	 */
	public function __construct( $value )
	{
		if ( is_null($value) ){
			_throw( new NullPointerException() );
		}
		if ( gettype($value) !== 'boolean' ){
			_throw( new BooleanFormatException( System::toString($value) ) );
		}
		$this->_value      = $value;
	}

	/*
	 *	値を取得
	 */
	public function getValue()
	{
		return $this->_value;
	}

	/*
	 *	真か
	 */
	public function isTrue()
	{
		return $this->_value ? TRUE : FALSE;
	}

	/*
	 *	偽か
	 */
	public function isFalse()
	{
		return $this->_value ? FALSE : TRUE;
	}

	/*
	 *	文字列化
	 */
	public function __toString()
	{
		return $this->_value ? 'TRUE' : 'FALSE';
	}

}
return __FILE__;
