<?php

namespace Ups_track\UPStrackStruct;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for UPSSecurity UPStrackStruct
 * @package Ups_track
 * @subpackage Structs
 */
class Ups_trackUPSSecurity extends AbstractStructBase
{
    /**
     * The UsernameToken
     * @var \Ups_track\UPStrackStruct\Ups_trackUsernameToken
     */
    public $UsernameToken;
    /**
     * The ServiceAccessToken
     * @var \Ups_track\UPStrackStruct\Ups_trackServiceAccessToken
     */
    public $ServiceAccessToken;
    /**
     * Constructor method for UPSSecurity
     * @uses Ups_trackUPSSecurity::setUsernameToken()
     * @uses Ups_trackUPSSecurity::setServiceAccessToken()
     * @param \Ups_track\UPStrackStruct\Ups_trackUsernameToken $usernameToken
     * @param \Ups_track\UPStrackStruct\Ups_trackServiceAccessToken $serviceAccessToken
     */
    public function __construct(\Ups_track\UPStrackStruct\Ups_trackUsernameToken $usernameToken = null, \Ups_track\UPStrackStruct\Ups_trackServiceAccessToken $serviceAccessToken = null)
    {
        $this
            ->setUsernameToken($usernameToken)
            ->setServiceAccessToken($serviceAccessToken);
    }
    /**
     * Get UsernameToken value
     * @return \Ups_track\UPStrackStruct\Ups_trackUsernameToken|null
     */
    public function getUsernameToken()
    {
        return $this->UsernameToken;
    }
    /**
     * Set UsernameToken value
     * @param \Ups_track\UPStrackStruct\Ups_trackUsernameToken $usernameToken
     * @return \Ups_track\UPStrackStruct\Ups_trackUPSSecurity
     */
    public function setUsernameToken(\Ups_track\UPStrackStruct\Ups_trackUsernameToken $usernameToken = null)
    {
        $this->UsernameToken = $usernameToken;
        return $this;
    }
    /**
     * Get ServiceAccessToken value
     * @return \Ups_track\UPStrackStruct\Ups_trackServiceAccessToken|null
     */
    public function getServiceAccessToken()
    {
        return $this->ServiceAccessToken;
    }
    /**
     * Set ServiceAccessToken value
     * @param \Ups_track\UPStrackStruct\Ups_trackServiceAccessToken $serviceAccessToken
     * @return \Ups_track\UPStrackStruct\Ups_trackUPSSecurity
     */
    public function setServiceAccessToken(\Ups_track\UPStrackStruct\Ups_trackServiceAccessToken $serviceAccessToken = null)
    {
        $this->ServiceAccessToken = $serviceAccessToken;
        return $this;
    }
}
