#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Parameters {
pub string_parameters: ::std::option::Option<::std::vec::Vec<crate::types::StringParameter>>,
pub integer_parameters: ::std::option::Option<::std::vec::Vec<crate::types::IntegerParameter>>,
pub decimal_parameters: ::std::option::Option<::std::vec::Vec<crate::types::DecimalParameter>>,
pub date_time_parameters: ::std::option::Option<::std::vec::Vec<crate::types::DateTimeParameter>>,
}
impl Parameters {
pub fn string_parameters(&self) -> &[crate::types::StringParameter] {
self.string_parameters.as_deref().unwrap_or_default()
}
pub fn integer_parameters(&self) -> &[crate::types::IntegerParameter] {
self.integer_parameters.as_deref().unwrap_or_default()
}
pub fn decimal_parameters(&self) -> &[crate::types::DecimalParameter] {
self.decimal_parameters.as_deref().unwrap_or_default()
}
pub fn date_time_parameters(&self) -> &[crate::types::DateTimeParameter] {
self.date_time_parameters.as_deref().unwrap_or_default()
}
}
impl Parameters {
pub fn builder() -> crate::types::builders::ParametersBuilder {
crate::types::builders::ParametersBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct ParametersBuilder {
pub(crate) string_parameters: ::std::option::Option<::std::vec::Vec<crate::types::StringParameter>>,
pub(crate) integer_parameters: ::std::option::Option<::std::vec::Vec<crate::types::IntegerParameter>>,
pub(crate) decimal_parameters: ::std::option::Option<::std::vec::Vec<crate::types::DecimalParameter>>,
pub(crate) date_time_parameters: ::std::option::Option<::std::vec::Vec<crate::types::DateTimeParameter>>,
}
impl ParametersBuilder {
pub fn string_parameters(mut self, input: crate::types::StringParameter) -> Self {
let mut v = self.string_parameters.unwrap_or_default();
v.push(input);
self.string_parameters = ::std::option::Option::Some(v);
self
}
pub fn set_string_parameters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::StringParameter>>) -> Self {
self.string_parameters = input;
self
}
pub fn get_string_parameters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::StringParameter>> {
&self.string_parameters
}
pub fn integer_parameters(mut self, input: crate::types::IntegerParameter) -> Self {
let mut v = self.integer_parameters.unwrap_or_default();
v.push(input);
self.integer_parameters = ::std::option::Option::Some(v);
self
}
pub fn set_integer_parameters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::IntegerParameter>>) -> Self {
self.integer_parameters = input;
self
}
pub fn get_integer_parameters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::IntegerParameter>> {
&self.integer_parameters
}
pub fn decimal_parameters(mut self, input: crate::types::DecimalParameter) -> Self {
let mut v = self.decimal_parameters.unwrap_or_default();
v.push(input);
self.decimal_parameters = ::std::option::Option::Some(v);
self
}
pub fn set_decimal_parameters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DecimalParameter>>) -> Self {
self.decimal_parameters = input;
self
}
pub fn get_decimal_parameters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DecimalParameter>> {
&self.decimal_parameters
}
pub fn date_time_parameters(mut self, input: crate::types::DateTimeParameter) -> Self {
let mut v = self.date_time_parameters.unwrap_or_default();
v.push(input);
self.date_time_parameters = ::std::option::Option::Some(v);
self
}
pub fn set_date_time_parameters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DateTimeParameter>>) -> Self {
self.date_time_parameters = input;
self
}
pub fn get_date_time_parameters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DateTimeParameter>> {
&self.date_time_parameters
}
pub fn build(self) -> crate::types::Parameters {
crate::types::Parameters {
string_parameters: self.string_parameters,
integer_parameters: self.integer_parameters,
decimal_parameters: self.decimal_parameters,
date_time_parameters: self.date_time_parameters,
}
}
}