Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
forbidals
/
wp-content
/
plugins
/
wpforms-lite
/
vendor_prefixed
/
square
/
square
/
src
/
Models
:
CatalogCustomAttributeValue.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare (strict_types=1); namespace WPForms\Vendor\Square\Models; use stdClass; /** * An instance of a custom attribute. Custom attributes can be defined and * added to `ITEM` and `ITEM_VARIATION` type catalog objects. * [Read more about custom attributes](https://developer.squareup.com/docs/catalog-api/add-custom- * attributes). */ class CatalogCustomAttributeValue implements \JsonSerializable { /** * @var array */ private $name = []; /** * @var array */ private $stringValue = []; /** * @var string|null */ private $customAttributeDefinitionId; /** * @var string|null */ private $type; /** * @var array */ private $numberValue = []; /** * @var array */ private $booleanValue = []; /** * @var array */ private $selectionUidValues = []; /** * @var string|null */ private $key; /** * Returns Name. * The name of the custom attribute. */ public function getName() : ?string { if (\count($this->name) == 0) { return null; } return $this->name['value']; } /** * Sets Name. * The name of the custom attribute. * * @maps name */ public function setName(?string $name) : void { $this->name['value'] = $name; } /** * Unsets Name. * The name of the custom attribute. */ public function unsetName() : void { $this->name = []; } /** * Returns String Value. * The string value of the custom attribute. Populated if `type` = `STRING`. */ public function getStringValue() : ?string { if (\count($this->stringValue) == 0) { return null; } return $this->stringValue['value']; } /** * Sets String Value. * The string value of the custom attribute. Populated if `type` = `STRING`. * * @maps string_value */ public function setStringValue(?string $stringValue) : void { $this->stringValue['value'] = $stringValue; } /** * Unsets String Value. * The string value of the custom attribute. Populated if `type` = `STRING`. */ public function unsetStringValue() : void { $this->stringValue = []; } /** * Returns Custom Attribute Definition Id. * The id of the [CatalogCustomAttributeDefinition](entity:CatalogCustomAttributeDefinition) this value * belongs to. */ public function getCustomAttributeDefinitionId() : ?string { return $this->customAttributeDefinitionId; } /** * Sets Custom Attribute Definition Id. * The id of the [CatalogCustomAttributeDefinition](entity:CatalogCustomAttributeDefinition) this value * belongs to. * * @maps custom_attribute_definition_id */ public function setCustomAttributeDefinitionId(?string $customAttributeDefinitionId) : void { $this->customAttributeDefinitionId = $customAttributeDefinitionId; } /** * Returns Type. * Defines the possible types for a custom attribute. */ public function getType() : ?string { return $this->type; } /** * Sets Type. * Defines the possible types for a custom attribute. * * @maps type */ public function setType(?string $type) : void { $this->type = $type; } /** * Returns Number Value. * Populated if `type` = `NUMBER`. Contains a string * representation of a decimal number, using a `.` as the decimal separator. */ public function getNumberValue() : ?string { if (\count($this->numberValue) == 0) { return null; } return $this->numberValue['value']; } /** * Sets Number Value. * Populated if `type` = `NUMBER`. Contains a string * representation of a decimal number, using a `.` as the decimal separator. * * @maps number_value */ public function setNumberValue(?string $numberValue) : void { $this->numberValue['value'] = $numberValue; } /** * Unsets Number Value. * Populated if `type` = `NUMBER`. Contains a string * representation of a decimal number, using a `.` as the decimal separator. */ public function unsetNumberValue() : void { $this->numberValue = []; } /** * Returns Boolean Value. * A `true` or `false` value. Populated if `type` = `BOOLEAN`. */ public function getBooleanValue() : ?bool { if (\count($this->booleanValue) == 0) { return null; } return $this->booleanValue['value']; } /** * Sets Boolean Value. * A `true` or `false` value. Populated if `type` = `BOOLEAN`. * * @maps boolean_value */ public function setBooleanValue(?bool $booleanValue) : void { $this->booleanValue['value'] = $booleanValue; } /** * Unsets Boolean Value. * A `true` or `false` value. Populated if `type` = `BOOLEAN`. */ public function unsetBooleanValue() : void { $this->booleanValue = []; } /** * Returns Selection Uid Values. * One or more choices from `allowed_selections`. Populated if `type` = `SELECTION`. * * @return string[]|null */ public function getSelectionUidValues() : ?array { if (\count($this->selectionUidValues) == 0) { return null; } return $this->selectionUidValues['value']; } /** * Sets Selection Uid Values. * One or more choices from `allowed_selections`. Populated if `type` = `SELECTION`. * * @maps selection_uid_values * * @param string[]|null $selectionUidValues */ public function setSelectionUidValues(?array $selectionUidValues) : void { $this->selectionUidValues['value'] = $selectionUidValues; } /** * Unsets Selection Uid Values. * One or more choices from `allowed_selections`. Populated if `type` = `SELECTION`. */ public function unsetSelectionUidValues() : void { $this->selectionUidValues = []; } /** * Returns Key. * If the associated `CatalogCustomAttributeDefinition` object is defined by another application, this * key is prefixed by the defining application ID. * For example, if the CatalogCustomAttributeDefinition has a key attribute of "cocoa_brand" and the * defining application ID is "abcd1234", this key is "abcd1234:cocoa_brand" * when the application making the request is different from the application defining the custom * attribute definition. Otherwise, the key is simply "cocoa_brand". */ public function getKey() : ?string { return $this->key; } /** * Sets Key. * If the associated `CatalogCustomAttributeDefinition` object is defined by another application, this * key is prefixed by the defining application ID. * For example, if the CatalogCustomAttributeDefinition has a key attribute of "cocoa_brand" and the * defining application ID is "abcd1234", this key is "abcd1234:cocoa_brand" * when the application making the request is different from the application defining the custom * attribute definition. Otherwise, the key is simply "cocoa_brand". * * @maps key */ public function setKey(?string $key) : void { $this->key = $key; } /** * Encode this object to JSON * * @param bool $asArrayWhenEmpty Whether to serialize this model as an array whenever no fields * are set. (default: false) * * @return array|stdClass */ #[\ReturnTypeWillChange] public function jsonSerialize(bool $asArrayWhenEmpty = \false) { $json = []; if (!empty($this->name)) { $json['name'] = $this->name['value']; } if (!empty($this->stringValue)) { $json['string_value'] = $this->stringValue['value']; } if (isset($this->customAttributeDefinitionId)) { $json['custom_attribute_definition_id'] = $this->customAttributeDefinitionId; } if (isset($this->type)) { $json['type'] = $this->type; } if (!empty($this->numberValue)) { $json['number_value'] = $this->numberValue['value']; } if (!empty($this->booleanValue)) { $json['boolean_value'] = $this->booleanValue['value']; } if (!empty($this->selectionUidValues)) { $json['selection_uid_values'] = $this->selectionUidValues['value']; } if (isset($this->key)) { $json['key'] = $this->key; } $json = \array_filter($json, function ($val) { return $val !== null; }); return !$asArrayWhenEmpty && empty($json) ? new stdClass() : $json; } }