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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
<?php
/* --------------------------------------------------------------
SlideImageAreaRepository.inc.php 2016-10-28
Gambio GmbH
http://www.gambio.de
Copyright (c) 2016 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------
*/
MainFactory::load_class('SlideImageAreaRepositoryInterface');
/**
* Class SlideImageAreaRepository
*
* @category System
* @package Slider
* @subpackage Repositories
*/
class SlideImageAreaRepository implements SlideImageAreaRepositoryInterface
{
/**
* @var SlideImageAreaRepositoryWriterInterface
*/
protected $writer;
/**
* @var SlideImageAreaRepositoryReaderInterface
*/
protected $reader;
/**
* @var SlideImageAreaRepositoryDeleterInterface
*/
protected $deleter;
/**
* SlideImageAreaRepository constructor.
*
* @param SlideImageAreaRepositoryWriterInterface $writer
* @param SlideImageAreaRepositoryReaderInterface $reader
* @param SlideImageAreaRepositoryDeleterInterface $deleter
*/
public function __construct(SlideImageAreaRepositoryWriterInterface $writer,
SlideImageAreaRepositoryReaderInterface $reader,
SlideImageAreaRepositoryDeleterInterface $deleter)
{
$this->writer = $writer;
$this->reader = $reader;
$this->deleter = $deleter;
}
/**
* Returns a SlideImageAreaCollection instance by the given slide image ID.
*
* @param IdType $slideImageId ID of the slide image to get.
*
* @return SlideImageAreaCollection
*/
public function getBySlideImageId(IdType $slideImageId)
{
$slideImageAreaCollection = $this->reader->getBySlideImageId($slideImageId);
return $slideImageAreaCollection;
}
/**
* Returns a SlideImageArea instance by the given slide image area ID.
*
* @param IdType $slideImageAreaId
*
* @return SlideImageAreaInterface
*/
public function getById(IdType $slideImageAreaId)
{
$slideImageArea = $this->reader->getById($slideImageAreaId);
return $slideImageArea;
}
/**
* Stores a SlideImageArea to the database.
*
* @param IdType $slideImageId
* @param SlideImageAreaInterface $slideImageArea
*
* @return SlideImageAreaRepositoryInterface Same instance for method chaining.
*/
public function store(IdType $slideImageId, SlideImageAreaInterface $slideImageArea)
{
$slideImageAreaId = new IdType($this->writer->store($slideImageId, $slideImageArea));
$slideImageArea->setId($slideImageAreaId);
return $this;
}
/**
* Deletes a SlideImageArea by the given slide image area ID.
*
* @param IdType $slideImageAreaId
*
* @return SlideImageAreaRepositoryInterface Same instance for method chaining.
*/
public function deleteSlideImageAreaById(IdType $slideImageAreaId)
{
$this->deleter->deleteById($slideImageAreaId);
return $this;
}
/**
* Deletes SlideImageAreas by the given slide image ID.
*
* @param IdType $slideImageId
*
* @return SlideImageAreaRepositoryInterface Same instance for method chaining.
*/
public function deleteSlideImageAreasBySlideImageId(IdType $slideImageId)
{
$this->deleter->deleteBySlideImageId($slideImageId);
return $this;
}
}