<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for AttachContactReference StructType
 * @subpackage Structs
 */
class AttachContactReference extends AttachReference
{
    /**
     * The contact
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var \StructType\RecordRef
     */
    public $contact;
    /**
     * The contactRole
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\RecordRef
     */
    public $contactRole;
    /**
     * Constructor method for AttachContactReference
     * @uses AttachContactReference::setContact()
     * @uses AttachContactReference::setContactRole()
     * @param \StructType\RecordRef $contact
     * @param \StructType\RecordRef $contactRole
     */
    public function __construct(\StructType\RecordRef $contact = null, \StructType\RecordRef $contactRole = null)
    {
        $this
            ->setContact($contact)
            ->setContactRole($contactRole);
    }
    /**
     * Get contact value
     * @return \StructType\RecordRef
     */
    public function getContact()
    {
        return $this->contact;
    }
    /**
     * Set contact value
     * @param \StructType\RecordRef $contact
     * @return \StructType\AttachContactReference
     */
    public function setContact(\StructType\RecordRef $contact = null)
    {
        $this->contact = $contact;
        return $this;
    }
    /**
     * Get contactRole value
     * @return \StructType\RecordRef|null
     */
    public function getContactRole()
    {
        return $this->contactRole;
    }
    /**
     * Set contactRole value
     * @param \StructType\RecordRef $contactRole
     * @return \StructType\AttachContactReference
     */
    public function setContactRole(\StructType\RecordRef $contactRole = null)
    {
        $this->contactRole = $contactRole;
        return $this;
    }
}
