'string',
'selection_type' => 'string',
'modifiers' => '\SquareConnect\Model\CatalogObject[]'
);
/**
* Array of attributes where the key is the local name, and the value is the original name
* @var string[]
*/
static $attributeMap = array(
'name' => 'name',
'selection_type' => 'selection_type',
'modifiers' => 'modifiers'
);
/**
* Array of attributes to setter functions (for deserialization of responses)
* @var string[]
*/
static $setters = array(
'name' => 'setName',
'selection_type' => 'setSelectionType',
'modifiers' => 'setModifiers'
);
/**
* Array of attributes to getter functions (for serialization of requests)
* @var string[]
*/
static $getters = array(
'name' => 'getName',
'selection_type' => 'getSelectionType',
'modifiers' => 'getModifiers'
);
/**
* $name The [CatalogModifierList](#type-catalogmodifierlist)'s name. Searchable. This field has max length of 255 Unicode code points.
* @var string
*/
protected $name;
/**
* $selection_type Indicates whether multiple options from the [CatalogModifierList](#type-catalogmodifierlist) can be applied to a single [CatalogItem](#type-catalogitem). See [CatalogModifierListSelectionType](#type-catalogmodifierlistselectiontype) for possible values
* @var string
*/
protected $selection_type;
/**
* $modifiers The options included in the [CatalogModifierList](#type-catalogmodifierlist). You must include at least one [CatalogModifier](#type-catalogmodifier). Each [CatalogObject](#type-catalogobject) must have type `MODIFIER` and contain [CatalogModifier](#type-catalogmodifier) data.
* @var \SquareConnect\Model\CatalogObject[]
*/
protected $modifiers;
/**
* Constructor
* @param mixed[] $data Associated array of property value initializing the model
*/
public function __construct(array $data = null)
{
if ($data != null) {
if (isset($data["name"])) {
$this->name = $data["name"];
} else {
$this->name = null;
}
if (isset($data["selection_type"])) {
$this->selection_type = $data["selection_type"];
} else {
$this->selection_type = null;
}
if (isset($data["modifiers"])) {
$this->modifiers = $data["modifiers"];
} else {
$this->modifiers = null;
}
}
}
/**
* Gets name
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Sets name
* @param string $name The [CatalogModifierList](#type-catalogmodifierlist)'s name. Searchable. This field has max length of 255 Unicode code points.
* @return $this
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Gets selection_type
* @return string
*/
public function getSelectionType()
{
return $this->selection_type;
}
/**
* Sets selection_type
* @param string $selection_type Indicates whether multiple options from the [CatalogModifierList](#type-catalogmodifierlist) can be applied to a single [CatalogItem](#type-catalogitem). See [CatalogModifierListSelectionType](#type-catalogmodifierlistselectiontype) for possible values
* @return $this
*/
public function setSelectionType($selection_type)
{
$this->selection_type = $selection_type;
return $this;
}
/**
* Gets modifiers
* @return \SquareConnect\Model\CatalogObject[]
*/
public function getModifiers()
{
return $this->modifiers;
}
/**
* Sets modifiers
* @param \SquareConnect\Model\CatalogObject[] $modifiers The options included in the [CatalogModifierList](#type-catalogmodifierlist). You must include at least one [CatalogModifier](#type-catalogmodifier). Each [CatalogObject](#type-catalogobject) must have type `MODIFIER` and contain [CatalogModifier](#type-catalogmodifier) data.
* @return $this
*/
public function setModifiers($modifiers)
{
$this->modifiers = $modifiers;
return $this;
}
/**
* Returns true if offset exists. False otherwise.
* @param integer $offset Offset
* @return boolean
*/
public function offsetExists($offset)
{
return isset($this->$offset);
}
/**
* Gets offset.
* @param integer $offset Offset
* @return mixed
*/
public function offsetGet($offset)
{
return $this->$offset;
}
/**
* Sets value based on offset.
* @param integer $offset Offset
* @param mixed $value Value to be set
* @return void
*/
public function offsetSet($offset, $value)
{
$this->$offset = $value;
}
/**
* Unsets offset.
* @param integer $offset Offset
* @return void
*/
public function offsetUnset($offset)
{
unset($this->$offset);
}
/**
* Gets the string presentation of the object
* @return string
*/
public function __toString()
{
if (defined('JSON_PRETTY_PRINT')) {
return json_encode(\SquareConnect\ObjectSerializer::sanitizeForSerialization($this), JSON_PRETTY_PRINT);
} else {
return json_encode(\SquareConnect\ObjectSerializer::sanitizeForSerialization($this));
}
}
}