<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Expense_Rate_Table_RuleType StructType
 * Meta information extracted from the WSDL
 * - documentation: Wrapper Element that includes Expense Rate Table Rule Instance and Data
 * @subpackage Structs
 */
class Expense_Rate_Table_RuleType extends AbstractStructBase
{
    /**
     * The Expense_Rate_Table_Rule_Reference
     * Meta information extracted from the WSDL
     * - documentation: Expense Item Group Reference
     * - minOccurs: 0
     * @var \StructType\Condition_RuleObjectType
     */
    public $Expense_Rate_Table_Rule_Reference;
    /**
     * The Expense_Rate_Table_Rule_Data
     * Meta information extracted from the WSDL
     * - documentation: Element containing Condition Rule data
     * - minOccurs: 0
     * @var \StructType\Expense_Rate_Table_Rule_DataType
     */
    public $Expense_Rate_Table_Rule_Data;
    /**
     * Constructor method for Expense_Rate_Table_RuleType
     * @uses Expense_Rate_Table_RuleType::setExpense_Rate_Table_Rule_Reference()
     * @uses Expense_Rate_Table_RuleType::setExpense_Rate_Table_Rule_Data()
     * @param \StructType\Condition_RuleObjectType $expense_Rate_Table_Rule_Reference
     * @param \StructType\Expense_Rate_Table_Rule_DataType $expense_Rate_Table_Rule_Data
     */
    public function __construct(\StructType\Condition_RuleObjectType $expense_Rate_Table_Rule_Reference = null, \StructType\Expense_Rate_Table_Rule_DataType $expense_Rate_Table_Rule_Data = null)
    {
        $this
            ->setExpense_Rate_Table_Rule_Reference($expense_Rate_Table_Rule_Reference)
            ->setExpense_Rate_Table_Rule_Data($expense_Rate_Table_Rule_Data);
    }
    /**
     * Get Expense_Rate_Table_Rule_Reference value
     * @return \StructType\Condition_RuleObjectType|null
     */
    public function getExpense_Rate_Table_Rule_Reference()
    {
        return $this->Expense_Rate_Table_Rule_Reference;
    }
    /**
     * Set Expense_Rate_Table_Rule_Reference value
     * @param \StructType\Condition_RuleObjectType $expense_Rate_Table_Rule_Reference
     * @return \StructType\Expense_Rate_Table_RuleType
     */
    public function setExpense_Rate_Table_Rule_Reference(\StructType\Condition_RuleObjectType $expense_Rate_Table_Rule_Reference = null)
    {
        $this->Expense_Rate_Table_Rule_Reference = $expense_Rate_Table_Rule_Reference;
        return $this;
    }
    /**
     * Get Expense_Rate_Table_Rule_Data value
     * @return \StructType\Expense_Rate_Table_Rule_DataType|null
     */
    public function getExpense_Rate_Table_Rule_Data()
    {
        return $this->Expense_Rate_Table_Rule_Data;
    }
    /**
     * Set Expense_Rate_Table_Rule_Data value
     * @param \StructType\Expense_Rate_Table_Rule_DataType $expense_Rate_Table_Rule_Data
     * @return \StructType\Expense_Rate_Table_RuleType
     */
    public function setExpense_Rate_Table_Rule_Data(\StructType\Expense_Rate_Table_Rule_DataType $expense_Rate_Table_Rule_Data = null)
    {
        $this->Expense_Rate_Table_Rule_Data = $expense_Rate_Table_Rule_Data;
        return $this;
    }
}
