<?php

namespace Paysera\DeliveryApi\MerchantClient\Entity;

use Paysera\Scoped\Paysera\Component\RestClientCommon\Entity\Result;
class ShipmentMethodCollection extends Result
{
    public function __construct(array $data = [])
    {
        parent::__construct($data);
    }
    /**
     * @return ShipmentMethod[]
     */
    public function getList()
    {
        $items = $this->getByReference('list');
        if ($items === null) {
            return [];
        }
        $list = [];
        foreach ($items as &$item) {
            $list[] = (new \Paysera\DeliveryApi\MerchantClient\Entity\ShipmentMethod())->setDataByReference($item);
        }
        return $list;
    }
    /**
     * @param ShipmentMethod[] $list
     * @return $this
     */
    public function setList(array $list)
    {
        $data = [];
        foreach ($list as $item) {
            $data[] = $item->getDataByReference();
        }
        $this->setByReference('list', $data);
        return $this;
    }
}
