/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.entityresolution.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* An object which defines the list of matching rules to run and has a field Rules
, which is a list of rule
* objects.
*
* 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.
*
* A list of Rule objects, each of which have fields RuleName
and MatchingKeys
.
*
* 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.
*
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.
* @see AttributeMatchingModel
*/
public void setAttributeMatchingModel(String attributeMatchingModel) {
this.attributeMatchingModel = attributeMatchingModel;
}
/**
*
* 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.
*
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.
* @see AttributeMatchingModel
*/
public String getAttributeMatchingModel() {
return this.attributeMatchingModel;
}
/**
*
* 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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AttributeMatchingModel
*/
public RuleBasedProperties withAttributeMatchingModel(String attributeMatchingModel) {
setAttributeMatchingModel(attributeMatchingModel);
return this;
}
/**
*
* 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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AttributeMatchingModel
*/
public RuleBasedProperties withAttributeMatchingModel(AttributeMatchingModel attributeMatchingModel) {
this.attributeMatchingModel = attributeMatchingModel.toString();
return this;
}
/**
*
* A list of Rule objects, each of which have fields RuleName
and MatchingKeys
.
*
RuleName
and MatchingKeys
.
*/
public java.util.List
* A list of Rule objects, each of which have fields RuleName
and MatchingKeys
.
*
RuleName
and MatchingKeys
.
*/
public void setRules(java.util.Collection
* A list of Rule objects, each of which have fields RuleName
and MatchingKeys
.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setRules(java.util.Collection)} or {@link #withRules(java.util.Collection)} if you want to override the * existing values. *
* * @param rules * A list of Rule objects, each of which have fieldsRuleName
and MatchingKeys
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RuleBasedProperties withRules(Rule... rules) {
if (this.rules == null) {
setRules(new java.util.ArrayList
* A list of Rule objects, each of which have fields RuleName
and MatchingKeys
.
*
RuleName
and MatchingKeys
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RuleBasedProperties withRules(java.util.Collection