1<?php
2
3/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5/**
6 * Condition service
7 *
8 * @author @leifos.de
9 * @ingroup
10 */
11class ilConditionService
12{
13    /**
14     * @var ilConditionObjectAdapterInterface
15     */
16    protected $cond_obj_adapter;
17
18    /**
19     * Constructor
20     */
21    protected function __construct(ilConditionObjectAdapterInterface $cond_obj_adapter = null)
22    {
23        if (is_null($cond_obj_adapter)) {
24            $this->cond_obj_adapter = new ilConditionObjectAdapter();
25        }
26    }
27
28    /**
29     * Get instance
30     *
31     * @return ilConditionService
32     */
33    public static function getInstance(ilConditionObjectAdapterInterface $cond_obj_adapter = null)
34    {
35        return new self($cond_obj_adapter);
36    }
37
38    /**
39     * factory
40     *
41     * @return ilConditionFactory
42     */
43    public function factory()
44    {
45        return new ilConditionFactory($this->cond_obj_adapter);
46    }
47
48    /**
49     * utilities
50     *
51     * @return ilConditionUtil
52     */
53    public function util()
54    {
55        return new ilConditionUtil();
56    }
57}
58