/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace EntityResolution { namespace Model { /** *

An object which defines the resolutionType and the * ruleBasedProperties

See Also:

AWS * API Reference

*/ class ResolutionTechniques { public: AWS_ENTITYRESOLUTION_API ResolutionTechniques(); AWS_ENTITYRESOLUTION_API ResolutionTechniques(Aws::Utils::Json::JsonView jsonValue); AWS_ENTITYRESOLUTION_API ResolutionTechniques& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ENTITYRESOLUTION_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

There are two types of matching, RULE_MATCHING and * ML_MATCHING

*/ inline const ResolutionType& GetResolutionType() const{ return m_resolutionType; } /** *

There are two types of matching, RULE_MATCHING and * ML_MATCHING

*/ inline bool ResolutionTypeHasBeenSet() const { return m_resolutionTypeHasBeenSet; } /** *

There are two types of matching, RULE_MATCHING and * ML_MATCHING

*/ inline void SetResolutionType(const ResolutionType& value) { m_resolutionTypeHasBeenSet = true; m_resolutionType = value; } /** *

There are two types of matching, RULE_MATCHING and * ML_MATCHING

*/ inline void SetResolutionType(ResolutionType&& value) { m_resolutionTypeHasBeenSet = true; m_resolutionType = std::move(value); } /** *

There are two types of matching, RULE_MATCHING and * ML_MATCHING

*/ inline ResolutionTechniques& WithResolutionType(const ResolutionType& value) { SetResolutionType(value); return *this;} /** *

There are two types of matching, RULE_MATCHING and * ML_MATCHING

*/ inline ResolutionTechniques& WithResolutionType(ResolutionType&& value) { SetResolutionType(std::move(value)); return *this;} /** *

An object which defines the list of matching rules to run and has a field * Rules, which is a list of rule objects.

*/ inline const RuleBasedProperties& GetRuleBasedProperties() const{ return m_ruleBasedProperties; } /** *

An object which defines the list of matching rules to run and has a field * Rules, which is a list of rule objects.

*/ inline bool RuleBasedPropertiesHasBeenSet() const { return m_ruleBasedPropertiesHasBeenSet; } /** *

An object which defines the list of matching rules to run and has a field * Rules, which is a list of rule objects.

*/ inline void SetRuleBasedProperties(const RuleBasedProperties& value) { m_ruleBasedPropertiesHasBeenSet = true; m_ruleBasedProperties = value; } /** *

An object which defines the list of matching rules to run and has a field * Rules, which is a list of rule objects.

*/ inline void SetRuleBasedProperties(RuleBasedProperties&& value) { m_ruleBasedPropertiesHasBeenSet = true; m_ruleBasedProperties = std::move(value); } /** *

An object which defines the list of matching rules to run and has a field * Rules, which is a list of rule objects.

*/ inline ResolutionTechniques& WithRuleBasedProperties(const RuleBasedProperties& value) { SetRuleBasedProperties(value); return *this;} /** *

An object which defines the list of matching rules to run and has a field * Rules, which is a list of rule objects.

*/ inline ResolutionTechniques& WithRuleBasedProperties(RuleBasedProperties&& value) { SetRuleBasedProperties(std::move(value)); return *this;} private: ResolutionType m_resolutionType; bool m_resolutionTypeHasBeenSet = false; RuleBasedProperties m_ruleBasedProperties; bool m_ruleBasedPropertiesHasBeenSet = false; }; } // namespace Model } // namespace EntityResolution } // namespace Aws