<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for PersonSocialInfo StructType
 * @subpackage Structs
 */
class PersonSocialInfo extends AbstractStructBase
{
    /**
     * The Identification
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\PersonIdentification
     */
    public $Identification;
    /**
     * The Statuses
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\PersonStatuses
     */
    public $Statuses;
    /**
     * The CharacteristicList
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\PersonCharacteristicList
     */
    public $CharacteristicList;
    /**
     * The LabourContract
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\PersonLabourContract
     */
    public $LabourContract;
    /**
     * Constructor method for PersonSocialInfo
     * @uses PersonSocialInfo::setIdentification()
     * @uses PersonSocialInfo::setStatuses()
     * @uses PersonSocialInfo::setCharacteristicList()
     * @uses PersonSocialInfo::setLabourContract()
     * @param \StructType\PersonIdentification $identification
     * @param \StructType\PersonStatuses $statuses
     * @param \StructType\PersonCharacteristicList $characteristicList
     * @param \StructType\PersonLabourContract $labourContract
     */
    public function __construct(\StructType\PersonIdentification $identification = null, \StructType\PersonStatuses $statuses = null, \StructType\PersonCharacteristicList $characteristicList = null, \StructType\PersonLabourContract $labourContract = null)
    {
        $this
            ->setIdentification($identification)
            ->setStatuses($statuses)
            ->setCharacteristicList($characteristicList)
            ->setLabourContract($labourContract);
    }
    /**
     * Get Identification value
     * @return \StructType\PersonIdentification|null
     */
    public function getIdentification()
    {
        return $this->Identification;
    }
    /**
     * Set Identification value
     * @param \StructType\PersonIdentification $identification
     * @return \StructType\PersonSocialInfo
     */
    public function setIdentification(\StructType\PersonIdentification $identification = null)
    {
        $this->Identification = $identification;
        return $this;
    }
    /**
     * Get Statuses value
     * @return \StructType\PersonStatuses|null
     */
    public function getStatuses()
    {
        return $this->Statuses;
    }
    /**
     * Set Statuses value
     * @param \StructType\PersonStatuses $statuses
     * @return \StructType\PersonSocialInfo
     */
    public function setStatuses(\StructType\PersonStatuses $statuses = null)
    {
        $this->Statuses = $statuses;
        return $this;
    }
    /**
     * Get CharacteristicList value
     * @return \StructType\PersonCharacteristicList|null
     */
    public function getCharacteristicList()
    {
        return $this->CharacteristicList;
    }
    /**
     * Set CharacteristicList value
     * @param \StructType\PersonCharacteristicList $characteristicList
     * @return \StructType\PersonSocialInfo
     */
    public function setCharacteristicList(\StructType\PersonCharacteristicList $characteristicList = null)
    {
        $this->CharacteristicList = $characteristicList;
        return $this;
    }
    /**
     * Get LabourContract value
     * @return \StructType\PersonLabourContract|null
     */
    public function getLabourContract()
    {
        return $this->LabourContract;
    }
    /**
     * Set LabourContract value
     * @param \StructType\PersonLabourContract $labourContract
     * @return \StructType\PersonSocialInfo
     */
    public function setLabourContract(\StructType\PersonLabourContract $labourContract = null)
    {
        $this->LabourContract = $labourContract;
        return $this;
    }
}
