#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Group {
pub dimensions: ::std::option::Option<::std::vec::Vec<crate::types::Dimension>>,
pub source_segments: ::std::option::Option<::std::vec::Vec<crate::types::SourceSegment>>,
pub source_type: crate::types::IncludeOptions,
pub r#type: crate::types::IncludeOptions,
}
impl Group {
pub fn dimensions(&self) -> &[crate::types::Dimension] {
self.dimensions.as_deref().unwrap_or_default()
}
pub fn source_segments(&self) -> &[crate::types::SourceSegment] {
self.source_segments.as_deref().unwrap_or_default()
}
pub fn source_type(&self) -> &crate::types::IncludeOptions {
&self.source_type
}
pub fn r#type(&self) -> &crate::types::IncludeOptions {
&self.r#type
}
}
impl Group {
pub fn builder() -> crate::types::builders::GroupBuilder {
crate::types::builders::GroupBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct GroupBuilder {
pub(crate) dimensions: ::std::option::Option<::std::vec::Vec<crate::types::Dimension>>,
pub(crate) source_segments: ::std::option::Option<::std::vec::Vec<crate::types::SourceSegment>>,
pub(crate) source_type: ::std::option::Option<crate::types::IncludeOptions>,
pub(crate) r#type: ::std::option::Option<crate::types::IncludeOptions>,
}
impl GroupBuilder {
pub fn dimensions(mut self, input: crate::types::Dimension) -> Self {
let mut v = self.dimensions.unwrap_or_default();
v.push(input);
self.dimensions = ::std::option::Option::Some(v);
self
}
pub fn set_dimensions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Dimension>>) -> Self {
self.dimensions = input;
self
}
pub fn get_dimensions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Dimension>> {
&self.dimensions
}
pub fn source_segments(mut self, input: crate::types::SourceSegment) -> Self {
let mut v = self.source_segments.unwrap_or_default();
v.push(input);
self.source_segments = ::std::option::Option::Some(v);
self
}
pub fn set_source_segments(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SourceSegment>>) -> Self {
self.source_segments = input;
self
}
pub fn get_source_segments(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SourceSegment>> {
&self.source_segments
}
pub fn source_type(mut self, input: crate::types::IncludeOptions) -> Self {
self.source_type = ::std::option::Option::Some(input);
self
}
pub fn set_source_type(mut self, input: ::std::option::Option<crate::types::IncludeOptions>) -> Self {
self.source_type = input;
self
}
pub fn get_source_type(&self) -> &::std::option::Option<crate::types::IncludeOptions> {
&self.source_type
}
pub fn r#type(mut self, input: crate::types::IncludeOptions) -> Self {
self.r#type = ::std::option::Option::Some(input);
self
}
pub fn set_type(mut self, input: ::std::option::Option<crate::types::IncludeOptions>) -> Self {
self.r#type = input;
self
}
pub fn get_type(&self) -> &::std::option::Option<crate::types::IncludeOptions> {
&self.r#type
}
pub fn build(self) -> crate::types::Group {
crate::types::Group {
dimensions: self.dimensions,
source_segments: self.source_segments,
source_type: self
.source_type
.unwrap_or("ALL".parse::<crate::types::IncludeOptions>().expect("static value validated to member")),
r#type: self
.r#type
.unwrap_or("ALL".parse::<crate::types::IncludeOptions>().expect("static value validated to member")),
}
}
}