Code Coverage
 
Lines
Branches
Paths
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3declare(strict_types=1);
4
5namespace Drupal\display_builder;
6
7use Drupal\Core\Entity\EntityInterface;
8
9/**
10 * Provides an interface defining a display builder instance entity type.
11 */
12interface InstanceInterface extends EntityInterface, HistoryInterface {
13
14  /**
15   * Returns the display builder profile.
16   *
17   * @return \Drupal\display_builder\ProfileInterface|null
18   *   The display builder profile.
19   */
20  public function getProfile(): ?ProfileInterface;
21
22  /**
23   * Set the display builder profile from id.
24   *
25   * @param string $profile_id
26   *   Entity ID of the display builder profile.
27   */
28  public function setProfile(string $profile_id): void;
29
30  /**
31   * Move an instance to root.
32   *
33   * @param string $node_id
34   *   The node ID of the source.
35   * @param int $position
36   *   The position.
37   *
38   * @return bool
39   *   True if success, false otherwise.
40   */
41  public function moveToRoot(string $node_id, int $position): bool;
42
43  /**
44   * Attach a new source instance to root.
45   *
46   * @param int $position
47   *   The position.
48   * @param string $source_id
49   *   The source ID.
50   * @param array $data
51   *   The source data.
52   * @param array $third_party_settings
53   *   (Optional) The source third party settings. Used for paste/duplicate.
54   *
55   * @return string
56   *   The node ID of the source.
57   */
58  public function attachToRoot(int $position, string $source_id, array $data, array $third_party_settings = []): string;
59
60  /**
61   * Attach a new source to a slot.
62   *
63   * @param string $parent_id
64   *   The parent id.
65   * @param string $slot_id
66   *   The slot id.
67   * @param int $position
68   *   The position.
69   * @param string $source_id
70   *   The source ID.
71   * @param array $data
72   *   The source data.
73   * @param array $third_party_settings
74   *   (Optional) The source third party settings. Used for paste/duplicate.
75   *
76   * @return string
77   *   The node ID of the source.
78   */
79  public function attachToSlot(string $parent_id, string $slot_id, int $position, string $source_id, array $data, array $third_party_settings = []): string;
80
81  /**
82   * Move an instance to a slot.
83   *
84   * @param string $node_id
85   *   The node ID of the source.
86   * @param string $parent_id
87   *   The parent id.
88   * @param string $slot_id
89   *   The slot id.
90   * @param int $position
91   *   The position.
92   *
93   * @return bool
94   *   True if success, false otherwise.
95   */
96  public function moveToSlot(string $node_id, string $parent_id, string $slot_id, int $position): bool;
97
98  /**
99   * Get instance data.
100   *
101   * @param string $node_id
102   *   The node ID of the source.
103   *
104   * @return array
105   *   The instance data.
106   */
107  public function get(string $node_id): array;
108
109  /**
110   * Get the parent id of an instance.
111   *
112   * @param array $root
113   *   The root data.
114   * @param string $node_id
115   *   The node ID of the source.
116   *
117   * @return string
118   *   The parent id or empty.
119   */
120  public function getParentId(array $root, string $node_id): string;
121
122  /**
123   * Set the source for an instance.
124   *
125   * @param string $node_id
126   *   The node ID of the source.
127   * @param string $source_id
128   *   The source id.
129   * @param array $data
130   *   The source data.
131   */
132  public function setSource(string $node_id, string $source_id, array $data): void;
133
134  /**
135   * Set the third party settings for an instance.
136   *
137   * @param string $node_id
138   *   The node ID of the source.
139   * @param string $island_id
140   *   The island id (relative to third party settings).
141   * @param array $data
142   *   The third party data for the island.
143   */
144  public function setThirdPartySettings(string $node_id, string $island_id, array $data): void;
145
146  /**
147   * Remove an instance.
148   *
149   * @param string $node_id
150   *   The node ID of the source.
151   */
152  public function remove(string $node_id): void;
153
154  /**
155   * Set the save value of a display builder.
156   *
157   * @param array $save_data
158   *   The builder data to save.
159   */
160  public function setSave(array $save_data): void;
161
162  /**
163   * Gets the values for all defined contexts.
164   *
165   * @return \Drupal\Core\Plugin\Context\ContextInterface[]|null
166   *   An array of set contexts, keyed by context name.
167   */
168  public function getContexts(): ?array;
169
170  /**
171   * Get users.
172   *
173   * All users which have authored a step in present, past or future, with the
174   * most recent date of action.
175   *
176   * @return array
177   *   Each key is an User entity ID, each value is a timestamp.
178   */
179  public function getUsers(): array;
180
181  /**
182   * Check display has required context, meaning it can save value.
183   *
184   * @param \Drupal\Core\Plugin\Context\ContextInterface[]|null $contexts
185   *   (Optional) contexts if already accessible, keyed by context name.
186   *
187   * @return bool
188   *   True if required, False otherwise.
189   */
190  public function canSaveContextsRequirement(?array $contexts = NULL): bool;
191
192  /**
193   * Check display has required context, meaning it can save value.
194   *
195   * @param string $key
196   *   The context key to look for.
197   * @param \Drupal\Core\Plugin\Context\ContextInterface[] $contexts
198   *   (Optional) contexts if already accessible, keyed by context name.
199   *
200   * @return bool
201   *   True if required, False otherwise.
202   */
203  public function hasSaveContextsRequirement(string $key, array $contexts = []): bool;
204
205  /**
206   * If display builder has been saved.
207   *
208   * @return bool
209   *   Has save data.
210   */
211  public function hasSave(): bool;
212
213  /**
214   * The save value is the current value of display builder.
215   *
216   * @return bool
217   *   The save is the current or not.
218   */
219  public function saveIsCurrent(): bool;
220
221  /**
222   * Get the path index.
223   *
224   * @param array $root
225   *   (Optional) The root state.
226   *
227   * @return array
228   *   The path index.
229   */
230  public function getPathIndex(array $root = []): array;
231
232  /**
233   * Restore to the last saved state.
234   */
235  public function restore(): void;
236
237  /**
238   * Get a hash for this data as uniq id reference.
239   *
240   * @param array $data
241   *   The data to generate uniq id for.
242   *
243   * @return int
244   *   The uniq id value.
245   */
246  public static function getUniqId(array $data): int;
247
248}

Branches

Below are the source code lines that represent each code branch as identified by Xdebug. Please note a branch is not necessarily coterminous with a line, a line may contain multiple branches and therefore show up more than once. Please also be aware that some branches may be implicit rather than explicit, e.g. an if statement always has an else as part of its logical flow even if you didn't write one.