/**
* 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