#[non_exhaustive]pub struct AttributeTypesSelector {
pub attribute_matching_model: AttributeMatchingModel,
pub address: Option<Vec<String>>,
pub phone_number: Option<Vec<String>>,
pub email_address: Option<Vec<String>>,
}
Expand description
Configuration information about the AttributeTypesSelector
where the rule-based identity resolution uses to match profiles. You can choose how profiles are compared across attribute types and which attribute to use for matching from each type. There are three attribute types you can configure:
-
Email type
-
You can choose from
Email
,BusinessEmail
, andPersonalEmail
-
-
Phone number type
-
You can choose from
Phone
,HomePhone
, andMobilePhone
-
-
Address type
-
You can choose from
Address
,BusinessAddress
,MaillingAddress
, andShippingAddress
-
You can either choose ONE_TO_ONE
or MANY_TO_MANY
as the AttributeMatchingModel
. When choosing MANY_TO_MANY
, the system can match attribute across the sub-types of an attribute type. For example, if the value of the Email
field of Profile A and the value of BusinessEmail
field of Profile B matches, the two profiles are matched on the Email type. When choosing ONE_TO_ONE
the system can only match if the sub-types are exact matches. For example, only when the value of the Email
field of Profile A and the value of the Email
field of Profile B matches, the two profiles are matched on the Email type.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.attribute_matching_model: AttributeMatchingModel
Configures the AttributeMatchingModel
, you can either choose ONE_TO_ONE
or MANY_TO_MANY
.
address: Option<Vec<String>>
The Address
type. You can choose from Address
, BusinessAddress
, MaillingAddress
, and ShippingAddress
.
You only can use the Address type in the MatchingRule
. For example, if you want to match profile based on BusinessAddress.City
or MaillingAddress.City
, you need to choose the BusinessAddress
and the MaillingAddress
to represent the Address type and specify the Address.City
on the matching rule.
phone_number: Option<Vec<String>>
The PhoneNumber
type. You can choose from PhoneNumber
, HomePhoneNumber
, and MobilePhoneNumber
.
You only can use the PhoneNumber
type in the MatchingRule
. For example, if you want to match a profile based on Phone
or HomePhone
, you need to choose the Phone
and the HomePhone
to represent the PhoneNumber
type and only specify the PhoneNumber
on the matching rule.
email_address: Option<Vec<String>>
The Email
type. You can choose from EmailAddress
, BusinessEmailAddress
and PersonalEmailAddress
.
You only can use the EmailAddress
type in the MatchingRule
. For example, if you want to match profile based on PersonalEmailAddress
or BusinessEmailAddress
, you need to choose the PersonalEmailAddress
and the BusinessEmailAddress
to represent the EmailAddress
type and only specify the EmailAddress
on the matching rule.
Implementations§
Source§impl AttributeTypesSelector
impl AttributeTypesSelector
Sourcepub fn attribute_matching_model(&self) -> &AttributeMatchingModel
pub fn attribute_matching_model(&self) -> &AttributeMatchingModel
Configures the AttributeMatchingModel
, you can either choose ONE_TO_ONE
or MANY_TO_MANY
.
Sourcepub fn address(&self) -> &[String]
pub fn address(&self) -> &[String]
The Address
type. You can choose from Address
, BusinessAddress
, MaillingAddress
, and ShippingAddress
.
You only can use the Address type in the MatchingRule
. For example, if you want to match profile based on BusinessAddress.City
or MaillingAddress.City
, you need to choose the BusinessAddress
and the MaillingAddress
to represent the Address type and specify the Address.City
on the matching rule.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .address.is_none()
.
Sourcepub fn phone_number(&self) -> &[String]
pub fn phone_number(&self) -> &[String]
The PhoneNumber
type. You can choose from PhoneNumber
, HomePhoneNumber
, and MobilePhoneNumber
.
You only can use the PhoneNumber
type in the MatchingRule
. For example, if you want to match a profile based on Phone
or HomePhone
, you need to choose the Phone
and the HomePhone
to represent the PhoneNumber
type and only specify the PhoneNumber
on the matching rule.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .phone_number.is_none()
.
Sourcepub fn email_address(&self) -> &[String]
pub fn email_address(&self) -> &[String]
The Email
type. You can choose from EmailAddress
, BusinessEmailAddress
and PersonalEmailAddress
.
You only can use the EmailAddress
type in the MatchingRule
. For example, if you want to match profile based on PersonalEmailAddress
or BusinessEmailAddress
, you need to choose the PersonalEmailAddress
and the BusinessEmailAddress
to represent the EmailAddress
type and only specify the EmailAddress
on the matching rule.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .email_address.is_none()
.
Source§impl AttributeTypesSelector
impl AttributeTypesSelector
Sourcepub fn builder() -> AttributeTypesSelectorBuilder
pub fn builder() -> AttributeTypesSelectorBuilder
Creates a new builder-style object to manufacture AttributeTypesSelector
.
Trait Implementations§
Source§impl Clone for AttributeTypesSelector
impl Clone for AttributeTypesSelector
Source§fn clone(&self) -> AttributeTypesSelector
fn clone(&self) -> AttributeTypesSelector
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AttributeTypesSelector
impl Debug for AttributeTypesSelector
Source§impl PartialEq for AttributeTypesSelector
impl PartialEq for AttributeTypesSelector
impl StructuralPartialEq for AttributeTypesSelector
Auto Trait Implementations§
impl Freeze for AttributeTypesSelector
impl RefUnwindSafe for AttributeTypesSelector
impl Send for AttributeTypesSelector
impl Sync for AttributeTypesSelector
impl Unpin for AttributeTypesSelector
impl UnwindSafe for AttributeTypesSelector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.bright_black());
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.bright_green());
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.bright_yellow());
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.bright_magenta());
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.bright_white());
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.on_bright_black());
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.on_bright_green());
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.on_bright_yellow());
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlue
.
§Example
println!("{}", value.on_bright_blue());
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.on_bright_magenta());
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightCyan
.
§Example
println!("{}", value.on_bright_cyan());
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.on_bright_white());
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::Underline
.
§Example
println!("{}", value.underline());
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::RapidBlink
.
§Example
println!("{}", value.rapid_blink());
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);