blob: 474d03e99093e0c1890682094e73a2be584b90c4 [file] [log] [blame]
Julian Hallc1cf9122021-06-21 13:44:33 +01001'-------------------------------------------------------------------------------
Julian Hall7b594622022-04-08 14:04:15 +01002' Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
Julian Hallc1cf9122021-06-21 13:44:33 +01003'
4' SPDX-License-Identifier: BSD-3-Clause
5'
6'-------------------------------------------------------------------------------
7
8@startuml
9
10abstract class claim_iterator {
11 {abstract} void first()
12 {abstract} void next()
13 {abstract} bool is_done()
14 {abstract} claim current()
15}
16
17abstract class claim_source {
18 {abstract} bool get_claim(claim *claim)
19}
20
21class claim {
22 +category: int
23 +subject_id: int
24 +variant_id: int
25}
26
27class claims_register <<singleton>> {
28 void add_claim_source(claim_source)
29 void query_by_category(category, claim_vector)
30}
31
32claim <|-- claim_collection
33claim <|-- text_string_claim
34claim <|-- byte_string_claim
35claim <|-- integer_claim
36claim <|-- measurement_claim
37
38claim_iterator ..> claim
39claim_collection ..> claim_iterator
40claim_source ..> claim
41claims_register -> "0..*" claim_source
42
43@enduml