ILIAS
release_9 Revision v9.13-25-g2c18ec4c24f
◀ ilDoc Overview
class.ilTestProcessLockerFactory.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
27
class
ilTestProcessLockerFactory
28
{
32
protected
$settings
;
33
37
protected
$db
;
38
42
protected
$contextId
;
43
48
public
function
__construct
(
ilSetting
$settings
,
ilDBInterface
$db
)
49
{
50
$this->
settings
=
$settings
;
51
$this->db =
$db
;
52
}
53
54
public
function
getContextId
(): ?
int
55
{
56
return
$this->contextId
;
57
}
58
59
public
function
withContextId
(
int
$contextId
): self
60
{
61
$clone = clone $this;
62
$clone->contextId =
$contextId
;
63
64
return
$clone;
65
}
66
67
private
function
getLockModeSettingValue
(): ?string
68
{
69
return
$this->
settings
->get(
'ass_process_lock_mode'
,
ilObjAssessmentFolder::ASS_PROC_LOCK_MODE_NONE
);
70
}
71
75
public
function
getLocker
():
ilTestProcessLocker
76
{
77
switch
($this->
getLockModeSettingValue
()) {
78
case
ilObjAssessmentFolder::ASS_PROC_LOCK_MODE_NONE
:
79
80
$locker =
new
ilTestProcessLockerNone
();
81
break
;
82
83
case
ilObjAssessmentFolder::ASS_PROC_LOCK_MODE_FILE
:
84
85
$storage =
new
ilTestProcessLockFileStorage
((
int
) $this->
getContextId
());
86
$storage->create();
87
88
$locker =
new
ilTestProcessLockerFile
($storage);
89
break
;
90
91
case
ilObjAssessmentFolder::ASS_PROC_LOCK_MODE_DB
:
92
93
$locker =
new
ilTestProcessLockerDb
($this->db);
94
break
;
95
}
96
97
return
$locker;
98
}
99
100
public
function
retrieveLockerForNamedOperation
():
ilTestProcessLocker
101
{
102
if
($this->
getLocker
() instanceof
ilTestProcessLockerFile
) {
103
return
$this->
getLocker
();
104
}
105
106
return
new
ilTestProcessLockerNone
();
107
}
108
}
ilTestProcessLockerFactory\__construct
__construct(ilSetting $settings, ilDBInterface $db)
Definition:
class.ilTestProcessLockerFactory.php:48
ilTestProcessLockerFactory\withContextId
withContextId(int $contextId)
Definition:
class.ilTestProcessLockerFactory.php:59
ilObjAssessmentFolder\ASS_PROC_LOCK_MODE_DB
const ASS_PROC_LOCK_MODE_DB
Definition:
class.ilObjAssessmentFolder.php:34
ilTestProcessLockerFactory\$settings
$settings
Definition:
class.ilTestProcessLockerFactory.php:32
ilTestProcessLockerNone
Definition:
class.ilTestProcessLockerNone.php:27
ilTestProcessLockerFactory\$db
$db
Definition:
class.ilTestProcessLockerFactory.php:37
ilObjAssessmentFolder\ASS_PROC_LOCK_MODE_NONE
const ASS_PROC_LOCK_MODE_NONE
Definition:
class.ilObjAssessmentFolder.php:32
ilObjAssessmentFolder\ASS_PROC_LOCK_MODE_FILE
const ASS_PROC_LOCK_MODE_FILE
Definition:
class.ilObjAssessmentFolder.php:33
ilTestProcessLockerFactory
Definition:
class.ilTestProcessLockerFactory.php:27
ilTestProcessLockerFactory\getLockModeSettingValue
getLockModeSettingValue()
Definition:
class.ilTestProcessLockerFactory.php:67
ilTestProcessLockerFactory\getLocker
getLocker()
Definition:
class.ilTestProcessLockerFactory.php:75
ilTestProcessLockerFactory\retrieveLockerForNamedOperation
retrieveLockerForNamedOperation()
Definition:
class.ilTestProcessLockerFactory.php:100
ilDBInterface
ilTestProcessLockerFile
Definition:
class.ilTestProcessLockerFile.php:27
ILIAS\Repository\settings
settings()
Definition:
trait.GlobalDICDomainServices.php:93
ilTestProcessLockerFactory\getContextId
getContextId()
Definition:
class.ilTestProcessLockerFactory.php:54
ilTestProcessLockFileStorage
Definition:
class.ilTestProcessLockFileStorage.php:26
ilTestProcessLockerDb
Definition:
class.ilTestProcessLockerDb.php:27
ilTestProcessLocker
Definition:
class.ilTestProcessLocker.php:27
ILIAS\Repository\int
int(string $key)
Definition:
trait.BaseGUIRequest.php:61
ilSetting
ilTestProcessLockerFactory\$contextId
$contextId
Definition:
class.ilTestProcessLockerFactory.php:42
Modules
Test
classes
class.ilTestProcessLockerFactory.php
Generated on Wed Sep 10 2025 14:11:05 for ILIAS by
1.8.13 (using
Doxyfile
)