<?php
// autogenerated file 26.07.2010 14:55
// $Id: $
// $Log: $
//
//
require_once 'EbatNs_ComplexType.php';
require_once 'AccessRuleStatusCodeType.php';
require_once 'AccessRuleCurrentStatusCodeType.php';

/**
 * Contains the definition of a rule that governs the number of times 
 * yourapplication can access the eBay API (invoke a call) on an hourly, daily, 
 * orperiodic basis. 
 *
 * @link http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/types/ApiAccessRuleType.html
 *
 */
class ApiAccessRuleType extends EbatNs_ComplexType
{
	/**
	 * @var string
	 */
	protected $CallName;
	/**
	 * @var boolean
	 */
	protected $CountsTowardAggregate;
	/**
	 * @var long
	 */
	protected $DailyHardLimit;
	/**
	 * @var long
	 */
	protected $DailySoftLimit;
	/**
	 * @var long
	 */
	protected $DailyUsage;
	/**
	 * @var long
	 */
	protected $HourlyHardLimit;
	/**
	 * @var long
	 */
	protected $HourlySoftLimit;
	/**
	 * @var long
	 */
	protected $HourlyUsage;
	/**
	 * @var int
	 */
	protected $Period;
	/**
	 * @var long
	 */
	protected $PeriodicHardLimit;
	/**
	 * @var long
	 */
	protected $PeriodicSoftLimit;
	/**
	 * @var long
	 */
	protected $PeriodicUsage;
	/**
	 * @var dateTime
	 */
	protected $PeriodicStartDate;
	/**
	 * @var dateTime
	 */
	protected $ModTime;
	/**
	 * @var AccessRuleCurrentStatusCodeType
	 */
	protected $RuleCurrentStatus;
	/**
	 * @var AccessRuleStatusCodeType
	 */
	protected $RuleStatus;

