#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Field {
pub field_name: ::std::option::Option<::std::string::String>,
pub label: ::std::option::Option<::std::string::String>,
pub description: ::std::option::Option<::std::string::String>,
pub field_type: ::std::option::Option<crate::types::FieldDataType>,
pub is_primary_key: ::std::option::Option<bool>,
pub is_nullable: ::std::option::Option<bool>,
pub is_retrievable: ::std::option::Option<bool>,
pub is_filterable: ::std::option::Option<bool>,
pub is_partitionable: ::std::option::Option<bool>,
pub is_createable: ::std::option::Option<bool>,
pub is_updateable: ::std::option::Option<bool>,
pub is_upsertable: ::std::option::Option<bool>,
pub is_default_on_create: ::std::option::Option<bool>,
pub supported_values: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub supported_filter_operators: ::std::option::Option<::std::vec::Vec<crate::types::FieldFilterOperator>>,
pub parent_field: ::std::option::Option<::std::string::String>,
pub native_data_type: ::std::option::Option<::std::string::String>,
pub custom_properties: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl Field {
pub fn field_name(&self) -> ::std::option::Option<&str> {
self.field_name.as_deref()
}
pub fn label(&self) -> ::std::option::Option<&str> {
self.label.as_deref()
}
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
pub fn field_type(&self) -> ::std::option::Option<&crate::types::FieldDataType> {
self.field_type.as_ref()
}
pub fn is_primary_key(&self) -> ::std::option::Option<bool> {
self.is_primary_key
}
pub fn is_nullable(&self) -> ::std::option::Option<bool> {
self.is_nullable
}
pub fn is_retrievable(&self) -> ::std::option::Option<bool> {
self.is_retrievable
}
pub fn is_filterable(&self) -> ::std::option::Option<bool> {
self.is_filterable
}
pub fn is_partitionable(&self) -> ::std::option::Option<bool> {
self.is_partitionable
}
pub fn is_createable(&self) -> ::std::option::Option<bool> {
self.is_createable
}
pub fn is_updateable(&self) -> ::std::option::Option<bool> {
self.is_updateable
}
pub fn is_upsertable(&self) -> ::std::option::Option<bool> {
self.is_upsertable
}
pub fn is_default_on_create(&self) -> ::std::option::Option<bool> {
self.is_default_on_create
}
pub fn supported_values(&self) -> &[::std::string::String] {
self.supported_values.as_deref().unwrap_or_default()
}
pub fn supported_filter_operators(&self) -> &[crate::types::FieldFilterOperator] {
self.supported_filter_operators.as_deref().unwrap_or_default()
}
pub fn parent_field(&self) -> ::std::option::Option<&str> {
self.parent_field.as_deref()
}
pub fn native_data_type(&self) -> ::std::option::Option<&str> {
self.native_data_type.as_deref()
}
pub fn custom_properties(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.custom_properties.as_ref()
}
}
impl Field {
pub fn builder() -> crate::types::builders::FieldBuilder {
crate::types::builders::FieldBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct FieldBuilder {
pub(crate) field_name: ::std::option::Option<::std::string::String>,
pub(crate) label: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) field_type: ::std::option::Option<crate::types::FieldDataType>,
pub(crate) is_primary_key: ::std::option::Option<bool>,
pub(crate) is_nullable: ::std::option::Option<bool>,
pub(crate) is_retrievable: ::std::option::Option<bool>,
pub(crate) is_filterable: ::std::option::Option<bool>,
pub(crate) is_partitionable: ::std::option::Option<bool>,
pub(crate) is_createable: ::std::option::Option<bool>,
pub(crate) is_updateable: ::std::option::Option<bool>,
pub(crate) is_upsertable: ::std::option::Option<bool>,
pub(crate) is_default_on_create: ::std::option::Option<bool>,
pub(crate) supported_values: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) supported_filter_operators: ::std::option::Option<::std::vec::Vec<crate::types::FieldFilterOperator>>,
pub(crate) parent_field: ::std::option::Option<::std::string::String>,
pub(crate) native_data_type: ::std::option::Option<::std::string::String>,
pub(crate) custom_properties: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl FieldBuilder {
pub fn field_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.field_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_field_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.field_name = input;
self
}
pub fn get_field_name(&self) -> &::std::option::Option<::std::string::String> {
&self.field_name
}
pub fn label(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.label = ::std::option::Option::Some(input.into());
self
}
pub fn set_label(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.label = input;
self
}
pub fn get_label(&self) -> &::std::option::Option<::std::string::String> {
&self.label
}
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
pub fn field_type(mut self, input: crate::types::FieldDataType) -> Self {
self.field_type = ::std::option::Option::Some(input);
self
}
pub fn set_field_type(mut self, input: ::std::option::Option<crate::types::FieldDataType>) -> Self {
self.field_type = input;
self
}
pub fn get_field_type(&self) -> &::std::option::Option<crate::types::FieldDataType> {
&self.field_type
}
pub fn is_primary_key(mut self, input: bool) -> Self {
self.is_primary_key = ::std::option::Option::Some(input);
self
}
pub fn set_is_primary_key(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_primary_key = input;
self
}
pub fn get_is_primary_key(&self) -> &::std::option::Option<bool> {
&self.is_primary_key
}
pub fn is_nullable(mut self, input: bool) -> Self {
self.is_nullable = ::std::option::Option::Some(input);
self
}
pub fn set_is_nullable(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_nullable = input;
self
}
pub fn get_is_nullable(&self) -> &::std::option::Option<bool> {
&self.is_nullable
}
pub fn is_retrievable(mut self, input: bool) -> Self {
self.is_retrievable = ::std::option::Option::Some(input);
self
}
pub fn set_is_retrievable(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_retrievable = input;
self
}
pub fn get_is_retrievable(&self) -> &::std::option::Option<bool> {
&self.is_retrievable
}
pub fn is_filterable(mut self, input: bool) -> Self {
self.is_filterable = ::std::option::Option::Some(input);
self
}
pub fn set_is_filterable(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_filterable = input;
self
}
pub fn get_is_filterable(&self) -> &::std::option::Option<bool> {
&self.is_filterable
}
pub fn is_partitionable(mut self, input: bool) -> Self {
self.is_partitionable = ::std::option::Option::Some(input);
self
}
pub fn set_is_partitionable(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_partitionable = input;
self
}
pub fn get_is_partitionable(&self) -> &::std::option::Option<bool> {
&self.is_partitionable
}
pub fn is_createable(mut self, input: bool) -> Self {
self.is_createable = ::std::option::Option::Some(input);
self
}
pub fn set_is_createable(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_createable = input;
self
}
pub fn get_is_createable(&self) -> &::std::option::Option<bool> {
&self.is_createable
}
pub fn is_updateable(mut self, input: bool) -> Self {
self.is_updateable = ::std::option::Option::Some(input);
self
}
pub fn set_is_updateable(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_updateable = input;
self
}
pub fn get_is_updateable(&self) -> &::std::option::Option<bool> {
&self.is_updateable
}
pub fn is_upsertable(mut self, input: bool) -> Self {
self.is_upsertable = ::std::option::Option::Some(input);
self
}
pub fn set_is_upsertable(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_upsertable = input;
self
}
pub fn get_is_upsertable(&self) -> &::std::option::Option<bool> {
&self.is_upsertable
}
pub fn is_default_on_create(mut self, input: bool) -> Self {
self.is_default_on_create = ::std::option::Option::Some(input);
self
}
pub fn set_is_default_on_create(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_default_on_create = input;
self
}
pub fn get_is_default_on_create(&self) -> &::std::option::Option<bool> {
&self.is_default_on_create
}
pub fn supported_values(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.supported_values.unwrap_or_default();
v.push(input.into());
self.supported_values = ::std::option::Option::Some(v);
self
}
pub fn set_supported_values(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.supported_values = input;
self
}
pub fn get_supported_values(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.supported_values
}
pub fn supported_filter_operators(mut self, input: crate::types::FieldFilterOperator) -> Self {
let mut v = self.supported_filter_operators.unwrap_or_default();
v.push(input);
self.supported_filter_operators = ::std::option::Option::Some(v);
self
}
pub fn set_supported_filter_operators(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FieldFilterOperator>>) -> Self {
self.supported_filter_operators = input;
self
}
pub fn get_supported_filter_operators(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FieldFilterOperator>> {
&self.supported_filter_operators
}
pub fn parent_field(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.parent_field = ::std::option::Option::Some(input.into());
self
}
pub fn set_parent_field(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.parent_field = input;
self
}
pub fn get_parent_field(&self) -> &::std::option::Option<::std::string::String> {
&self.parent_field
}
pub fn native_data_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.native_data_type = ::std::option::Option::Some(input.into());
self
}
pub fn set_native_data_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.native_data_type = input;
self
}
pub fn get_native_data_type(&self) -> &::std::option::Option<::std::string::String> {
&self.native_data_type
}
pub fn custom_properties(
mut self,
k: impl ::std::convert::Into<::std::string::String>,
v: impl ::std::convert::Into<::std::string::String>,
) -> Self {
let mut hash_map = self.custom_properties.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.custom_properties = ::std::option::Option::Some(hash_map);
self
}
pub fn set_custom_properties(
mut self,
input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
) -> Self {
self.custom_properties = input;
self
}
pub fn get_custom_properties(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.custom_properties
}
pub fn build(self) -> crate::types::Field {
crate::types::Field {
field_name: self.field_name,
label: self.label,
description: self.description,
field_type: self.field_type,
is_primary_key: self.is_primary_key,
is_nullable: self.is_nullable,
is_retrievable: self.is_retrievable,
is_filterable: self.is_filterable,
is_partitionable: self.is_partitionable,
is_createable: self.is_createable,
is_updateable: self.is_updateable,
is_upsertable: self.is_upsertable,
is_default_on_create: self.is_default_on_create,
supported_values: self.supported_values,
supported_filter_operators: self.supported_filter_operators,
parent_field: self.parent_field,
native_data_type: self.native_data_type,
custom_properties: self.custom_properties,
}
}
}