<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for PaymentInstrumentSearchBasic StructType
 * @subpackage Structs
 */
class PaymentInstrumentSearchBasic extends SearchRecordBasic
{
    /**
     * The customer
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $customer;
    /**
     * The internalId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $internalId;
    /**
     * The internalIdNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $internalIdNumber;
    /**
     * The isInactive
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchBooleanField
     */
    public $isInactive;
    /**
     * The paymentInstrumentType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $paymentInstrumentType;
    /**
     * The preserveOnFile
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchBooleanField
     */
    public $preserveOnFile;
    /**
     * Constructor method for PaymentInstrumentSearchBasic
     * @uses PaymentInstrumentSearchBasic::setCustomer()
     * @uses PaymentInstrumentSearchBasic::setInternalId()
     * @uses PaymentInstrumentSearchBasic::setInternalIdNumber()
     * @uses PaymentInstrumentSearchBasic::setIsInactive()
     * @uses PaymentInstrumentSearchBasic::setPaymentInstrumentType()
     * @uses PaymentInstrumentSearchBasic::setPreserveOnFile()
     * @param \StructType\SearchMultiSelectField $customer
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchBooleanField $isInactive
     * @param \StructType\SearchEnumMultiSelectField $paymentInstrumentType
     * @param \StructType\SearchBooleanField $preserveOnFile
     */
    public function __construct(\StructType\SearchMultiSelectField $customer = null, \StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchBooleanField $isInactive = null, \StructType\SearchEnumMultiSelectField $paymentInstrumentType = null, \StructType\SearchBooleanField $preserveOnFile = null)
    {
        $this
            ->setCustomer($customer)
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setIsInactive($isInactive)
            ->setPaymentInstrumentType($paymentInstrumentType)
            ->setPreserveOnFile($preserveOnFile);
    }
    /**
     * Get customer value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getCustomer()
    {
        return $this->customer;
    }
    /**
     * Set customer value
     * @param \StructType\SearchMultiSelectField $customer
     * @return \StructType\PaymentInstrumentSearchBasic
     */
    public function setCustomer(\StructType\SearchMultiSelectField $customer = null)
    {
        $this->customer = $customer;
        return $this;
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\PaymentInstrumentSearchBasic
     */
    public function setInternalId(\StructType\SearchMultiSelectField $internalId = null)
    {
        $this->internalId = $internalId;
        return $this;
    }
    /**
     * Get internalIdNumber value
     * @return \StructType\SearchLongField|null
     */
    public function getInternalIdNumber()
    {
        return $this->internalIdNumber;
    }
    /**
     * Set internalIdNumber value
     * @param \StructType\SearchLongField $internalIdNumber
     * @return \StructType\PaymentInstrumentSearchBasic
     */
    public function setInternalIdNumber(\StructType\SearchLongField $internalIdNumber = null)
    {
        $this->internalIdNumber = $internalIdNumber;
        return $this;
    }
    /**
     * Get isInactive value
     * @return \StructType\SearchBooleanField|null
     */
    public function getIsInactive()
    {
        return $this->isInactive;
    }
    /**
     * Set isInactive value
     * @param \StructType\SearchBooleanField $isInactive
     * @return \StructType\PaymentInstrumentSearchBasic
     */
    public function setIsInactive(\StructType\SearchBooleanField $isInactive = null)
    {
        $this->isInactive = $isInactive;
        return $this;
    }
    /**
     * Get paymentInstrumentType value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getPaymentInstrumentType()
    {
        return $this->paymentInstrumentType;
    }
    /**
     * Set paymentInstrumentType value
     * @param \StructType\SearchEnumMultiSelectField $paymentInstrumentType
     * @return \StructType\PaymentInstrumentSearchBasic
     */
    public function setPaymentInstrumentType(\StructType\SearchEnumMultiSelectField $paymentInstrumentType = null)
    {
        $this->paymentInstrumentType = $paymentInstrumentType;
        return $this;
    }
    /**
     * Get preserveOnFile value
     * @return \StructType\SearchBooleanField|null
     */
    public function getPreserveOnFile()
    {
        return $this->preserveOnFile;
    }
    /**
     * Set preserveOnFile value
     * @param \StructType\SearchBooleanField $preserveOnFile
     * @return \StructType\PaymentInstrumentSearchBasic
     */
    public function setPreserveOnFile(\StructType\SearchBooleanField $preserveOnFile = null)
    {
        $this->preserveOnFile = $preserveOnFile;
        return $this;
    }
}