	/**
	 * @return string
	 */
	function getCallName()
	{
		return $this->CallName;
	}
	/**
	 * @return void
	 * @param string $value 
	 */
	function setCallName($value)
	{
		$this->CallName = $value;
	}
	/**
	 * @return boolean
	 */
	function getCountsTowardAggregate()
	{
		return $this->CountsTowardAggregate;
	}
	/**
	 * @return void
	 * @param boolean $value 
	 */
	function setCountsTowardAggregate($value)
	{
		$this->CountsTowardAggregate = $value;
	}
	/**
	 * @return long
	 */
	function getDailyHardLimit()
	{
		return $this->DailyHardLimit;
	}
	/**
	 * @return void
	 * @param long $value 
	 */
	function setDailyHardLimit($value)
	{
		$this->DailyHardLimit = $value;
	}
	/**
	 * @return long
	 */
	function getDailySoftLimit()
	{
		return $this->DailySoftLimit;
	}
	/**
	 * @return void
	 * @param long $value 
	 */
	function setDailySoftLimit($value)
	{
		$this->DailySoftLimit = $value;
	}
	/**
	 * @return long
	 */
	function getDailyUsage()
	{
		return $this->DailyUsage;
	}
	/**
	 * @return void
	 * @param long $value 
	 */
	function setDailyUsage($value)
	{
		$this->DailyUsage = $value;
	}
	/**
	 * @return long
	 */
	function getHourlyHardLimit()
	{
		return $this->HourlyHardLimit;
	}
	/**
	 * @return void
	 * @param long $value 
	 */
	function setHourlyHardLimit($value)
	{
		$this->HourlyHardLimit = $value;
	}
	/**
	 * @return long
	 */
	function getHourlySoftLimit()
	{
		return $this->HourlySoftLimit;
	}
	/**
	 * @return void
	 * @param long $value 
	 */
	function setHourlySoftLimit($value)
	{
		$this->HourlySoftLimit = $value;
	}
	/**
	 * @return long
	 */
	function getHourlyUsage()
	{
		return $this->HourlyUsage;
	}
	/**
	 * @return void
	 * @param long $value 
	 */
	function setHourlyUsage($value)
	{
		$this->HourlyUsage = $value;
	}
	/**
	 * @return int
	 */
	function getPeriod()
	{
		return $this->Period;
	}
	/**
	 * @return void
	 * @param int $value 
	 */
	function setPeriod($value)
	{
		$this->Period = $value;
	}
	/**
	 * @return long
	 */
	function getPeriodicHardLimit()
	{
		return $this->PeriodicHardLimit;
	}
	/**
	 * @return void
	 * @param long $value 
	 */
	function setPeriodicHardLimit($value)
	{
		$this->PeriodicHardLimit = $value;
	}
	/**
	 * @return long
	 */
	function getPeriodicSoftLimit()
	{
		return $this->PeriodicSoftLimit;
	}
	/**
	 * @return void
	 * @param long $value 
	 */
	function setPeriodicSoftLimit($value)
	{
		$this->PeriodicSoftLimit = $value;
	}
	/**
	 * @return long
	 */
	function getPeriodicUsage()
	{
		return $this->PeriodicUsage;
	}
	/**
	 * @return void
	 * @param long $value 
	 */
	function setPeriodicUsage($value)
	{
		$this->PeriodicUsage = $value;
	}
	/**
	 * @return dateTime
	 */
	function getPeriodicStartDate()
	{
		return $this->PeriodicStartDate;
	}
	/**
	 * @return void
	 * @param dateTime $value 
	 */
	function setPeriodicStartDate($value)
	{
		$this->PeriodicStartDate = $value;
	}
	/**
	 * @return dateTime
	 */
	function getModTime()
	{
		return $this->ModTime;
	}
	/**
	 * @return void
	 * @param dateTime $value 
	 */
	function setModTime($value)
	{
		$this->ModTime = $value;
	}
	/**
	 * @return AccessRuleCurrentStatusCodeType
	 */
	function getRuleCurrentStatus()
	{
		return $this->RuleCurrentStatus;
	}
	/**
	 * @return void
	 * @param AccessRuleCurrentStatusCodeType $value 
	 */
	function setRuleCurrentStatus($value)
	{
		$this->RuleCurrentStatus = $value;
	}
	/**
	 * @return AccessRuleStatusCodeType
	 */
	function getRuleStatus()
	{
		return $this->RuleStatus;
	}
	/**
	 * @return void
	 * @param AccessRuleStatusCodeType $value 
	 */
	function setRuleStatus($value)
	{
		$this->RuleStatus = $value;
	}
	/**
	 * @return 
	 */
	function __construct()
	{
		parent::__construct('ApiAccessRuleType', 'urn:ebay:apis:eBLBaseComponents');
		if (!isset(self::$_elements[__CLASS__]))
				self::$_elements[__CLASS__] = array_merge(self::$_elements[get_parent_class()],
				array(
					'CallName' =>
					array(
						'required' => false,
						'type' => 'string',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'CountsTowardAggregate' =>
					array(
						'required' => false,
						'type' => 'boolean',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'DailyHardLimit' =>
					array(
						'required' => false,
						'type' => 'long',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'DailySoftLimit' =>
					array(
						'required' => false,
						'type' => 'long',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'DailyUsage' =>
					array(
						'required' => false,
						'type' => 'long',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'HourlyHardLimit' =>
					array(
						'required' => false,
						'type' => 'long',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'HourlySoftLimit' =>
					array(
						'required' => false,
						'type' => 'long',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'HourlyUsage' =>
					array(
						'required' => false,
						'type' => 'long',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'Period' =>
					array(
						'required' => false,
						'type' => 'int',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'PeriodicHardLimit' =>
					array(
						'required' => false,
						'type' => 'long',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'PeriodicSoftLimit' =>
					array(
						'required' => false,
						'type' => 'long',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'PeriodicUsage' =>
					array(
						'required' => false,
						'type' => 'long',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'PeriodicStartDate' =>
					array(
						'required' => false,
						'type' => 'dateTime',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'ModTime' =>
					array(
						'required' => false,
						'type' => 'dateTime',
						'nsURI' => 'http://www.w3.org/2001/XMLSchema',
						'array' => false,
						'cardinality' => '0..1'
					),
					'RuleCurrentStatus' =>
					array(
						'required' => false,
						'type' => 'AccessRuleCurrentStatusCodeType',
						'nsURI' => 'urn:ebay:apis:eBLBaseComponents',
						'array' => false,
						'cardinality' => '0..1'
					),
					'RuleStatus' =>
					array(
						'required' => false,
						'type' => 'AccessRuleStatusCodeType',
						'nsURI' => 'urn:ebay:apis:eBLBaseComponents',
						'array' => false,
						'cardinality' => '0..1'
					)
				));
	}
}
?>
