#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct SankeyDiagramSortConfiguration {
pub weight_sort: ::std::option::Option<::std::vec::Vec<crate::types::FieldSortOptions>>,
pub source_items_limit: ::std::option::Option<crate::types::ItemsLimitConfiguration>,
pub destination_items_limit: ::std::option::Option<crate::types::ItemsLimitConfiguration>,
}
impl SankeyDiagramSortConfiguration {
pub fn weight_sort(&self) -> &[crate::types::FieldSortOptions] {
self.weight_sort.as_deref().unwrap_or_default()
}
pub fn source_items_limit(&self) -> ::std::option::Option<&crate::types::ItemsLimitConfiguration> {
self.source_items_limit.as_ref()
}
pub fn destination_items_limit(&self) -> ::std::option::Option<&crate::types::ItemsLimitConfiguration> {
self.destination_items_limit.as_ref()
}
}
impl SankeyDiagramSortConfiguration {
pub fn builder() -> crate::types::builders::SankeyDiagramSortConfigurationBuilder {
crate::types::builders::SankeyDiagramSortConfigurationBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct SankeyDiagramSortConfigurationBuilder {
pub(crate) weight_sort: ::std::option::Option<::std::vec::Vec<crate::types::FieldSortOptions>>,
pub(crate) source_items_limit: ::std::option::Option<crate::types::ItemsLimitConfiguration>,
pub(crate) destination_items_limit: ::std::option::Option<crate::types::ItemsLimitConfiguration>,
}
impl SankeyDiagramSortConfigurationBuilder {
pub fn weight_sort(mut self, input: crate::types::FieldSortOptions) -> Self {
let mut v = self.weight_sort.unwrap_or_default();
v.push(input);
self.weight_sort = ::std::option::Option::Some(v);
self
}
pub fn set_weight_sort(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FieldSortOptions>>) -> Self {
self.weight_sort = input;
self
}
pub fn get_weight_sort(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FieldSortOptions>> {
&self.weight_sort
}
pub fn source_items_limit(mut self, input: crate::types::ItemsLimitConfiguration) -> Self {
self.source_items_limit = ::std::option::Option::Some(input);
self
}
pub fn set_source_items_limit(mut self, input: ::std::option::Option<crate::types::ItemsLimitConfiguration>) -> Self {
self.source_items_limit = input;
self
}
pub fn get_source_items_limit(&self) -> &::std::option::Option<crate::types::ItemsLimitConfiguration> {
&self.source_items_limit
}
pub fn destination_items_limit(mut self, input: crate::types::ItemsLimitConfiguration) -> Self {
self.destination_items_limit = ::std::option::Option::Some(input);
self
}
pub fn set_destination_items_limit(mut self, input: ::std::option::Option<crate::types::ItemsLimitConfiguration>) -> Self {
self.destination_items_limit = input;
self
}
pub fn get_destination_items_limit(&self) -> &::std::option::Option<crate::types::ItemsLimitConfiguration> {
&self.destination_items_limit
}
pub fn build(self) -> crate::types::SankeyDiagramSortConfiguration {
crate::types::SankeyDiagramSortConfiguration {
weight_sort: self.weight_sort,
source_items_limit: self.source_items_limit,
destination_items_limit: self.destination_items_limit,
}
}
}