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

Contains the individual types of column statistics data. Only one data object * should be set and indicated by the Type attribute.

See * Also:

AWS * API Reference

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

The type of column statistics data.

*/ inline const ColumnStatisticsType& GetType() const{ return m_type; } /** *

The type of column statistics data.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of column statistics data.

*/ inline void SetType(const ColumnStatisticsType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of column statistics data.

*/ inline void SetType(ColumnStatisticsType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of column statistics data.

*/ inline ColumnStatisticsData& WithType(const ColumnStatisticsType& value) { SetType(value); return *this;} /** *

The type of column statistics data.

*/ inline ColumnStatisticsData& WithType(ColumnStatisticsType&& value) { SetType(std::move(value)); return *this;} /** *

Boolean column statistics data.

*/ inline const BooleanColumnStatisticsData& GetBooleanColumnStatisticsData() const{ return m_booleanColumnStatisticsData; } /** *

Boolean column statistics data.

*/ inline bool BooleanColumnStatisticsDataHasBeenSet() const { return m_booleanColumnStatisticsDataHasBeenSet; } /** *

Boolean column statistics data.

*/ inline void SetBooleanColumnStatisticsData(const BooleanColumnStatisticsData& value) { m_booleanColumnStatisticsDataHasBeenSet = true; m_booleanColumnStatisticsData = value; } /** *

Boolean column statistics data.

*/ inline void SetBooleanColumnStatisticsData(BooleanColumnStatisticsData&& value) { m_booleanColumnStatisticsDataHasBeenSet = true; m_booleanColumnStatisticsData = std::move(value); } /** *

Boolean column statistics data.

*/ inline ColumnStatisticsData& WithBooleanColumnStatisticsData(const BooleanColumnStatisticsData& value) { SetBooleanColumnStatisticsData(value); return *this;} /** *

Boolean column statistics data.

*/ inline ColumnStatisticsData& WithBooleanColumnStatisticsData(BooleanColumnStatisticsData&& value) { SetBooleanColumnStatisticsData(std::move(value)); return *this;} /** *

Date column statistics data.

*/ inline const DateColumnStatisticsData& GetDateColumnStatisticsData() const{ return m_dateColumnStatisticsData; } /** *

Date column statistics data.

*/ inline bool DateColumnStatisticsDataHasBeenSet() const { return m_dateColumnStatisticsDataHasBeenSet; } /** *

Date column statistics data.

*/ inline void SetDateColumnStatisticsData(const DateColumnStatisticsData& value) { m_dateColumnStatisticsDataHasBeenSet = true; m_dateColumnStatisticsData = value; } /** *

Date column statistics data.

*/ inline void SetDateColumnStatisticsData(DateColumnStatisticsData&& value) { m_dateColumnStatisticsDataHasBeenSet = true; m_dateColumnStatisticsData = std::move(value); } /** *

Date column statistics data.

*/ inline ColumnStatisticsData& WithDateColumnStatisticsData(const DateColumnStatisticsData& value) { SetDateColumnStatisticsData(value); return *this;} /** *

Date column statistics data.

*/ inline ColumnStatisticsData& WithDateColumnStatisticsData(DateColumnStatisticsData&& value) { SetDateColumnStatisticsData(std::move(value)); return *this;} /** *

Decimal column statistics data. UnscaledValues within are Base64-encoded * binary objects storing big-endian, two's complement representations of the * decimal's unscaled value.

*/ inline const DecimalColumnStatisticsData& GetDecimalColumnStatisticsData() const{ return m_decimalColumnStatisticsData; } /** *

Decimal column statistics data. UnscaledValues within are Base64-encoded * binary objects storing big-endian, two's complement representations of the * decimal's unscaled value.

*/ inline bool DecimalColumnStatisticsDataHasBeenSet() const { return m_decimalColumnStatisticsDataHasBeenSet; } /** *

Decimal column statistics data. UnscaledValues within are Base64-encoded * binary objects storing big-endian, two's complement representations of the * decimal's unscaled value.

*/ inline void SetDecimalColumnStatisticsData(const DecimalColumnStatisticsData& value) { m_decimalColumnStatisticsDataHasBeenSet = true; m_decimalColumnStatisticsData = value; } /** *

Decimal column statistics data. UnscaledValues within are Base64-encoded * binary objects storing big-endian, two's complement representations of the * decimal's unscaled value.

*/ inline void SetDecimalColumnStatisticsData(DecimalColumnStatisticsData&& value) { m_decimalColumnStatisticsDataHasBeenSet = true; m_decimalColumnStatisticsData = std::move(value); } /** *

Decimal column statistics data. UnscaledValues within are Base64-encoded * binary objects storing big-endian, two's complement representations of the * decimal's unscaled value.

*/ inline ColumnStatisticsData& WithDecimalColumnStatisticsData(const DecimalColumnStatisticsData& value) { SetDecimalColumnStatisticsData(value); return *this;} /** *

Decimal column statistics data. UnscaledValues within are Base64-encoded * binary objects storing big-endian, two's complement representations of the * decimal's unscaled value.

*/ inline ColumnStatisticsData& WithDecimalColumnStatisticsData(DecimalColumnStatisticsData&& value) { SetDecimalColumnStatisticsData(std::move(value)); return *this;} /** *

Double column statistics data.

*/ inline const DoubleColumnStatisticsData& GetDoubleColumnStatisticsData() const{ return m_doubleColumnStatisticsData; } /** *

Double column statistics data.

*/ inline bool DoubleColumnStatisticsDataHasBeenSet() const { return m_doubleColumnStatisticsDataHasBeenSet; } /** *

Double column statistics data.

*/ inline void SetDoubleColumnStatisticsData(const DoubleColumnStatisticsData& value) { m_doubleColumnStatisticsDataHasBeenSet = true; m_doubleColumnStatisticsData = value; } /** *

Double column statistics data.

*/ inline void SetDoubleColumnStatisticsData(DoubleColumnStatisticsData&& value) { m_doubleColumnStatisticsDataHasBeenSet = true; m_doubleColumnStatisticsData = std::move(value); } /** *

Double column statistics data.

*/ inline ColumnStatisticsData& WithDoubleColumnStatisticsData(const DoubleColumnStatisticsData& value) { SetDoubleColumnStatisticsData(value); return *this;} /** *

Double column statistics data.

*/ inline ColumnStatisticsData& WithDoubleColumnStatisticsData(DoubleColumnStatisticsData&& value) { SetDoubleColumnStatisticsData(std::move(value)); return *this;} /** *

Long column statistics data.

*/ inline const LongColumnStatisticsData& GetLongColumnStatisticsData() const{ return m_longColumnStatisticsData; } /** *

Long column statistics data.

*/ inline bool LongColumnStatisticsDataHasBeenSet() const { return m_longColumnStatisticsDataHasBeenSet; } /** *

Long column statistics data.

*/ inline void SetLongColumnStatisticsData(const LongColumnStatisticsData& value) { m_longColumnStatisticsDataHasBeenSet = true; m_longColumnStatisticsData = value; } /** *

Long column statistics data.

*/ inline void SetLongColumnStatisticsData(LongColumnStatisticsData&& value) { m_longColumnStatisticsDataHasBeenSet = true; m_longColumnStatisticsData = std::move(value); } /** *

Long column statistics data.

*/ inline ColumnStatisticsData& WithLongColumnStatisticsData(const LongColumnStatisticsData& value) { SetLongColumnStatisticsData(value); return *this;} /** *

Long column statistics data.

*/ inline ColumnStatisticsData& WithLongColumnStatisticsData(LongColumnStatisticsData&& value) { SetLongColumnStatisticsData(std::move(value)); return *this;} /** *

String column statistics data.

*/ inline const StringColumnStatisticsData& GetStringColumnStatisticsData() const{ return m_stringColumnStatisticsData; } /** *

String column statistics data.

*/ inline bool StringColumnStatisticsDataHasBeenSet() const { return m_stringColumnStatisticsDataHasBeenSet; } /** *

String column statistics data.

*/ inline void SetStringColumnStatisticsData(const StringColumnStatisticsData& value) { m_stringColumnStatisticsDataHasBeenSet = true; m_stringColumnStatisticsData = value; } /** *

String column statistics data.

*/ inline void SetStringColumnStatisticsData(StringColumnStatisticsData&& value) { m_stringColumnStatisticsDataHasBeenSet = true; m_stringColumnStatisticsData = std::move(value); } /** *

String column statistics data.

*/ inline ColumnStatisticsData& WithStringColumnStatisticsData(const StringColumnStatisticsData& value) { SetStringColumnStatisticsData(value); return *this;} /** *

String column statistics data.

*/ inline ColumnStatisticsData& WithStringColumnStatisticsData(StringColumnStatisticsData&& value) { SetStringColumnStatisticsData(std::move(value)); return *this;} /** *

Binary column statistics data.

*/ inline const BinaryColumnStatisticsData& GetBinaryColumnStatisticsData() const{ return m_binaryColumnStatisticsData; } /** *

Binary column statistics data.

*/ inline bool BinaryColumnStatisticsDataHasBeenSet() const { return m_binaryColumnStatisticsDataHasBeenSet; } /** *

Binary column statistics data.

*/ inline void SetBinaryColumnStatisticsData(const BinaryColumnStatisticsData& value) { m_binaryColumnStatisticsDataHasBeenSet = true; m_binaryColumnStatisticsData = value; } /** *

Binary column statistics data.

*/ inline void SetBinaryColumnStatisticsData(BinaryColumnStatisticsData&& value) { m_binaryColumnStatisticsDataHasBeenSet = true; m_binaryColumnStatisticsData = std::move(value); } /** *

Binary column statistics data.

*/ inline ColumnStatisticsData& WithBinaryColumnStatisticsData(const BinaryColumnStatisticsData& value) { SetBinaryColumnStatisticsData(value); return *this;} /** *

Binary column statistics data.

*/ inline ColumnStatisticsData& WithBinaryColumnStatisticsData(BinaryColumnStatisticsData&& value) { SetBinaryColumnStatisticsData(std::move(value)); return *this;} private: ColumnStatisticsType m_type; bool m_typeHasBeenSet = false; BooleanColumnStatisticsData m_booleanColumnStatisticsData; bool m_booleanColumnStatisticsDataHasBeenSet = false; DateColumnStatisticsData m_dateColumnStatisticsData; bool m_dateColumnStatisticsDataHasBeenSet = false; DecimalColumnStatisticsData m_decimalColumnStatisticsData; bool m_decimalColumnStatisticsDataHasBeenSet = false; DoubleColumnStatisticsData m_doubleColumnStatisticsData; bool m_doubleColumnStatisticsDataHasBeenSet = false; LongColumnStatisticsData m_longColumnStatisticsData; bool m_longColumnStatisticsDataHasBeenSet = false; StringColumnStatisticsData m_stringColumnStatisticsData; bool m_stringColumnStatisticsDataHasBeenSet = false; BinaryColumnStatisticsData m_binaryColumnStatisticsData; bool m_binaryColumnStatisticsDataHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws