| '------------------------------------------------------------------------------- |
| ' Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved. |
| ' |
| ' SPDX-License-Identifier: BSD-3-Clause |
| ' |
| '------------------------------------------------------------------------------- |
| |
| @startuml |
| |
| abstract class claim_iterator { |
| {abstract} void first() |
| {abstract} void next() |
| {abstract} bool is_done() |
| {abstract} claim current() |
| } |
| |
| abstract class claim_source { |
| {abstract} bool get_claim(claim *claim) |
| } |
| |
| class claim { |
| +category: int |
| +subject_id: int |
| +variant_id: int |
| } |
| |
| class claims_register <<singleton>> { |
| void add_claim_source(claim_source) |
| void query_by_category(category, claim_vector) |
| } |
| |
| claim <|-- claim_collection |
| claim <|-- text_string_claim |
| claim <|-- byte_string_claim |
| claim <|-- integer_claim |
| claim <|-- measurement_claim |
| |
| claim_iterator ..> claim |
| claim_collection ..> claim_iterator |
| claim_source ..> claim |
| claims_register -> "0..*" claim_source |
| |
| @enduml |