Skip to content

Commit 806f359

Browse files
CopilotArlodotexe
andcommitted
Fix interface hierarchy graphs: entity interfaces at root, IHasId at leaves only
Co-authored-by: Arlodotexe <9384894+Arlodotexe@users.noreply.github.com>
1 parent 513e20f commit 806f359

File tree

1 file changed

+126
-93
lines changed

1 file changed

+126
-93
lines changed

docs/reference/INTERFACE_INVENTORY.md

Lines changed: 126 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -202,115 +202,148 @@ public interface IReadOnlyConnection
202202
### IReadOnlyUser Interface Hierarchy
203203

204204
```
205-
IHasId (OwlCore.ComponentModel)
205+
IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection, IHasId
206206
207207
├── IReadOnlyEntity
208-
│ ├── IReadOnlyConnectionsCollection : IHasId
209-
│ ├── IReadOnlyLinksCollection : IHasId
210-
│ └── IReadOnlyImagesCollection : IHasId
208+
│ ├── IReadOnlyConnectionsCollection
209+
│ │ └── IHasId
210+
│ ├── IReadOnlyLinksCollection
211+
│ │ └── IHasId
212+
│ ├── IReadOnlyImagesCollection
213+
│ │ └── IHasId
214+
│ └── IHasId
211215
212-
├── IReadOnlyPublisherRoleCollection : IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
213-
│ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole> : IHasId
214-
│ └── IReadOnlyPublisherRole : IReadOnlyPublisher
215-
│ └── IReadOnlyPublisher : IReadOnlyPublisher<IReadOnlyPublisherRoleCollection>
216-
│ └── IReadOnlyPublisher<TPublisherCollection> : IReadOnlyEntity, IReadOnlyAccentColor, IReadOnlyUserRoleCollection, IReadOnlyProjectCollection, IHasId
217-
│ ├── IReadOnlyEntity (see above)
218-
│ ├── IReadOnlyAccentColor : IHasId
219-
│ ├── IReadOnlyUserRoleCollection : IReadOnlyUserCollection<IReadOnlyUserRole>
220-
│ │ └── IReadOnlyUserCollection<IReadOnlyUserRole> : IHasId
221-
│ │ └── IReadOnlyUserRole : IReadOnlyUser
222-
│ └── IReadOnlyProjectCollection : IReadOnlyProjectCollection<IReadOnlyProject>
223-
│ └── IReadOnlyProjectCollection<IReadOnlyProject> : IHasId
216+
├── IReadOnlyPublisherRoleCollection
217+
│ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
218+
│ ├── IReadOnlyPublisherRole : IReadOnlyPublisher
219+
│ │ └── IReadOnlyPublisher : IReadOnlyPublisher<IReadOnlyPublisherRoleCollection>
220+
│ │ └── IReadOnlyPublisher<TPublisherCollection> : IReadOnlyEntity, IReadOnlyAccentColor, IReadOnlyUserRoleCollection, IReadOnlyProjectCollection, IHasId
221+
│ │ ├── IReadOnlyEntity (see above)
222+
│ │ ├── IReadOnlyAccentColor
223+
│ │ │ └── IHasId
224+
│ │ ├── IReadOnlyUserRoleCollection
225+
│ │ │ └── IReadOnlyUserCollection<IReadOnlyUserRole>
226+
│ │ │ ├── IReadOnlyUserRole : IReadOnlyUser (circular reference)
227+
│ │ │ └── IHasId
228+
│ │ ├── IReadOnlyProjectCollection
229+
│ │ │ └── IHasId
230+
│ │ └── IHasId
231+
│ └── IHasId
224232
225-
└── IReadOnlyProjectRoleCollection : IReadOnlyProjectCollection<IReadOnlyProjectRole>
226-
└── IReadOnlyProjectCollection<IReadOnlyProjectRole> : IHasId
227-
└── IReadOnlyProjectRole : IReadOnlyProject
228-
└── IReadOnlyProject : IReadOnlyProject<IReadOnlyProjectCollection>
229-
└── IReadOnlyProject<TDependencyCollection> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection, IHasId
230-
├── IReadOnlyEntity (see above)
231-
├── IReadOnlyImagesCollection : IHasId (see above)
232-
├── IReadOnlyUserRoleCollection (see above)
233-
├── IReadOnlyAccentColor : IHasId (see above)
234-
└── IReadOnlyFeaturesCollection : IHasId
235-
236-
Final IReadOnlyUser inheritance:
237-
IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection, IHasId
233+
├── IReadOnlyProjectRoleCollection
234+
│ └── IReadOnlyProjectCollection<IReadOnlyProjectRole>
235+
│ ├── IReadOnlyProjectRole : IReadOnlyProject
236+
│ │ └── IReadOnlyProject : IReadOnlyProject<IReadOnlyProjectCollection>
237+
│ │ └── IReadOnlyProject<TDependencyCollection> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection, IHasId
238+
│ │ ├── IReadOnlyEntity (see above)
239+
│ │ ├── IReadOnlyImagesCollection (see above)
240+
│ │ ├── IReadOnlyUserRoleCollection (see above)
241+
│ │ ├── IReadOnlyAccentColor (see above)
242+
│ │ ├── IReadOnlyFeaturesCollection
243+
│ │ │ └── IHasId
244+
│ │ └── IHasId
245+
│ └── IHasId
246+
247+
└── IHasId
238248
```
239249

