<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Language_Ability_DataType StructType
 * Meta information extracted from the WSDL
 * - documentation: Contains the language ability information.
 * @subpackage Structs
 */
class Language_Ability_DataType extends AbstractStructBase
{
    /**
     * The Language_Proficiency_Reference
     * Meta information extracted from the WSDL
     * - documentation: Reference element representing a unique instance of Language Proficiency.
     * - minOccurs: 0
     * @var \StructType\Language_ProficiencyObjectType
     */
    public $Language_Proficiency_Reference;
    /**
     * The Language_Ability_Type_Reference
     * Meta information extracted from the WSDL
     * - documentation: Reference element representing a unique instance of Language Ability Type.
     * @var \StructType\Language_Ability_TypeObjectType
     */
    public $Language_Ability_Type_Reference;
    /**
     * Constructor method for Language_Ability_DataType
     * @uses Language_Ability_DataType::setLanguage_Proficiency_Reference()
     * @uses Language_Ability_DataType::setLanguage_Ability_Type_Reference()
     * @param \StructType\Language_ProficiencyObjectType $language_Proficiency_Reference
     * @param \StructType\Language_Ability_TypeObjectType $language_Ability_Type_Reference
     */
    public function __construct(\StructType\Language_ProficiencyObjectType $language_Proficiency_Reference = null, \StructType\Language_Ability_TypeObjectType $language_Ability_Type_Reference = null)
    {
        $this
            ->setLanguage_Proficiency_Reference($language_Proficiency_Reference)
            ->setLanguage_Ability_Type_Reference($language_Ability_Type_Reference);
    }
    /**
     * Get Language_Proficiency_Reference value
     * @return \StructType\Language_ProficiencyObjectType|null
     */
    public function getLanguage_Proficiency_Reference()
    {
        return $this->Language_Proficiency_Reference;
    }
    /**
     * Set Language_Proficiency_Reference value
     * @param \StructType\Language_ProficiencyObjectType $language_Proficiency_Reference
     * @return \StructType\Language_Ability_DataType
     */
    public function setLanguage_Proficiency_Reference(\StructType\Language_ProficiencyObjectType $language_Proficiency_Reference = null)
    {
        $this->Language_Proficiency_Reference = $language_Proficiency_Reference;
        return $this;
    }
    /**
     * Get Language_Ability_Type_Reference value
     * @return \StructType\Language_Ability_TypeObjectType|null
     */
    public function getLanguage_Ability_Type_Reference()
    {
        return $this->Language_Ability_Type_Reference;
    }
    /**
     * Set Language_Ability_Type_Reference value
     * @param \StructType\Language_Ability_TypeObjectType $language_Ability_Type_Reference
     * @return \StructType\Language_Ability_DataType
     */
    public function setLanguage_Ability_Type_Reference(\StructType\Language_Ability_TypeObjectType $language_Ability_Type_Reference = null)
    {
        $this->Language_Ability_Type_Reference = $language_Ability_Type_Reference;
        return $this;
    }
}
