1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
<?php
/**
* @author @jenschude <jens.schulze@commercetools.de>
*/
namespace Commercetools\Core\Model\Common;
/**
* @package Commercetools\Core\Model\Common
* @link https://docs.commercetools.com/http-api-projects-products.html#attribute
* @link https://docs.commercetools.com/http-api-projects-productTypes.html#localizedenumvalue
* @method LocalizedEnum current()
* @method LocalizedEnumCollection add(LocalizedEnum $element)
* @method LocalizedEnum getAt($offset)
*/
class LocalizedEnumCollection extends Collection
{
const KEY = 'key';
protected $type = LocalizedEnum::class;
protected function indexRow($offset, $row)
{
if ($row instanceof LocalizedEnum) {
$key = $row->getKey();
} else {
$key = $row[static::KEY];
}
$this->addToIndex(static::KEY, $offset, $key);
}
/**
* @param $key
* @return LocalizedEnum
*/
public function getByKey($key)
{
return $this->getBy(static::KEY, $key);
}
}