54 : void
55 {
59 $DIC[
'resource_storage'],
61 $c[
'properties.additional.tile_image.stackholder'],
62 $c[
'properties.additional.tile_image.flavour']
63 );
64
65 $this[
'properties.aggregator'] = fn(
$c): Aggregator => new Aggregator(
66 $c[
'properties.core.repository'],
67 $c[
'properties.additional.repository'],
68 $c[
'properties.translations.repository'],
69 $c[
'properties.object_type_specific.factory'],
70 $DIC[
'learning_object_metadata']
71 );
72
73 $this[
'properties.core.repository'] = fn(
$c): CorePropertiesRepository
74 => new CorePropertiesCachedRepository(
76 $DIC[
'objDefinition'],
77 $DIC[
'resource_storage'],
78 $c[
'properties.additional.tile_image.stackholder'],
79 new FlavourDefinition(),
80 $c[
'properties.object_type_specific.factory']
81 );
82
83 $this[
'properties.multi_manipulator'] = fn(
$c): MultiPropertiesManipulator
84 => new MultiPropertiesManipulator(
85 $c[
'properties.object_reference.repositoy'],
86 $c[
'properties.aggregator'],
89 $DIC[
'user']->getLoggedInUser(),
93 );
94
95 $this[
'properties.additional.repository'] = fn(
$c): AdditionalPropertiesRepository
96 => new AdditionalPropertiesLegacyRepository(
97 $DIC[
'object.customicons.factory'],
98 $c[
'properties.object_type_specific.factory']
99 );
100
101 $this[
'properties.additional.tile_image.stackholder'] =
static fn(
$c): Stakeholder
102 => new Stakeholder();
103
104 $this[
'properties.additional.tile_image.flavour'] =
static fn(
$c): FlavourDefinition
105 => new FlavourDefinition();
106
107 $this[
'properties.object_type_specific.factory'] = fn(
$c): ObjectTypeSpecificPropertiesFactory
108 => new ObjectTypeSpecificPropertiesFactory(
109 is_readable(ArtifactObjective::PATH()) ?
110 include ArtifactObjective::PATH()
111 : [],
113 );
114
115 $this[
'properties.object_reference.repositoy'] = fn(
$c): ObjectReferencePropertiesRepository
116 => new ObjectReferencePropertiesRepository(
117 $c[
'properties.object_reference.availability_period.repository'],
119 );
120
121 $this[
'properties.object_reference.availability_period.repository'] = fn(
$c): AvailabilityPeriodRepository
122 => new AvailabilityPeriodRepository(
125 );
126 $this[
'properties.translations.repository'] = fn(
$c): TranslationsRepository
127 => new TranslationsRepository(
129 );
130 }