PluginProbe
Booking for Appointments and Events Calendar – Amelia / 1.2.23
Booking for Appointments and Events Calendar – Amelia v1.2.23
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 All 59 releases
ameliabooking / src / Domain / Factory / Cache / CacheFactory.php
CacheFactory.php
49 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @copyright © TMS-Plugins. All rights reserved.
4 * @licence See LICENCE.md for license details.
5 */
6
7 namespace AmeliaBooking\Domain\Factory\Cache;
8
9 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
10 use AmeliaBooking\Domain\Entity\Cache\Cache;
11 use AmeliaBooking\Domain\ValueObjects\Json;
12 use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id;
13 use AmeliaBooking\Domain\ValueObjects\String\Name;
14
15 /**
16 * Class CacheFactory
17 *
18 * @package AmeliaBooking\Domain\Factory\Cache
19 */
20 class CacheFactory
21 {
22 /**
23 * @param $data
24 *
25 * @return Cache
26 * @throws InvalidArgumentException
27 */
28 public static function create($data)
29 {
30 $cache = new Cache(
31 new Name($data['name'])
32 );
33
34 if (isset($data['id'])) {
35 $cache->setId(new Id($data['id']));
36 }
37
38 if (!empty($data['paymentId'])) {
39 $cache->setPaymentId(new Id($data['paymentId']));
40 }
41
42 if (!empty($data['data'])) {
43 $cache->setData(new Json($data['data']));
44 }
45
46 return $cache;
47 }
48 }
49