/** * 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 FinSpaceData { namespace Model { /** *

The definition of a column in a tabular Dataset.

See Also:

* AWS * API Reference

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

Data type of a column.

  • STRING – A String data * type.

    CHAR – A char data type.

    INTEGER * – An integer data type.

    TINYINT – A tinyint data type.

    *

    SMALLINT – A smallint data type.

    BIGINT – * A bigint data type.

    FLOAT – A float data type.

    * DOUBLE – A double data type.

    DATE – A date * data type.

    DATETIME – A datetime data type.

    * BOOLEAN – A boolean data type.

    BINARY – A * binary data type.

*/ inline const ColumnDataType& GetDataType() const{ return m_dataType; } /** *

Data type of a column.

  • STRING – A String data * type.

    CHAR – A char data type.

    INTEGER * – An integer data type.

    TINYINT – A tinyint data type.

    *

    SMALLINT – A smallint data type.

    BIGINT – * A bigint data type.

    FLOAT – A float data type.

    * DOUBLE – A double data type.

    DATE – A date * data type.

    DATETIME – A datetime data type.

    * BOOLEAN – A boolean data type.

    BINARY – A * binary data type.

*/ inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; } /** *

Data type of a column.

  • STRING – A String data * type.

    CHAR – A char data type.

    INTEGER * – An integer data type.

    TINYINT – A tinyint data type.

    *

    SMALLINT – A smallint data type.

    BIGINT – * A bigint data type.

    FLOAT – A float data type.

    * DOUBLE – A double data type.

    DATE – A date * data type.

    DATETIME – A datetime data type.

    * BOOLEAN – A boolean data type.

    BINARY – A * binary data type.

*/ inline void SetDataType(const ColumnDataType& value) { m_dataTypeHasBeenSet = true; m_dataType = value; } /** *

Data type of a column.

  • STRING – A String data * type.

    CHAR – A char data type.

    INTEGER * – An integer data type.

    TINYINT – A tinyint data type.

    *

    SMALLINT – A smallint data type.

    BIGINT – * A bigint data type.

    FLOAT – A float data type.

    * DOUBLE – A double data type.

    DATE – A date * data type.

    DATETIME – A datetime data type.

    * BOOLEAN – A boolean data type.

    BINARY – A * binary data type.

*/ inline void SetDataType(ColumnDataType&& value) { m_dataTypeHasBeenSet = true; m_dataType = std::move(value); } /** *

Data type of a column.

  • STRING – A String data * type.

    CHAR – A char data type.

    INTEGER * – An integer data type.

    TINYINT – A tinyint data type.

    *

    SMALLINT – A smallint data type.

    BIGINT – * A bigint data type.

    FLOAT – A float data type.

    * DOUBLE – A double data type.

    DATE – A date * data type.

    DATETIME – A datetime data type.

    * BOOLEAN – A boolean data type.

    BINARY – A * binary data type.

*/ inline ColumnDefinition& WithDataType(const ColumnDataType& value) { SetDataType(value); return *this;} /** *

Data type of a column.

  • STRING – A String data * type.

    CHAR – A char data type.

    INTEGER * – An integer data type.

    TINYINT – A tinyint data type.

    *

    SMALLINT – A smallint data type.

    BIGINT – * A bigint data type.

    FLOAT – A float data type.

    * DOUBLE – A double data type.

    DATE – A date * data type.

    DATETIME – A datetime data type.

    * BOOLEAN – A boolean data type.

    BINARY – A * binary data type.

*/ inline ColumnDefinition& WithDataType(ColumnDataType&& value) { SetDataType(std::move(value)); return *this;} /** *

The name of a column.

*/ inline const Aws::String& GetColumnName() const{ return m_columnName; } /** *

The name of a column.

*/ inline bool ColumnNameHasBeenSet() const { return m_columnNameHasBeenSet; } /** *

The name of a column.

*/ inline void SetColumnName(const Aws::String& value) { m_columnNameHasBeenSet = true; m_columnName = value; } /** *

The name of a column.

*/ inline void SetColumnName(Aws::String&& value) { m_columnNameHasBeenSet = true; m_columnName = std::move(value); } /** *

The name of a column.

*/ inline void SetColumnName(const char* value) { m_columnNameHasBeenSet = true; m_columnName.assign(value); } /** *

The name of a column.

*/ inline ColumnDefinition& WithColumnName(const Aws::String& value) { SetColumnName(value); return *this;} /** *

The name of a column.

*/ inline ColumnDefinition& WithColumnName(Aws::String&& value) { SetColumnName(std::move(value)); return *this;} /** *

The name of a column.

*/ inline ColumnDefinition& WithColumnName(const char* value) { SetColumnName(value); return *this;} /** *

Description for a column.

*/ inline const Aws::String& GetColumnDescription() const{ return m_columnDescription; } /** *

Description for a column.

*/ inline bool ColumnDescriptionHasBeenSet() const { return m_columnDescriptionHasBeenSet; } /** *

Description for a column.

*/ inline void SetColumnDescription(const Aws::String& value) { m_columnDescriptionHasBeenSet = true; m_columnDescription = value; } /** *

Description for a column.

*/ inline void SetColumnDescription(Aws::String&& value) { m_columnDescriptionHasBeenSet = true; m_columnDescription = std::move(value); } /** *

Description for a column.

*/ inline void SetColumnDescription(const char* value) { m_columnDescriptionHasBeenSet = true; m_columnDescription.assign(value); } /** *

Description for a column.

*/ inline ColumnDefinition& WithColumnDescription(const Aws::String& value) { SetColumnDescription(value); return *this;} /** *

Description for a column.

*/ inline ColumnDefinition& WithColumnDescription(Aws::String&& value) { SetColumnDescription(std::move(value)); return *this;} /** *

Description for a column.

*/ inline ColumnDefinition& WithColumnDescription(const char* value) { SetColumnDescription(value); return *this;} private: ColumnDataType m_dataType; bool m_dataTypeHasBeenSet = false; Aws::String m_columnName; bool m_columnNameHasBeenSet = false; Aws::String m_columnDescription; bool m_columnDescriptionHasBeenSet = false; }; } // namespace Model } // namespace FinSpaceData } // namespace Aws