ILIAS
release_9 Revision v9.13-25-g2c18ec4c24f
◀ ilDoc Overview
DataValidatorService.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
21
namespace
ILIAS\MetaData\Repository\Validation\Data
;
22
23
use
ILIAS\MetaData\Elements\Data\Type
;
24
use
ILIAS\MetaData\Vocabularies\VocabulariesInterface
;
25
use
ILIAS\MetaData\DataHelper\DataHelperInterface
;
26
27
class
DataValidatorService
28
{
29
protected
DatetimeValidator
$datetime
;
30
protected
DurationValidator
$duration
;
31
protected
LangValidator
$lang
;
32
protected
NonNegIntValidator
$non_neg_int
;
33
protected
NullValidator
$null
;
34
protected
StringValidator
$string
;
35
protected
VocabSourceValidator
$vocab_source
;
36
protected
VocabValueValidator
$vocab_value
;
37
38
public
function
__construct
(
39
VocabulariesInterface
$vocabularies,
40
DataHelperInterface
$data_helper
41
) {
42
$this->datetime =
new
DatetimeValidator
($data_helper);
43
$this->duration =
new
DurationValidator
($data_helper);
44
$this->lang =
new
LangValidator
($data_helper);
45
$this->non_neg_int =
new
NonNegIntValidator
();
46
$this->null =
new
NullValidator
();
47
$this->
string
=
new
StringValidator
();
48
$this->vocab_source =
new
VocabSourceValidator
($vocabularies);
49
$this->vocab_value =
new
VocabValueValidator
($vocabularies);
50
}
51
52
public
function
validator
(
Type
$type):
DataValidatorInterface
53
{
54
switch
($type) {
55
case
Type::NULL:
56
return
$this->null
;
57
58
case
Type::STRING:
59
return
$this->string
;
60
61
case
Type::LANG:
62
return
$this->lang
;
63
64
case
Type::VOCAB_SOURCE:
65
return
$this->vocab_source
;
66
67
case
Type::VOCAB_VALUE:
68
return
$this->vocab_value
;
69
70
case
Type::DATETIME:
71
return
$this->datetime
;
72
73
case
Type::NON_NEG_INT:
74
return
$this->non_neg_int
;
75
76
case
Type::DURATION
:
77
return
$this->duration
;
78
}
79
throw
new \ilMDRepositoryException(
80
'Unhandled data type when validating.'
81
);
82
}
83
}
ILIAS\MetaData\Repository\Validation\Data\VocabSourceValidator
Definition:
VocabSourceValidator.php:25
ILIAS\MetaData\Elements\Data\DURATION
Definition:
Type.php:32
ILIAS\MetaData\Repository\Validation\Data\NonNegIntValidator
Definition:
NonNegIntValidator.php:25
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\$lang
LangValidator $lang
Definition:
DataValidatorService.php:31
VocabulariesInterface
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\$string
StringValidator $string
Definition:
DataValidatorService.php:34
ILIAS\MetaData\Vocabularies\VocabulariesInterface
Definition:
VocabulariesInterface.php:26
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\$non_neg_int
NonNegIntValidator $non_neg_int
Definition:
DataValidatorService.php:32
ILIAS\MetaData\Repository\Validation\Data\VocabValueValidator
Definition:
VocabValueValidator.php:25
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\$duration
DurationValidator $duration
Definition:
DataValidatorService.php:30
DataHelperInterface
ILIAS\MetaData\Repository\Validation\Data\DataValidatorInterface
Definition:
DataValidatorInterface.php:25
ILIAS\MetaData\DataHelper\DataHelperInterface
Definition:
DataHelperInterface.php:23
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\$vocab_source
VocabSourceValidator $vocab_source
Definition:
DataValidatorService.php:35
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\$null
NullValidator $null
Definition:
DataValidatorService.php:33
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\$datetime
DatetimeValidator $datetime
Definition:
DataValidatorService.php:29
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\__construct
__construct(VocabulariesInterface $vocabularies, DataHelperInterface $data_helper)
Definition:
DataValidatorService.php:38
ILIAS\MetaData\Repository\Validation\Data\NullValidator
Definition:
NullValidator.php:25
ILIAS\MetaData\Repository\Validation\Data
Definition:
DataFetcher.php:21
ILIAS\MetaData\Repository\Validation\Data\DurationValidator
Definition:
DurationValidator.php:26
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService
Definition:
DataValidatorService.php:27
ILIAS\MetaData\Repository\Validation\Data\LangValidator
Definition:
LangValidator.php:26
ILIAS\MetaData\Elements\Data\Type
Type
Definition:
Type.php:23
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\validator
validator(Type $type)
Definition:
DataValidatorService.php:52
ILIAS\MetaData\Repository\Validation\Data\DatetimeValidator
Definition:
DatetimeValidator.php:26
ILIAS\MetaData\Repository\Validation\Data\StringValidator
Definition:
StringValidator.php:25
ILIAS\MetaData\Repository\Validation\Data\DataValidatorService\$vocab_value
VocabValueValidator $vocab_value
Definition:
DataValidatorService.php:36
Services
MetaData
classes
Repository
Validation
Data
DataValidatorService.php
Generated on Wed Sep 10 2025 14:11:45 for ILIAS by
1.8.13 (using
Doxyfile
)