240250
### IReadOnlyProject Interface Hierarchy
241251

242252
```
243-
IHasId (OwlCore.ComponentModel)
244-
245-
├── IReadOnlyEntity
246-
│ ├── IReadOnlyConnectionsCollection : IHasId
247-
│ ├── IReadOnlyLinksCollection : IHasId
248-
│ └── IReadOnlyImagesCollection : IHasId
249-
250-
├── IReadOnlyImagesCollection : IHasId (additional images beyond IReadOnlyEntity)
251-
252-
├── IReadOnlyUserRoleCollection : IReadOnlyUserCollection<IReadOnlyUserRole>
253-
│ └── IReadOnlyUserCollection<IReadOnlyUserRole> : IHasId
254-
│ └── IReadOnlyUserRole : IReadOnlyUser
255-
│ └── IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection, IHasId
256-
│ ├── IReadOnlyEntity (see above)
257-
│ ├── IReadOnlyPublisherRoleCollection : IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
258-
│ │ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole> : IHasId
259-
│ └── IReadOnlyProjectRoleCollection : IReadOnlyProjectCollection<IReadOnlyProjectRole>
260-
│ └── IReadOnlyProjectCollection<IReadOnlyProjectRole> : IHasId
261-
262-
├── IReadOnlyAccentColor : IHasId
263-
264-
├── IReadOnlyFeaturesCollection : IHasId
265-
266-
└── Dependencies (TDependencyCollection : IReadOnlyProjectCollection<IReadOnlyProject>)
267-
└── IReadOnlyProjectCollection<IReadOnlyProject> : IHasId
268-
269-
Final IReadOnlyProject inheritance:
270253
IReadOnlyProject : IReadOnlyProject<IReadOnlyProjectCollection>
271-
IReadOnlyProject<TDependencyCollection> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection, IHasId
254+
255+
└── IReadOnlyProject<TDependencyCollection> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection, IHasId
256+
257+
├── IReadOnlyEntity
258+
│ ├── IReadOnlyConnectionsCollection
259+
│ │ └── IHasId
260+
│ ├── IReadOnlyLinksCollection
261+
│ │ └── IHasId
262+
│ ├── IReadOnlyImagesCollection
263+
│ │ └── IHasId
264+
│ └── IHasId
265+
266+
├── IReadOnlyImagesCollection (additional images beyond IReadOnlyEntity)
267+
│ └── IHasId
268+
269+
├── IReadOnlyUserRoleCollection
270+
│ └── IReadOnlyUserCollection<IReadOnlyUserRole>
271+
│ ├── IReadOnlyUserRole : IReadOnlyUser
272+
│ │ └── IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection, IHasId
273+
│ │ ├── IReadOnlyEntity (see above)
274+
│ │ ├── IReadOnlyPublisherRoleCollection
275+
│ │ │ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
276+
│ │ │ └── IHasId
277+
│ │ ├── IReadOnlyProjectRoleCollection
278+
│ │ │ └── IReadOnlyProjectCollection<IReadOnlyProjectRole>
279+
│ │ │ └── IHasId
280+
│ │ └── IHasId
281+
│ └── IHasId
282+
283+
├── IReadOnlyAccentColor
284+
│ └── IHasId
285+
286+
├── IReadOnlyFeaturesCollection
287+
│ └── IHasId
288+
289+
├── Dependencies (TDependencyCollection : IReadOnlyProjectCollection<IReadOnlyProject>)
290+
│ └── IReadOnlyProjectCollection<IReadOnlyProject>
291+
│ ├── IReadOnlyProject (circular reference)
292+
│ └── IHasId
293+
294+
└── IHasId
272295
```
273296

274297
### IReadOnlyPublisher Interface Hierarchy
275298

