1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
//! Element summary definition.
// Copyright (c) 2021 ShiftLeft Software
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
pub struct ElemSummary {
/// Name of the summary item.
name: String,
/// Label text of the summary item.
label: String,
/// Label expression of the summary item.
label_expr: String,
/// Result text of the summary item.
result: String,
/// Result expression of the summary item.
result_expr: String,
}
/// Element summary implementation.
impl ElemSummary {
/// Create a new summary element.
///
/// # Arguments
///
/// * `name_param` - Summary element name.
/// * `label_param` - Label parameter.
/// * `label_expr_param` - Label expression.
/// * `result_param` - Result parameter.
/// * `result_expr_param` - Result expression.
///
/// # Return
///
/// * See description.
pub fn new(
name_param: &str,
label_param: &str,
label_expr_param: &str,
result_param: &str,
result_expr_param: &str,
) -> ElemSummary {
ElemSummary {
name: String::from(name_param),
label: String::from(label_param),
label_expr: String::from(label_expr_param),
result: String::from(result_param),
result_expr: String::from(result_expr_param),
}
}
/// Get the name of the element summary.
///
/// # Return
///
/// * See description.
pub fn name(&self) -> &str {
self.name.as_str()
}
/// Get the label of the element summary.
///
/// # Return
///
/// * See description.
pub fn label(&self) -> &str {
self.label.as_str()
}
/// Get the label expression of the element summary.
///
/// # Return
///
/// * See description.
pub fn label_expr(&self) -> &str {
self.label_expr.as_str()
}
/// Get the result of the element summary.
///
/// # Return
///
/// * See description.
pub fn result(&self) -> &str {
self.result.as_str()
}
/// Get the result expression of the element summary.
///
/// # Return
///
/// * See description.
pub fn result_expr(&self) -> &str {
self.result_expr.as_str()
}
/// Set the name of the element summary.
///
/// # Arguments
///
/// * `name_param` - See description.
pub fn set_name(&mut self, name_param: &str) {
self.name = String::from(name_param);
}
/// Set the label of the element summary.
///
/// # Arguments
///
/// * `label_param` - See description.
pub fn set_label(&mut self, label_param: &str) {
self.label = String::from(label_param);
}
/// Set the label expression of the element summary.
///
/// # Arguments
///
/// * `label_expr_param` - See description.
pub fn set_label_expr(&mut self, label_expr_param: &str) {
self.label_expr = String::from(label_expr_param);
}
/// Set the result of the element summary.
///
/// # Arguments
///
/// * `result_param` - See description.
pub fn set_result(&mut self, result_param: &str) {
self.result = String::from(result_param);
}
/// Set the result expression of the element summary.
///
/// # Arguments
///
/// * `result_expr_param` - See description.
pub fn set_result_expr(&mut self, result_expr_param: &str) {
self.result_expr = String::from(result_expr_param);
}
}