nominal_api_conjure/conjure/objects/scout/chartdefinition/api/
geo_custom_measurement.rs1#[derive(
3 Debug,
4 Clone,
5 conjure_object::serde::Serialize,
6 conjure_object::serde::Deserialize,
7 conjure_object::private::DeriveWith
8)]
9#[serde(crate = "conjure_object::serde")]
10#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
11#[conjure_object::private::staged_builder::staged_builder]
12#[builder(crate = conjure_object::private::staged_builder, update, inline)]
13pub struct GeoCustomMeasurement {
14 #[builder(default, into)]
15 #[serde(rename = "id", skip_serializing_if = "Option::is_none", default)]
16 id: Option<conjure_object::Uuid>,
17 #[builder(default, into)]
18 #[serde(rename = "label", skip_serializing_if = "Option::is_none", default)]
19 label: Option<String>,
20 #[builder(default, into)]
21 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none", default)]
22 enabled: Option<bool>,
23 #[builder(custom(type = super::GeoCoordinate, convert = Box::new))]
24 #[serde(rename = "startCoordinate")]
25 start_coordinate: Box<super::GeoCoordinate>,
26 #[builder(custom(type = super::GeoCoordinate, convert = Box::new))]
27 #[serde(rename = "endCoordinate")]
28 end_coordinate: Box<super::GeoCoordinate>,
29 #[builder(custom(type = super::GeoPlotVisualizationOptions, convert = Box::new))]
30 #[serde(rename = "visualizationOptions")]
31 visualization_options: Box<super::GeoPlotVisualizationOptions>,
32}
33impl GeoCustomMeasurement {
34 #[inline]
36 pub fn new(
37 start_coordinate: super::GeoCoordinate,
38 end_coordinate: super::GeoCoordinate,
39 visualization_options: super::GeoPlotVisualizationOptions,
40 ) -> Self {
41 Self::builder()
42 .start_coordinate(start_coordinate)
43 .end_coordinate(end_coordinate)
44 .visualization_options(visualization_options)
45 .build()
46 }
47 #[inline]
48 pub fn id(&self) -> Option<conjure_object::Uuid> {
49 self.id.as_ref().map(|o| *o)
50 }
51 #[inline]
52 pub fn label(&self) -> Option<&str> {
53 self.label.as_ref().map(|o| &**o)
54 }
55 #[inline]
56 pub fn enabled(&self) -> Option<bool> {
57 self.enabled.as_ref().map(|o| *o)
58 }
59 #[inline]
60 pub fn start_coordinate(&self) -> &super::GeoCoordinate {
61 &*self.start_coordinate
62 }
63 #[inline]
64 pub fn end_coordinate(&self) -> &super::GeoCoordinate {
65 &*self.end_coordinate
66 }
67 #[inline]
68 pub fn visualization_options(&self) -> &super::GeoPlotVisualizationOptions {
69 &*self.visualization_options
70 }
71}