Jake Vanderwerf
6 days ago a9b3b28d001941921aa70d37fdc87c758a163a44
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
<?php
namespace JVBase\managers\SEO\render\Traits\_Properties;
 
use JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork;
use JVBase\managers\SEO\render\Thing\Event\Event;
use JVBase\managers\SEO\render\Thing\Intangible\AggregateOffer;
use JVBase\managers\SEO\render\Thing\Intangible\MenuItem;
use JVBase\managers\SEO\render\Thing\Intangible\Service;
use JVBase\managers\SEO\render\Thing\Product\Product;
use JVBase\managers\SEO\render\Traits\_Helpers\arrayHelper;
 
if (!defined('ABSPATH')) {
    exit;
}
trait itemOfferedTrait {
    use arrayHelper;
    /**
     * @var AggregateOffer|CreativeWork|Event|MenuItem|Product|Service|array An item being offered (or demanded). The transactional nature of the offer or demand is documented using businessFunction, e.g. sell, lease etc. While several common expected types are listed explicitly in this definition, others can be used. Using a second type, such as Product or a subtype of Product, can clarify the nature of the offer.
     */
    protected AggregateOffer|CreativeWork|Event|MenuItem|Product|Service|array $itemOffered;
 
    public function getItemOffered():AggregateOffer|CreativeWork|Event|MenuItem|Product|Service|array|null
    {
        return $this->itemOffered??null;
    }
    public function setItemOffered(AggregateOffer|CreativeWork|Event|MenuItem|Product|Service|array $itemOffered):void
    {
        if (is_array($itemOffered)) {
            $itemOffered = $this->mixedArray('itemOffered', $itemOffered, [
                'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork',
                'JVBase\managers\SEO\render\Thing\Event\Event',
                'JVBase\managers\SEO\render\Thing\Intangible\AggregateOffer',
                'JVBase\managers\SEO\render\Thing\Intangible\MenuItem',
                'JVBase\managers\SEO\render\Thing\Intangible\Service',
                'JVBase\managers\SEO\render\Thing\Product\Product'
            ]);
        }
        $this->itemOffered = $itemOffered;
    }
}