ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
Factory.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\Refinery;
22 
23 use ILIAS\Refinery\Random\Group as RandomGroup;
24 
25 class Factory
26 {
27  private \ILIAS\Data\Factory $dataFactory;
28  private \ILIAS\Language\Language $language;
29 
30  public function __construct(\ILIAS\Data\Factory $dataFactory, \ILIAS\Language\Language $language)
31  {
32  $this->dataFactory = $dataFactory;
33  $this->language = $language;
34 
35  $this->language->loadLanguageModule('validation');
36  }
37 
42  public function to(): To\Group
43  {
44  return new To\Group($this->dataFactory, $this->language);
45  }
46 
56  public function kindlyTo(): KindlyTo\Group
57  {
58  return new KindlyTo\Group($this->dataFactory);
59  }
60 
66  public function in(): In\Group
67  {
68  return new In\Group();
69  }
70 
75  public function int(): Integer\Group
76  {
77  return new Integer\Group($this->dataFactory, $this->language, $this->in());
78  }
79 
83  public function string(): String\Group
84  {
85  return new String\Group($this->dataFactory, $this->language);
86  }
87 
91  public function custom(): Custom\Group
92  {
93  return new Custom\Group($this->dataFactory, $this->language);
94  }
95 
99  public function container(): Container\Group
100  {
101  return new Container\Group($this->dataFactory);
102  }
103 
107  public function password(): Password\Group
108  {
109  return new Password\Group($this->dataFactory, $this->language);
110  }
111 
115  public function logical(): Logical\Group
116  {
117  return new Logical\Group($this->dataFactory, $this->language);
118  }
119 
123  public function null(): Constraint
124  {
125  return new IsNull($this->dataFactory, $this->language);
126  }
127 
131  public function numeric(): Numeric\Group
132  {
133  return new Numeric\Group($this->dataFactory, $this->language);
134  }
135 
139  public function dateTime(): DateTime\Group
140  {
141  return new DateTime\Group();
142  }
143 
147  public function uri(): URI\Group
148  {
149  return new URI\Group();
150  }
151 
152  public function encode(): Encode\Group
153  {
154  return new Encode\Group();
155  }
156 
161  public function byTrying(array $transformations): ByTrying
162  {
163  return new ByTrying($transformations, $this->dataFactory, $this->language);
164  }
165 
166  public function random(): RandomGroup
167  {
168  return new RandomGroup();
169  }
170 
171  public function identity(): Transformation
172  {
173  return new IdentityTransformation();
174  }
175 
176  public function always($value): Transformation
177  {
178  return new ConstantTransformation($value);
179  }
180 
181  public function executable(): Transformation
182  {
183  return new IsExecutableTransformation($this->language);
184  }
185 }
custom()
Contains constraints and transformations for custom functions.
Definition: Factory.php:91
in()
Creates a factory object to create a transformation object, that can be used to execute other transfo...
Definition: Factory.php:66
null()
Contains constraints for null types.
Definition: Factory.php:123
byTrying(array $transformations)
Accepts Transformations and uses first successful one.
Definition: Factory.php:161
Validates that the given string is a valid and executable file path.
__construct(\ILIAS\Data\Factory $dataFactory, \ILIAS\Language\Language $language)
Definition: Factory.php:30
logical()
Contains constraints for logical compositions with other constraints.
Definition: Factory.php:115
Interface Observer Contains several chained tasks and infos about them.
A constraint encodes some resrtictions on values.
Definition: Constraint.php:31
numeric()
Contains constraints for numeric data types.
Definition: Factory.php:131
container()
Contains constraints for container types (e.g.
Definition: Factory.php:99
password()
Contains constraints for password strings.
Definition: Factory.php:107
dateTime()
Contains transformations for DateTime.
Definition: Factory.php:139
ILIAS Data Factory $dataFactory
Definition: Factory.php:27
uri()
Contains transformations for Data.
Definition: Factory.php:147
int()
Contains constraints and transformations on numbers.
Definition: Factory.php:75
to()
Combined validations and transformations for primitive data types that establish a baseline for furth...
Definition: Factory.php:42
A transformation is a function from one datatype to another.
language()
description: > Example for rendring a language glyph.
Definition: language.php:25
kindlyTo()
Combined validations and transformations for primitive data types that establish a baseline for furth...
Definition: Factory.php:56
string()
Contains constraints for string.
Definition: Factory.php:83
ILIAS Language Language $language
Definition: Factory.php:28