ILIAS
trunk Revision v11.0_alpha-3011-gc6b235a2e85
◀ ilDoc Overview
AbstractMachine.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
21
namespace
ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines
;
22
23
use
ILIAS\ResourceStorage\Flavour\Engine\Engine
;
24
use
ILIAS\ResourceStorage\Flavour\Machine\FlavourMachine
;
25
30
abstract
class
AbstractMachine
implements
FlavourMachine
31
{
32
protected
?
Engine
$engine
=
null
;
33
34
public
function
__construct
()
35
{
36
}
37
38
public
function
withEngine
(
Engine
$engine
):
FlavourMachine
39
{
40
$clone = clone $this;
41
$clone->engine =
$engine
;
42
return
$clone;
43
}
44
45
public
function
getEngine
():
Engine
46
{
47
if
($this->engine ===
null
) {
48
throw
new \OutOfBoundsException(
"Engine not available"
);
49
}
50
return
$this->engine
;
51
}
52
}
ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\AbstractMachine
Definition:
AbstractMachine.php:31
ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\AbstractMachine\withEngine
withEngine(Engine $engine)
The demanded Engine will be passed here.
Definition:
AbstractMachine.php:38
ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\AbstractMachine\getEngine
getEngine()
Definition:
AbstractMachine.php:45
ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\AbstractMachine\$engine
Engine $engine
Definition:
AbstractMachine.php:32
ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\AbstractMachine\__construct
__construct()
FlavourMachines must be able to be created without further dependencies.
Definition:
AbstractMachine.php:34
ILIAS\ResourceStorage\Flavour\Engine\Engine
Definition:
Engine.php:27
ILIAS\ResourceStorage\Flavour\Machine\FlavourMachine
Definition:
FlavourMachine.php:31
ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines
Definition:
AbstractMachine.php:21
components
ILIAS
ResourceStorage
src
Flavour
Machine
DefaultMachines
AbstractMachine.php
Generated on Sat Oct 18 2025 23:03:38 for ILIAS by
1.9.4 (using
Doxyfile
)