276299
```
277-
IHasId (OwlCore.ComponentModel)
278-
279-
├── IReadOnlyEntity
280-
│ ├── IReadOnlyConnectionsCollection : IHasId
281-
│ ├── IReadOnlyLinksCollection : IHasId
282-
│ └── IReadOnlyImagesCollection : IHasId
283-
284-
├── IReadOnlyAccentColor : IHasId
285-
286-
├── IReadOnlyUserRoleCollection : IReadOnlyUserCollection<IReadOnlyUserRole>
287-
│ └── IReadOnlyUserCollection<IReadOnlyUserRole> : IHasId
288-
│ └── IReadOnlyUserRole : IReadOnlyUser
289-
│ └── IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection, IHasId
290-
│ ├── IReadOnlyEntity (see above)
291-
│ ├── IReadOnlyPublisherRoleCollection : IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
292-
│ │ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole> : IHasId
293-
│ └── IReadOnlyProjectRoleCollection : IReadOnlyProjectCollection<IReadOnlyProjectRole>
294-
│ └── IReadOnlyProjectCollection<IReadOnlyProjectRole> : IHasId
295-
296-
├── IReadOnlyProjectCollection : IReadOnlyProjectCollection<IReadOnlyProject>
297-
│ └── IReadOnlyProjectCollection<IReadOnlyProject> : IHasId
298-
│ └── IReadOnlyProject : IReadOnlyProject<IReadOnlyProjectCollection>
299-
│ └── IReadOnlyProject<TDependencyCollection> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection, IHasId
300-
│ ├── IReadOnlyEntity (see above)
301-
│ ├── IReadOnlyImagesCollection : IHasId (see above)
302-
│ ├── IReadOnlyUserRoleCollection (see above)
303-
│ ├── IReadOnlyAccentColor : IHasId (see above)
304-
│ └── IReadOnlyFeaturesCollection : IHasId
305-
306-
└── Publisher Hierarchy Collections (TPublisherCollection : IReadOnlyPublisherRoleCollection)
307-
└── IReadOnlyPublisherRoleCollection : IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
308-
└── IReadOnlyPublisherCollection<IReadOnlyPublisherRole> : IHasId
309-
└── IReadOnlyPublisherRole : IReadOnlyPublisher
310-
311-
Final IReadOnlyPublisher inheritance:
312300
IReadOnlyPublisher : IReadOnlyPublisher<IReadOnlyPublisherRoleCollection>
313-
IReadOnlyPublisher<TPublisherCollection> : IReadOnlyEntity, IReadOnlyAccentColor, IReadOnlyUserRoleCollection, IReadOnlyProjectCollection, IHasId
301+
302+
└── IReadOnlyPublisher<TPublisherCollection> : IReadOnlyEntity, IReadOnlyAccentColor, IReadOnlyUserRoleCollection, IReadOnlyProjectCollection, IHasId
303+
304+
├── IReadOnlyEntity
305+
│ ├── IReadOnlyConnectionsCollection
306+
│ │ └── IHasId
307+
│ ├── IReadOnlyLinksCollection
308+
│ │ └── IHasId
309+
│ ├── IReadOnlyImagesCollection
310+
│ │ └── IHasId
311+
│ └── IHasId
312+
313+
├── IReadOnlyAccentColor
314+
│ └── IHasId
315+
316+
├── IReadOnlyUserRoleCollection
317+
│ └── IReadOnlyUserCollection<IReadOnlyUserRole>
318+
│ ├── IReadOnlyUserRole : IReadOnlyUser
319+
│ │ └── IReadOnlyUser : IReadOnlyEntity, IReadOnlyPublisherRoleCollection, IReadOnlyProjectRoleCollection, IHasId
320+
│ │ ├── IReadOnlyEntity (see above)
321+
│ │ ├── IReadOnlyPublisherRoleCollection (circular reference)
322+
│ │ ├── IReadOnlyProjectRoleCollection
323+
│ │ │ └── IReadOnlyProjectCollection<IReadOnlyProjectRole>
324+
│ │ │ └── IHasId
325+
│ │ └── IHasId
326+
│ └── IHasId
327+
328+
├── IReadOnlyProjectCollection
329+
│ ├── IReadOnlyProject : IReadOnlyProject<IReadOnlyProjectCollection>
330+
│ │ └── IReadOnlyProject<TDependencyCollection> : IReadOnlyEntity, IReadOnlyImagesCollection, IReadOnlyUserRoleCollection, IReadOnlyAccentColor, IReadOnlyFeaturesCollection, IHasId
331+
│ │ ├── IReadOnlyEntity (see above)
332+
│ │ ├── IReadOnlyImagesCollection (see above)
333+
│ │ ├── IReadOnlyUserRoleCollection (see above)
334+
│ │ ├── IReadOnlyAccentColor (see above)
335+
│ │ ├── IReadOnlyFeaturesCollection
336+
│ │ │ └── IHasId
337+
│ │ └── IHasId
338+
│ └── IHasId
339+
340+
├── Publisher Hierarchy Collections (TPublisherCollection : IReadOnlyPublisherRoleCollection)
341+
│ └── IReadOnlyPublisherRoleCollection
342+
│ └── IReadOnlyPublisherCollection<IReadOnlyPublisherRole>
343+
│ ├── IReadOnlyPublisherRole : IReadOnlyPublisher (circular reference)
344+
│ └── IHasId
345+
346+
└── IHasId
314347
```
315348

316349
This interface inventory provides a comprehensive reference for understanding the type hierarchy and relationships within the WindowsAppCommunity.Sdk.

0 commit comments

Comments
 (0)