Class ilDclFieldFactory This Class handles the creation of all field-classes.
More...
Class ilDclFieldFactory This Class handles the creation of all field-classes.
- Author
- Michael Herren mh@st.nosp@m.uder.nosp@m.-raim.nosp@m.ann..nosp@m.ch
- Version
- 1.0.0
Definition at line 14 of file class.ilDclFieldFactory.php.
◆ getClassByInstance()
◆ getClassPathByInstance()
static ilDclFieldFactory::getClassPathByInstance |
( |
ilDclBaseFieldModel |
$field, |
|
|
|
$class_pattern |
|
) |
| |
|
static |
- Parameters
-
- Returns
- string
- Exceptions
-
Definition at line 350 of file class.ilDclFieldFactory.php.
350 {
352
353 if ($field->
getId() !=
null && !empty(self::$class_path_cache[$field->
getId()][$class_pattern])) {
354 return self::$class_path_cache[$field->
getId()][$class_pattern];
355 }
356
360 if ($plugin_data == null) {
361 throw new ilDclException(
"Something went wrong by initializing the FieldHook-Plugin '"
365 }
366
367 $class_path = $plugin_data->getDirectory() . "/classes/";
368 } else {
369 $class_path =
sprintf(self::$field_base_path_patter, ucfirst(self::parseDatatypeTitle($datatype->getTitle())));
370 }
371 } else {
372 $class_path =
sprintf(self::$field_base_path_patter, ucfirst(self::parseDatatypeTitle($datatype->getTitle())));
373 }
374
376
377 if($field->
getId() !=
null) {
378 self::$class_path_cache[$field->
getId()][$class_pattern] = $return;
379 }
380
381 return $return;
382 }
sprintf('%.4f', $callTime)
const PROP_PLUGIN_HOOK_NAME
hasProperty($key)
Checks if a certain property for a field is set.
getProperty($key)
Returns a certain property of a field.
static getFieldClassFile($datatype, $class_pattern)
Get Filename from datatype and pattern.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get plugin object.
References ilDclFieldTypePlugin\COMPONENT_NAME, ilDclBaseFieldModel\getDatatype(), getFieldClassFile(), ilDclBaseFieldModel\getId(), ilPlugin\getPluginObject(), ilDclBaseFieldModel\getProperty(), ilDclBaseFieldModel\getTitle(), ilDclBaseFieldModel\hasProperty(), IL_COMP_MODULE, ilDclDatatype\INPUTFORMAT_PLUGIN, ilDclBaseFieldModel\PROP_PLUGIN_HOOK_NAME, ilDclFieldTypePlugin\SLOT_ID, and sprintf.
Referenced by getFieldModelInstanceByClass(), getFieldRepresentationInstance(), getRecordFieldInstance(), and getRecordRepresentationInstance().
◆ getFieldClass()
static ilDclFieldFactory::getFieldClass |
( |
|
$datatype, |
|
|
|
$class_pattern |
|
) |
| |
|
static |
◆ getFieldClassFile()
static ilDclFieldFactory::getFieldClassFile |
( |
|
$datatype, |
|
|
|
$class_pattern |
|
) |
| |
|
static |
◆ getFieldModelInstance()
static ilDclFieldFactory::getFieldModelInstance |
( |
|
$field_id, |
|
|
|
$datatype = null |
|
) |
| |
|
static |
Get FieldModel from field-id and datatype.
- Parameters
-
- Returns
- mixed
- Exceptions
-
Definition at line 222 of file class.ilDclFieldFactory.php.
222 {
224 if ($datatype != null) {
225 $base->setDatatypeId($datatype);
226 }
227
229
230 return $ilDclBaseFieldModel;
231 }
Class ilDclBaseFieldModel.
static getFieldModelInstanceByClass(ilDclBaseFieldModel $field, $field_id=null)
Gets the correct instance of a fieldModel class Checks if a field is a plugin a replaces the fieldMod...
References getFieldModelInstanceByClass().
Referenced by ilDclFieldEditGUI\__construct(), and ilDclCache\getFieldCache().
◆ getFieldModelInstanceByClass()
static ilDclFieldFactory::getFieldModelInstanceByClass |
( |
ilDclBaseFieldModel |
$field, |
|
|
|
$field_id = null |
|
) |
| |
|
static |
◆ getFieldRepresentationInstance()
◆ getFieldTypeByInstance()
◆ getPluginNameFromFieldModel()
◆ getRecordFieldInstance()
Creates a RecordField instance and loads the field and record representation.
- Parameters
-
- Returns
- mixed
- Exceptions
-
Definition at line 59 of file class.ilDclFieldFactory.php.
59 {
60 if (!empty(self::$record_field_cache[$field->
getId()][$record->
getId()])) {
61 return self::$record_field_cache[$field->
getId()][$record->
getId()];
62 }
63
65 if (file_exists(
$path)) {
68 $instance = new $class($record, $field);
70 if (!$instance->getFieldRepresentation()) {
71 $instance->setFieldRepresentation(self::getFieldRepresentationInstance($field));
72 }
73
74 if (!$instance->getRecordRepresentation()) {
75 $instance->setRecordRepresentation(self::getRecordRepresentationInstance($instance));
76 }
77 self::$record_field_cache[$field->
getId()][$record->
getId()] = $instance;
78
79 return $instance;
80 }
81 }
82 }
Class ilDclBaseFieldModel.
References $path, getClassByInstance(), getClassPathByInstance(), ilDclBaseFieldModel\getId(), and ilDclBaseRecordModel\getId().
Referenced by ilDclCache\getRecordFieldCache().
◆ getRecordModelInstance()
static ilDclFieldFactory::getRecordModelInstance |
( |
|
$record_id | ) |
|
|
static |
◆ getRecordRepresentationInstance()
◆ parseDatatypeTitle()
static ilDclFieldFactory::parseDatatypeTitle |
( |
|
$title | ) |
|
|
static |
Parse string to FieldClass format Replaces _ with camelcase-notation.
- Parameters
-
- Returns
- string
Definition at line 393 of file class.ilDclFieldFactory.php.
393 {
394 $parts = explode(
"_",
$title);
395 $func = function ($value) {
396 return ucfirst($value);
397 };
398
399 $parts = array_map($func, $parts);
400 $title = implode(
"", $parts);
401
403 }
References $title.
◆ $class_path_cache
ilDclFieldFactory::$class_path_cache = array() |
|
staticprotected |
◆ $default_prefix
ilDclFieldFactory::$default_prefix = "ilDcl" |
|
static |
◆ $field_base_path_patter
ilDclFieldFactory::$field_base_path_patter = "./Modules/DataCollection/classes/Fields/%s/" |
|
static |
◆ $field_class_cache
ilDclFieldFactory::$field_class_cache = array() |
|
staticprotected |
◆ $field_class_patter
ilDclFieldFactory::$field_class_patter = "%sFieldModel" |
|
static |
◆ $field_model_cache
ilDclFieldFactory::$field_model_cache = array() |
|
staticprotected |
◆ $field_representation_cache
ilDclFieldFactory::$field_representation_cache = array() |
|
staticprotected |
◆ $field_representation_class_pattern
ilDclFieldFactory::$field_representation_class_pattern = "%sFieldRepresentation" |
|
static |
◆ $field_type_cache
ilDclFieldFactory::$field_type_cache = array() |
|
staticprotected |
◆ $record_class_patter
ilDclFieldFactory::$record_class_patter = "%sRecordModel" |
|
static |
◆ $record_field_cache
ilDclFieldFactory::$record_field_cache = array() |
|
staticprotected |
◆ $record_field_class_patter
ilDclFieldFactory::$record_field_class_patter = "%sRecordFieldModel" |
|
static |
◆ $record_representation_cache
ilDclFieldFactory::$record_representation_cache = array() |
|
staticprotected |
◆ $record_representation_class_pattern
ilDclFieldFactory::$record_representation_class_pattern = "%sRecordRepresentation" |
|
static |
The documentation for this class was generated from the following file: