ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
AdditonalProperties.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
28
33{
37 private bool $property_icon_updated = false;
38
39 public function __construct(
40 private TitleAndIconVisibility $property_title_and_icon_visibility,
41 private HeaderActionVisibility $property_header_action_visibility,
42 private InfoTabVisibility $property_info_tab_visibility,
43 private Icon $property_icon,
44 private ?int $object_id = null
45 ) {
46 }
47
48 public function getObjectId(): ?int
49 {
50 return $this->object_id;
51 }
52
54 {
55 return $this->property_title_and_icon_visibility;
56 }
57
59 {
61 }
62
63 public function withPropertyTitleAndIconVisibility(TitleAndIconVisibility $property_title_and_icon_visibility): self
64 {
65 $clone = clone $this;
66 $clone->property_title_and_icon_visibility = $property_title_and_icon_visibility;
67 $clone->property_title_and_icon_visibility_updated = true;
68 return $clone;
69 }
70
72 {
73 return $this->property_header_action_visibility;
74 }
75
77 {
79 }
80
81 public function withPropertyHeaderActionVisibility(HeaderActionVisibility $property_header_action_visibility): self
82 {
83 $clone = clone $this;
84 $clone->property_header_action_visibility = $property_header_action_visibility;
85 $clone->property_header_action_visibility_updated = true;
86 return $clone;
87 }
88
90 {
91 return $this->property_info_tab_visibility;
92 }
93
94 public function wasPropertyInfoTabVisbilityUpdated(): bool
95 {
97 }
98
99 public function withPropertyInfoTabVisibility(InfoTabVisibility $property_info_tab_visibility): self
100 {
101 $clone = clone $this;
102 $clone->property_info_tab_visibility = $property_info_tab_visibility;
103 $clone->property_info_tab_visibility_updated = true;
104 return $clone;
105 }
106
107 public function getPropertyIcon(): Icon
108 {
109 return $this->property_icon;
110 }
111
112 public function wasPropertyIconUpdated(): bool
113 {
115 }
116
117 public function withPropertyIcon(Icon $property_icon): self
118 {
119 $clone = clone $this;
120 $clone->property_icon = $property_icon;
121 $clone->property_icon_updated = true;
122 return $clone;
123 }
124
125 public function withResetUpdatedFlags(): self
126 {
127 $clone = clone $this;
128 $clone->property_title_and_icon_visibility_updated = false;
129 $clone->property_header_action_visibility_updated = false;
130 $clone->property_info_tab_visibility_updated = false;
131 $clone->property_icon_updated = false;
132 return $clone;
133 }
134}
withPropertyHeaderActionVisibility(HeaderActionVisibility $property_header_action_visibility)
withPropertyTitleAndIconVisibility(TitleAndIconVisibility $property_title_and_icon_visibility)
__construct(private TitleAndIconVisibility $property_title_and_icon_visibility, private HeaderActionVisibility $property_header_action_visibility, private InfoTabVisibility $property_info_tab_visibility, private Icon $property_icon, private ?int $object_id=null)
withPropertyInfoTabVisibility(InfoTabVisibility $property_info_tab_visibility)