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

Describes the configuration for binding a component's properties to * data.

See Also:

AWS * API Reference

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

The name of the data model to use to bind data to a component.

*/ inline const Aws::String& GetModel() const{ return m_model; } /** *

The name of the data model to use to bind data to a component.

*/ inline bool ModelHasBeenSet() const { return m_modelHasBeenSet; } /** *

The name of the data model to use to bind data to a component.

*/ inline void SetModel(const Aws::String& value) { m_modelHasBeenSet = true; m_model = value; } /** *

The name of the data model to use to bind data to a component.

*/ inline void SetModel(Aws::String&& value) { m_modelHasBeenSet = true; m_model = std::move(value); } /** *

The name of the data model to use to bind data to a component.

*/ inline void SetModel(const char* value) { m_modelHasBeenSet = true; m_model.assign(value); } /** *

The name of the data model to use to bind data to a component.

*/ inline ComponentDataConfiguration& WithModel(const Aws::String& value) { SetModel(value); return *this;} /** *

The name of the data model to use to bind data to a component.

*/ inline ComponentDataConfiguration& WithModel(Aws::String&& value) { SetModel(std::move(value)); return *this;} /** *

The name of the data model to use to bind data to a component.

*/ inline ComponentDataConfiguration& WithModel(const char* value) { SetModel(value); return *this;} /** *

Describes how to sort the component's properties.

*/ inline const Aws::Vector& GetSort() const{ return m_sort; } /** *

Describes how to sort the component's properties.

*/ inline bool SortHasBeenSet() const { return m_sortHasBeenSet; } /** *

Describes how to sort the component's properties.

*/ inline void SetSort(const Aws::Vector& value) { m_sortHasBeenSet = true; m_sort = value; } /** *

Describes how to sort the component's properties.

*/ inline void SetSort(Aws::Vector&& value) { m_sortHasBeenSet = true; m_sort = std::move(value); } /** *

Describes how to sort the component's properties.

*/ inline ComponentDataConfiguration& WithSort(const Aws::Vector& value) { SetSort(value); return *this;} /** *

Describes how to sort the component's properties.

*/ inline ComponentDataConfiguration& WithSort(Aws::Vector&& value) { SetSort(std::move(value)); return *this;} /** *

Describes how to sort the component's properties.

*/ inline ComponentDataConfiguration& AddSort(const SortProperty& value) { m_sortHasBeenSet = true; m_sort.push_back(value); return *this; } /** *

Describes how to sort the component's properties.

*/ inline ComponentDataConfiguration& AddSort(SortProperty&& value) { m_sortHasBeenSet = true; m_sort.push_back(std::move(value)); return *this; } /** *

Represents the conditional logic to use when binding data to a component. Use * this property to retrieve only a subset of the data in a collection.

*/ inline const Predicate& GetPredicate() const{ return m_predicate; } /** *

Represents the conditional logic to use when binding data to a component. Use * this property to retrieve only a subset of the data in a collection.

*/ inline bool PredicateHasBeenSet() const { return m_predicateHasBeenSet; } /** *

Represents the conditional logic to use when binding data to a component. Use * this property to retrieve only a subset of the data in a collection.

*/ inline void SetPredicate(const Predicate& value) { m_predicateHasBeenSet = true; m_predicate = value; } /** *

Represents the conditional logic to use when binding data to a component. Use * this property to retrieve only a subset of the data in a collection.

*/ inline void SetPredicate(Predicate&& value) { m_predicateHasBeenSet = true; m_predicate = std::move(value); } /** *

Represents the conditional logic to use when binding data to a component. Use * this property to retrieve only a subset of the data in a collection.

*/ inline ComponentDataConfiguration& WithPredicate(const Predicate& value) { SetPredicate(value); return *this;} /** *

Represents the conditional logic to use when binding data to a component. Use * this property to retrieve only a subset of the data in a collection.

*/ inline ComponentDataConfiguration& WithPredicate(Predicate&& value) { SetPredicate(std::move(value)); return *this;} /** *

A list of IDs to use to bind data to a component. Use this property to bind * specifically chosen data, rather than data retrieved from a query.

*/ inline const Aws::Vector& GetIdentifiers() const{ return m_identifiers; } /** *

A list of IDs to use to bind data to a component. Use this property to bind * specifically chosen data, rather than data retrieved from a query.

*/ inline bool IdentifiersHasBeenSet() const { return m_identifiersHasBeenSet; } /** *

A list of IDs to use to bind data to a component. Use this property to bind * specifically chosen data, rather than data retrieved from a query.

*/ inline void SetIdentifiers(const Aws::Vector& value) { m_identifiersHasBeenSet = true; m_identifiers = value; } /** *

A list of IDs to use to bind data to a component. Use this property to bind * specifically chosen data, rather than data retrieved from a query.

*/ inline void SetIdentifiers(Aws::Vector&& value) { m_identifiersHasBeenSet = true; m_identifiers = std::move(value); } /** *

A list of IDs to use to bind data to a component. Use this property to bind * specifically chosen data, rather than data retrieved from a query.

*/ inline ComponentDataConfiguration& WithIdentifiers(const Aws::Vector& value) { SetIdentifiers(value); return *this;} /** *

A list of IDs to use to bind data to a component. Use this property to bind * specifically chosen data, rather than data retrieved from a query.

*/ inline ComponentDataConfiguration& WithIdentifiers(Aws::Vector&& value) { SetIdentifiers(std::move(value)); return *this;} /** *

A list of IDs to use to bind data to a component. Use this property to bind * specifically chosen data, rather than data retrieved from a query.

*/ inline ComponentDataConfiguration& AddIdentifiers(const Aws::String& value) { m_identifiersHasBeenSet = true; m_identifiers.push_back(value); return *this; } /** *

A list of IDs to use to bind data to a component. Use this property to bind * specifically chosen data, rather than data retrieved from a query.

*/ inline ComponentDataConfiguration& AddIdentifiers(Aws::String&& value) { m_identifiersHasBeenSet = true; m_identifiers.push_back(std::move(value)); return *this; } /** *

A list of IDs to use to bind data to a component. Use this property to bind * specifically chosen data, rather than data retrieved from a query.

*/ inline ComponentDataConfiguration& AddIdentifiers(const char* value) { m_identifiersHasBeenSet = true; m_identifiers.push_back(value); return *this; } private: Aws::String m_model; bool m_modelHasBeenSet = false; Aws::Vector m_sort; bool m_sortHasBeenSet = false; Predicate m_predicate; bool m_predicateHasBeenSet = false; Aws::Vector m_identifiers; bool m_identifiersHasBeenSet = false; }; } // namespace Model } // namespace AmplifyUIBuilder } // namespace Aws