'string', 'category' => 'string', 'type' => 'string', 'enumeration' => 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetAttributesEnumeration[]', 'calculatedValue' => 'string']; /** * Array of property to format mappings. Used for (de)serialization * * @var string[] */ protected static $swaggerFormats = ['name' => null, 'category' => null, 'type' => null, 'enumeration' => null, 'calculatedValue' => null]; /** * Array of property to type mappings. Used for (de)serialization * * @return array */ public static function swaggerTypes() { return self::$swaggerTypes; } /** * Array of property to format mappings. Used for (de)serialization * * @return array */ public static function swaggerFormats() { return self::$swaggerFormats; } /** * Array of attributes where the key is the local name, * and the value is the original name * * @var string[] */ protected static $attributeMap = ['name' => 'name', 'category' => 'category', 'type' => 'type', 'enumeration' => 'enumeration', 'calculatedValue' => 'calculatedValue']; /** * Array of attributes to setter functions (for deserialization of responses) * * @var string[] */ protected static $setters = ['name' => 'setName', 'category' => 'setCategory', 'type' => 'setType', 'enumeration' => 'setEnumeration', 'calculatedValue' => 'setCalculatedValue']; /** * Array of attributes to getter functions (for serialization of requests) * * @var string[] */ protected static $getters = ['name' => 'getName', 'category' => 'getCategory', 'type' => 'getType', 'enumeration' => 'getEnumeration', 'calculatedValue' => 'getCalculatedValue']; /** * Array of attributes where the key is the local name, * and the value is the original name * * @return array */ public static function attributeMap() { return self::$attributeMap; } /** * Array of attributes to setter functions (for deserialization of responses) * * @return array */ public static function setters() { return self::$setters; } /** * Array of attributes to getter functions (for serialization of requests) * * @return array */ public static function getters() { return self::$getters; } /** * The original name of the model. * * @return string */ public function getModelName() { return self::$swaggerModelName; } const CATEGORY_NORMAL = 'normal'; const CATEGORY_TRANSACTIONAL = 'transactional'; const CATEGORY_CATEGORY = 'category'; const CATEGORY_CALCULATED = 'calculated'; const CATEGORY__GLOBAL = 'global'; const TYPE_TEXT = 'text'; const TYPE_DATE = 'date'; const TYPE_FLOAT = 'float'; const TYPE_ID = 'id'; const TYPE_BOOLEAN = 'boolean'; /** * Gets allowable values of the enum * * @return string[] */ public function getCategoryAllowableValues() { return [self::CATEGORY_NORMAL, self::CATEGORY_TRANSACTIONAL, self::CATEGORY_CATEGORY, self::CATEGORY_CALCULATED, self::CATEGORY__GLOBAL]; } /** * Gets allowable values of the enum * * @return string[] */ public function getTypeAllowableValues() { return [self::TYPE_TEXT, self::TYPE_DATE, self::TYPE_FLOAT, self::TYPE_ID, self::TYPE_BOOLEAN]; } /** * Associative array for storing property values * * @var mixed[] */ protected $container = []; /** * Constructor * * @param mixed[] $data Associated array of property values * initializing the model */ public function __construct(array $data = null) { $this->container['name'] = isset($data['name']) ? $data['name'] : null; $this->container['category'] = isset($data['category']) ? $data['category'] : null; $this->container['type'] = isset($data['type']) ? $data['type'] : null; $this->container['enumeration'] = isset($data['enumeration']) ? $data['enumeration'] : null; $this->container['calculatedValue'] = isset($data['calculatedValue']) ? $data['calculatedValue'] : null; } /** * Show all the invalid properties with reasons. * * @return array invalid properties with reasons */ public function listInvalidProperties() { $invalidProperties = []; if ($this->container['name'] === null) { $invalidProperties[] = "'name' can't be null"; } if ($this->container['category'] === null) { $invalidProperties[] = "'category' can't be null"; } $allowedValues = $this->getCategoryAllowableValues(); if (!\is_null($this->container['category']) && !\in_array($this->container['category'], $allowedValues, \true)) { $invalidProperties[] = \sprintf("invalid value for 'category', must be one of '%s'", \implode("', '", $allowedValues)); } $allowedValues = $this->getTypeAllowableValues(); if (!\is_null($this->container['type']) && !\in_array($this->container['type'], $allowedValues, \true)) { $invalidProperties[] = \sprintf("invalid value for 'type', must be one of '%s'", \implode("', '", $allowedValues)); } return $invalidProperties; } /** * Validate all the properties in the model * return true if all passed * * @return bool True if all properties are valid */ public function valid() { return \count($this->listInvalidProperties()) === 0; } /** * Gets name * * @return string */ public function getName() { return $this->container['name']; } /** * Sets name * * @param string $name Name of the attribute * * @return $this */ public function setName($name) { $this->container['name'] = $name; return $this; } /** * Gets category * * @return string */ public function getCategory() { return $this->container['category']; } /** * Sets category * * @param string $category Category of the attribute * * @return $this */ public function setCategory($category) { $allowedValues = $this->getCategoryAllowableValues(); if (!\in_array($category, $allowedValues, \true)) { throw new \InvalidArgumentException(\sprintf("Invalid value for 'category', must be one of '%s'", \implode("', '", $allowedValues))); } $this->container['category'] = $category; return $this; } /** * Gets type * * @return string */ public function getType() { return $this->container['type']; } /** * Sets type * * @param string $type Type of the attribute * * @return $this */ public function setType($type) { $allowedValues = $this->getTypeAllowableValues(); if (!\is_null($type) && !\in_array($type, $allowedValues, \true)) { throw new \InvalidArgumentException(\sprintf("Invalid value for 'type', must be one of '%s'", \implode("', '", $allowedValues))); } $this->container['type'] = $type; return $this; } /** * Gets enumeration * * @return \SendinBlue\Client\Model\GetAttributesEnumeration[] */ public function getEnumeration() { return $this->container['enumeration']; } /** * Sets enumeration * * @param \SendinBlue\Client\Model\GetAttributesEnumeration[] $enumeration Parameter only available for \"category\" type attributes. * * @return $this */ public function setEnumeration($enumeration) { $this->container['enumeration'] = $enumeration; return $this; } /** * Gets calculatedValue * * @return string */ public function getCalculatedValue() { return $this->container['calculatedValue']; } /** * Sets calculatedValue * * @param string $calculatedValue Calculated value formula * * @return $this */ public function setCalculatedValue($calculatedValue) { $this->container['calculatedValue'] = $calculatedValue; return $this; } /** * Returns true if offset exists. False otherwise. * * @param integer $offset Offset * * @return boolean */ #[\ReturnTypeWillChange] public function offsetExists($offset) { return isset($this->container[$offset]); } /** * Gets offset. * * @param integer $offset Offset * * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { return isset($this->container[$offset]) ? $this->container[$offset] : null; } /** * Sets value based on offset. * * @param integer $offset Offset * @param mixed $value Value to be set * * @return void */ #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { if (\is_null($offset)) { $this->container[] = $value; } else { $this->container[$offset] = $value; } } /** * Unsets offset. * * @param integer $offset Offset * * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($offset) { unset($this->container[$offset]); } /** * Gets the string presentation of the object * * @return string */ public function __toString() { if (\defined('JSON_PRETTY_PRINT')) { // use JSON pretty print return \json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($this), \JSON_PRETTY_PRINT); } return \json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($this)); } }