ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilObjectPropertiesAgregator Class Reference

Description of class. More...

+ Collaboration diagram for ilObjectPropertiesAgregator:

Public Member Functions

 __construct (private ilObjectCorePropertiesRepository $core_properties_repository, private ilObjectAdditionalPropertiesRepository $additional_properties_repository, private ObjectTypeSpecificPropertiesFactory $object_type_specific_properties_factory)
 
 getFor (int $object_id, string $type=null)
 
 preload (array $object_ids)
 

Detailed Description

Description of class.

Author
Stephan Kergomard

Definition at line 28 of file class.ilObjectPropertiesAgregator.php.

Constructor & Destructor Documentation

◆ __construct()

ilObjectPropertiesAgregator::__construct ( private ilObjectCorePropertiesRepository  $core_properties_repository,
private ilObjectAdditionalPropertiesRepository  $additional_properties_repository,
private ObjectTypeSpecificPropertiesFactory  $object_type_specific_properties_factory 
)

Definition at line 30 of file class.ilObjectPropertiesAgregator.php.

34  {
35  }

Member Function Documentation

◆ getFor()

ilObjectPropertiesAgregator::getFor ( int  $object_id,
string  $type = null 
)

Definition at line 37 of file class.ilObjectPropertiesAgregator.php.

38  {
39  $core_properties = $this->core_properties_repository->getFor($object_id, $type);
40 
41  return new ilObjectProperties(
42  $core_properties,
43  $this->core_properties_repository,
44  $this->additional_properties_repository->getFor($object_id),
45  $this->additional_properties_repository,
46  new ilMD($object_id, 0, $core_properties->getType() ?? '')
47  );
48  }

◆ preload()

ilObjectPropertiesAgregator::preload ( array  $object_ids)

Definition at line 50 of file class.ilObjectPropertiesAgregator.php.

References ilObject\_lookupType().

50  : void
51  {
52  $this->core_properties_repository->preload($object_ids);
53  $objects_by_type = [];
54  foreach ($object_ids as $obj_id) {
55  $type = ilObject::_lookupType($obj_id);
56 
57  if (!array_key_exists($type, $objects_by_type)) {
58  $objects_by_type[$type] = [];
59  }
60  $objects_by_type[$type][] = $obj_id;
61  }
62 
63  foreach ($objects_by_type as $type => $obj_ids) {
64  $this->object_type_specific_properties_factory->getForObjectTypeString($type)?->preload($obj_ids);
65  }
66  }
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: