ILIAS
trunk Revision v12.0_alpha-377-g3641b37b9db
◀ ilDoc Overview
class.ilAssQuestionProcessLockerFactory.php
Go to the documentation of this file.
1
<?php
2
19
use
ILIAS\Test\Logging\TestLogger
;
20
27
class
ilAssQuestionProcessLockerFactory
28
{
29
protected
?
int
$question_id
=
null
;
30
protected
?
int
$user_id
=
null
;
31
32
public
function
__construct
(
33
private
readonly
ilSetting
$settings,
34
private
readonly
ilDBInterface
$db,
35
private
readonly
ilLogger
|
TestLogger
$logger
36
) {
37
}
38
39
public
function
setQuestionId
(
int
$question_id
): void
40
{
41
$this->question_id =
$question_id
;
42
}
43
44
public
function
getQuestionId
(): ?
int
45
{
46
return
$this->question_id
;
47
}
48
49
public
function
setUserId
(
int
$user_id
): void
50
{
51
$this->user_id =
$user_id
;
52
}
53
54
public
function
getUserId
(): ?
int
55
{
56
return
$this->user_id
;
57
}
58
59
private
function
getLockModeSettingValue
(): ?string
60
{
61
return
$this->
settings
->get(
'ass_process_lock_mode'
,
ilObjTestFolder::ASS_PROC_LOCK_MODE_NONE
);
62
}
63
64
public
function
getLocker
():
ilAssQuestionProcessLocker
65
{
66
switch
($this->
getLockModeSettingValue
()) {
67
case
ilObjTestFolder::ASS_PROC_LOCK_MODE_NONE
:
68
return
new
ilAssQuestionProcessLockerNone
();
69
70
case
ilObjTestFolder::ASS_PROC_LOCK_MODE_FILE
:
71
$storage =
new
ilAssQuestionProcessLockFileStorage
($this->
getQuestionId
(), $this->
getUserId
());
72
$storage->create();
73
return
new
ilAssQuestionProcessLockerFile
($storage, $this->
logger
);
74
75
case
ilObjTestFolder::ASS_PROC_LOCK_MODE_DB
:
76
return
new
ilAssQuestionProcessLockerDb
($this->db);
77
}
78
}
79
}
ILIAS\Test\Logging\TestLogger
Definition:
TestLogger.php:28
ilAssQuestionProcessLockFileStorage
Definition:
class.ilAssQuestionProcessLockFileStorage.php:26
ilAssQuestionProcessLockerDb
Definition:
class.ilAssQuestionProcessLockerDb.php:26
ilAssQuestionProcessLockerFactory
Definition:
class.ilAssQuestionProcessLockerFactory.php:28
ilAssQuestionProcessLockerFactory\setQuestionId
setQuestionId(int $question_id)
Definition:
class.ilAssQuestionProcessLockerFactory.php:39
ilAssQuestionProcessLockerFactory\$question_id
int $question_id
Definition:
class.ilAssQuestionProcessLockerFactory.php:29
ilAssQuestionProcessLockerFactory\$user_id
int $user_id
Definition:
class.ilAssQuestionProcessLockerFactory.php:30
ilAssQuestionProcessLockerFactory\setUserId
setUserId(int $user_id)
Definition:
class.ilAssQuestionProcessLockerFactory.php:49
ilAssQuestionProcessLockerFactory\getLockModeSettingValue
getLockModeSettingValue()
Definition:
class.ilAssQuestionProcessLockerFactory.php:59
ilAssQuestionProcessLockerFactory\getUserId
getUserId()
Definition:
class.ilAssQuestionProcessLockerFactory.php:54
ilAssQuestionProcessLockerFactory\__construct
__construct(private readonly ilSetting $settings, private readonly ilDBInterface $db, private readonly ilLogger|TestLogger $logger)
Definition:
class.ilAssQuestionProcessLockerFactory.php:32
ilAssQuestionProcessLockerFactory\getLocker
getLocker()
Definition:
class.ilAssQuestionProcessLockerFactory.php:64
ilAssQuestionProcessLockerFactory\getQuestionId
getQuestionId()
Definition:
class.ilAssQuestionProcessLockerFactory.php:44
ilAssQuestionProcessLockerFile
Definition:
class.ilAssQuestionProcessLockerFile.php:28
ilAssQuestionProcessLockerNone
Definition:
class.ilAssQuestionProcessLockerNone.php:26
ilAssQuestionProcessLocker
Definition:
class.ilAssQuestionProcessLocker.php:26
ilLogger
Component logger with individual log levels by component id.
Definition:
class.ilLogger.php:29
ilObjTestFolder\ASS_PROC_LOCK_MODE_DB
const ASS_PROC_LOCK_MODE_DB
Definition:
ilObjTestFolder.php:37
ilObjTestFolder\ASS_PROC_LOCK_MODE_NONE
const ASS_PROC_LOCK_MODE_NONE
Definition:
ilObjTestFolder.php:35
ilObjTestFolder\ASS_PROC_LOCK_MODE_FILE
const ASS_PROC_LOCK_MODE_FILE
Definition:
ilObjTestFolder.php:36
ilSetting
ILIAS Setting Class.
Definition:
class.ilSetting.php:27
ilDBInterface
Interface ilDBInterface.
Definition:
interface.ilDBInterface.php:30
ILIAS\Repository\int
int(string $key)
Definition:
trait.BaseGUIRequest.php:61
ILIAS\Repository\logger
logger()
Definition:
trait.GlobalDICDomainServices.php:71
ILIAS\Repository\settings
settings()
Definition:
trait.GlobalDICDomainServices.php:96
components
ILIAS
TestQuestionPool
classes
class.ilAssQuestionProcessLockerFactory.php
Generated on Sat Dec 13 2025 23:03:50 for ILIAS by
1.9.4 (using
Doxyfile
)