'string', 'isRecurring' => 'bool', 'enumeration' => 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\CreateAttributeEnumeration[]', 'type' => 'string']; /** * Array of property to format mappings. Used for (de)serialization * * @var string[] */ protected static $swaggerFormats = ['value' => null, 'isRecurring' => null, 'enumeration' => null, 'type' => 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 = ['value' => 'value', 'isRecurring' => 'isRecurring', 'enumeration' => 'enumeration', 'type' => 'type']; /** * Array of attributes to setter functions (for deserialization of responses) * * @var string[] */ protected static $setters = ['value' => 'setValue', 'isRecurring' => 'setIsRecurring', 'enumeration' => 'setEnumeration', 'type' => 'setType']; /** * Array of attributes to getter functions (for serialization of requests) * * @var string[] */ protected static $getters = ['value' => 'getValue', 'isRecurring' => 'getIsRecurring', 'enumeration' => 'getEnumeration', 'type' => 'getType']; /** * 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 TYPE_TEXT = 'text'; const TYPE_DATE = 'date'; const TYPE_FLOAT = 'float'; const TYPE_BOOLEAN = 'boolean'; const TYPE_ID = 'id'; const TYPE_CATEGORY = 'category'; /** * Gets allowable values of the enum * * @return string[] */ public function getTypeAllowableValues() { return [self::TYPE_TEXT, self::TYPE_DATE, self::TYPE_FLOAT, self::TYPE_BOOLEAN, self::TYPE_ID, self::TYPE_CATEGORY]; } /** * 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['value'] = isset($data['value']) ? $data['value'] : null; $this->container['isRecurring'] = isset($data['isRecurring']) ? $data['isRecurring'] : null; $this->container['enumeration'] = isset($data['enumeration']) ? $data['enumeration'] : null; $this->container['type'] = isset($data['type']) ? $data['type'] : null; } /** * Show all the invalid properties with reasons. * * @return array invalid properties with reasons */ public function listInvalidProperties() { $invalidProperties = []; $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 value * * @return string */ public function getValue() { return $this->container['value']; } /** * Sets value * * @param string $value Value of the attribute. Use only if the attribute's category is 'calculated' or 'global' * * @return $this */ public function setValue($value) { $this->container['value'] = $value; return $this; } /** * Gets isRecurring * * @return bool */ public function getIsRecurring() { return $this->container['isRecurring']; } /** * Sets isRecurring * * @param bool $isRecurring Type of the attribute. Use only if the attribute's category is 'calculated' or 'global' * * @return $this */ public function setIsRecurring($isRecurring) { $this->container['isRecurring'] = $isRecurring; return $this; } /** * Gets enumeration * * @return \SendinBlue\Client\Model\CreateAttributeEnumeration[] */ public function getEnumeration() { return $this->container['enumeration']; } /** * Sets enumeration * * @param \SendinBlue\Client\Model\CreateAttributeEnumeration[] $enumeration List of values and labels that the attribute can take. Use only if the attribute's category is \"category\". For example, [{\"value\":1, \"label\":\"male\"}, {\"value\":2, \"label\":\"female\"}] * * @return $this */ public function setEnumeration($enumeration) { $this->container['enumeration'] = $enumeration; return $this; } /** * Gets type * * @return string */ public function getType() { return $this->container['type']; } /** * Sets type * * @param string $type Type of the attribute. Use only if the attribute's category is 'normal', 'category' or 'transactional' ( type 'boolean' is only available if the category is 'normal' attribute, type 'id' is only available if the category is 'transactional' attribute & type 'category' is only available if the category is 'category' 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; } /** * 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)); } }