<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for SolutionSearchBasic StructType
 * @subpackage Structs
 */
class SolutionSearchBasic extends SearchRecordBasic
{
    /**
     * The abstract
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $abstract;
    /**
     * The assigned
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $assigned;
    /**
     * The caseCount
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $caseCount;
    /**
     * The code
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $code;
    /**
     * The createdDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $createdDate;
    /**
     * The description
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $description;
    /**
     * The externalId
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $externalId;
    /**
     * The externalIdString
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $externalIdString;
    /**
     * The find
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $find;
    /**
     * 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 isOnline
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchBooleanField
     */
    public $isOnline;
    /**
     * The lastModifiedDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchDateField
     */
    public $lastModifiedDate;
    /**
     * The number
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchLongField
     */
    public $number;
    /**
     * The status
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchEnumMultiSelectField
     */
    public $status;
    /**
     * The title
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchStringField
     */
    public $title;
    /**
     * The topic
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchMultiSelectField
     */
    public $topic;
    /**
     * The customFieldList
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \StructType\SearchCustomFieldList
     */
    public $customFieldList;
    /**
     * Constructor method for SolutionSearchBasic
     * @uses SolutionSearchBasic::setAbstract()
     * @uses SolutionSearchBasic::setAssigned()
     * @uses SolutionSearchBasic::setCaseCount()
     * @uses SolutionSearchBasic::setCode()
     * @uses SolutionSearchBasic::setCreatedDate()
     * @uses SolutionSearchBasic::setDescription()
     * @uses SolutionSearchBasic::setExternalId()
     * @uses SolutionSearchBasic::setExternalIdString()
     * @uses SolutionSearchBasic::setFind()
     * @uses SolutionSearchBasic::setInternalId()
     * @uses SolutionSearchBasic::setInternalIdNumber()
     * @uses SolutionSearchBasic::setIsInactive()
     * @uses SolutionSearchBasic::setIsOnline()
     * @uses SolutionSearchBasic::setLastModifiedDate()
     * @uses SolutionSearchBasic::setNumber()
     * @uses SolutionSearchBasic::setStatus()
     * @uses SolutionSearchBasic::setTitle()
     * @uses SolutionSearchBasic::setTopic()
     * @uses SolutionSearchBasic::setCustomFieldList()
     * @param \StructType\SearchStringField $abstract
     * @param \StructType\SearchMultiSelectField $assigned
     * @param \StructType\SearchLongField $caseCount
     * @param \StructType\SearchStringField $code
     * @param \StructType\SearchDateField $createdDate
     * @param \StructType\SearchStringField $description
     * @param \StructType\SearchMultiSelectField $externalId
     * @param \StructType\SearchStringField $externalIdString
     * @param \StructType\SearchStringField $find
     * @param \StructType\SearchMultiSelectField $internalId
     * @param \StructType\SearchLongField $internalIdNumber
     * @param \StructType\SearchBooleanField $isInactive
     * @param \StructType\SearchBooleanField $isOnline
     * @param \StructType\SearchDateField $lastModifiedDate
     * @param \StructType\SearchLongField $number
     * @param \StructType\SearchEnumMultiSelectField $status
     * @param \StructType\SearchStringField $title
     * @param \StructType\SearchMultiSelectField $topic
     * @param \StructType\SearchCustomFieldList $customFieldList
     */
    public function __construct(\StructType\SearchStringField $abstract = null, \StructType\SearchMultiSelectField $assigned = null, \StructType\SearchLongField $caseCount = null, \StructType\SearchStringField $code = null, \StructType\SearchDateField $createdDate = null, \StructType\SearchStringField $description = null, \StructType\SearchMultiSelectField $externalId = null, \StructType\SearchStringField $externalIdString = null, \StructType\SearchStringField $find = null, \StructType\SearchMultiSelectField $internalId = null, \StructType\SearchLongField $internalIdNumber = null, \StructType\SearchBooleanField $isInactive = null, \StructType\SearchBooleanField $isOnline = null, \StructType\SearchDateField $lastModifiedDate = null, \StructType\SearchLongField $number = null, \StructType\SearchEnumMultiSelectField $status = null, \StructType\SearchStringField $title = null, \StructType\SearchMultiSelectField $topic = null, \StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this
            ->setAbstract($abstract)
            ->setAssigned($assigned)
            ->setCaseCount($caseCount)
            ->setCode($code)
            ->setCreatedDate($createdDate)
            ->setDescription($description)
            ->setExternalId($externalId)
            ->setExternalIdString($externalIdString)
            ->setFind($find)
            ->setInternalId($internalId)
            ->setInternalIdNumber($internalIdNumber)
            ->setIsInactive($isInactive)
            ->setIsOnline($isOnline)
            ->setLastModifiedDate($lastModifiedDate)
            ->setNumber($number)
            ->setStatus($status)
            ->setTitle($title)
            ->setTopic($topic)
            ->setCustomFieldList($customFieldList);
    }
    /**
     * Get abstract value
     * @return \StructType\SearchStringField|null
     */
    public function getAbstract()
    {
        return $this->abstract;
    }
    /**
     * Set abstract value
     * @param \StructType\SearchStringField $abstract
     * @return \StructType\SolutionSearchBasic
     */
    public function setAbstract(\StructType\SearchStringField $abstract = null)
    {
        $this->abstract = $abstract;
        return $this;
    }
    /**
     * Get assigned value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getAssigned()
    {
        return $this->assigned;
    }
    /**
     * Set assigned value
     * @param \StructType\SearchMultiSelectField $assigned
     * @return \StructType\SolutionSearchBasic
     */
    public function setAssigned(\StructType\SearchMultiSelectField $assigned = null)
    {
        $this->assigned = $assigned;
        return $this;
    }
    /**
     * Get caseCount value
     * @return \StructType\SearchLongField|null
     */
    public function getCaseCount()
    {
        return $this->caseCount;
    }
    /**
     * Set caseCount value
     * @param \StructType\SearchLongField $caseCount
     * @return \StructType\SolutionSearchBasic
     */
    public function setCaseCount(\StructType\SearchLongField $caseCount = null)
    {
        $this->caseCount = $caseCount;
        return $this;
    }
    /**
     * Get code value
     * @return \StructType\SearchStringField|null
     */
    public function getCode()
    {
        return $this->code;
    }
    /**
     * Set code value
     * @param \StructType\SearchStringField $code
     * @return \StructType\SolutionSearchBasic
     */
    public function setCode(\StructType\SearchStringField $code = null)
    {
        $this->code = $code;
        return $this;
    }
    /**
     * Get createdDate value
     * @return \StructType\SearchDateField|null
     */
    public function getCreatedDate()
    {
        return $this->createdDate;
    }
    /**
     * Set createdDate value
     * @param \StructType\SearchDateField $createdDate
     * @return \StructType\SolutionSearchBasic
     */
    public function setCreatedDate(\StructType\SearchDateField $createdDate = null)
    {
        $this->createdDate = $createdDate;
        return $this;
    }
    /**
     * Get description value
     * @return \StructType\SearchStringField|null
     */
    public function getDescription()
    {
        return $this->description;
    }
    /**
     * Set description value
     * @param \StructType\SearchStringField $description
     * @return \StructType\SolutionSearchBasic
     */
    public function setDescription(\StructType\SearchStringField $description = null)
    {
        $this->description = $description;
        return $this;
    }
    /**
     * Get externalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getExternalId()
    {
        return $this->externalId;
    }
    /**
     * Set externalId value
     * @param \StructType\SearchMultiSelectField $externalId
     * @return \StructType\SolutionSearchBasic
     */
    public function setExternalId(\StructType\SearchMultiSelectField $externalId = null)
    {
        $this->externalId = $externalId;
        return $this;
    }
    /**
     * Get externalIdString value
     * @return \StructType\SearchStringField|null
     */
    public function getExternalIdString()
    {
        return $this->externalIdString;
    }
    /**
     * Set externalIdString value
     * @param \StructType\SearchStringField $externalIdString
     * @return \StructType\SolutionSearchBasic
     */
    public function setExternalIdString(\StructType\SearchStringField $externalIdString = null)
    {
        $this->externalIdString = $externalIdString;
        return $this;
    }
    /**
     * Get find value
     * @return \StructType\SearchStringField|null
     */
    public function getFind()
    {
        return $this->find;
    }
    /**
     * Set find value
     * @param \StructType\SearchStringField $find
     * @return \StructType\SolutionSearchBasic
     */
    public function setFind(\StructType\SearchStringField $find = null)
    {
        $this->find = $find;
        return $this;
    }
    /**
     * Get internalId value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getInternalId()
    {
        return $this->internalId;
    }
    /**
     * Set internalId value
     * @param \StructType\SearchMultiSelectField $internalId
     * @return \StructType\SolutionSearchBasic
     */
    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\SolutionSearchBasic
     */
    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\SolutionSearchBasic
     */
    public function setIsInactive(\StructType\SearchBooleanField $isInactive = null)
    {
        $this->isInactive = $isInactive;
        return $this;
    }
    /**
     * Get isOnline value
     * @return \StructType\SearchBooleanField|null
     */
    public function getIsOnline()
    {
        return $this->isOnline;
    }
    /**
     * Set isOnline value
     * @param \StructType\SearchBooleanField $isOnline
     * @return \StructType\SolutionSearchBasic
     */
    public function setIsOnline(\StructType\SearchBooleanField $isOnline = null)
    {
        $this->isOnline = $isOnline;
        return $this;
    }
    /**
     * Get lastModifiedDate value
     * @return \StructType\SearchDateField|null
     */
    public function getLastModifiedDate()
    {
        return $this->lastModifiedDate;
    }
    /**
     * Set lastModifiedDate value
     * @param \StructType\SearchDateField $lastModifiedDate
     * @return \StructType\SolutionSearchBasic
     */
    public function setLastModifiedDate(\StructType\SearchDateField $lastModifiedDate = null)
    {
        $this->lastModifiedDate = $lastModifiedDate;
        return $this;
    }
    /**
     * Get number value
     * @return \StructType\SearchLongField|null
     */
    public function getNumber()
    {
        return $this->number;
    }
    /**
     * Set number value
     * @param \StructType\SearchLongField $number
     * @return \StructType\SolutionSearchBasic
     */
    public function setNumber(\StructType\SearchLongField $number = null)
    {
        $this->number = $number;
        return $this;
    }
    /**
     * Get status value
     * @return \StructType\SearchEnumMultiSelectField|null
     */
    public function getStatus()
    {
        return $this->status;
    }
    /**
     * Set status value
     * @param \StructType\SearchEnumMultiSelectField $status
     * @return \StructType\SolutionSearchBasic
     */
    public function setStatus(\StructType\SearchEnumMultiSelectField $status = null)
    {
        $this->status = $status;
        return $this;
    }
    /**
     * Get title value
     * @return \StructType\SearchStringField|null
     */
    public function getTitle()
    {
        return $this->title;
    }
    /**
     * Set title value
     * @param \StructType\SearchStringField $title
     * @return \StructType\SolutionSearchBasic
     */
    public function setTitle(\StructType\SearchStringField $title = null)
    {
        $this->title = $title;
        return $this;
    }
    /**
     * Get topic value
     * @return \StructType\SearchMultiSelectField|null
     */
    public function getTopic()
    {
        return $this->topic;
    }
    /**
     * Set topic value
     * @param \StructType\SearchMultiSelectField $topic
     * @return \StructType\SolutionSearchBasic
     */
    public function setTopic(\StructType\SearchMultiSelectField $topic = null)
    {
        $this->topic = $topic;
        return $this;
    }
    /**
     * Get customFieldList value
     * @return \StructType\SearchCustomFieldList|null
     */
    public function getCustomFieldList()
    {
        return $this->customFieldList;
    }
    /**
     * Set customFieldList value
     * @param \StructType\SearchCustomFieldList $customFieldList
     * @return \StructType\SolutionSearchBasic
     */
    public function setCustomFieldList(\StructType\SearchCustomFieldList $customFieldList = null)
    {
        $this->customFieldList = $customFieldList;
        return $this;
    }
}
