All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.cloudsearchdomain.model.FieldStats.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.cloudsearchdomain.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The statistics for a field calculated in the request.
 */
public class FieldStats private constructor(builder: Builder) {
    /**
     * The number of documents that contain a value in the specified field in the result set.
     */
    public val count: kotlin.Long = builder.count
    /**
     * The maximum value found in the specified field in the result set.
     *
     * If the field is numeric (`int`, `int-array`, `double`, or `double-array`), `max` is the string representation of a double-precision 64-bit floating point value. If the field is `date` or `date-array`, `max` is the string representation of a date with the format specified in [IETF RFC3339](http://tools.ietf.org/html/rfc3339): yyyy-mm-ddTHH:mm:ss.SSSZ.
     */
    public val max: kotlin.String? = builder.max
    /**
     * The average of the values found in the specified field in the result set.
     *
     * If the field is numeric (`int`, `int-array`, `double`, or `double-array`), `mean` is the string representation of a double-precision 64-bit floating point value. If the field is `date` or `date-array`, `mean` is the string representation of a date with the format specified in [IETF RFC3339](http://tools.ietf.org/html/rfc3339): yyyy-mm-ddTHH:mm:ss.SSSZ.
     */
    public val mean: kotlin.String? = builder.mean
    /**
     * The minimum value found in the specified field in the result set.
     *
     * If the field is numeric (`int`, `int-array`, `double`, or `double-array`), `min` is the string representation of a double-precision 64-bit floating point value. If the field is `date` or `date-array`, `min` is the string representation of a date with the format specified in [IETF RFC3339](http://tools.ietf.org/html/rfc3339): yyyy-mm-ddTHH:mm:ss.SSSZ.
     */
    public val min: kotlin.String? = builder.min
    /**
     * The number of documents that do not contain a value in the specified field in the result set.
     */
    public val missing: kotlin.Long = builder.missing
    /**
     * The standard deviation of the values in the specified field in the result set.
     */
    public val stddev: kotlin.Double = builder.stddev
    /**
     * The sum of the field values across the documents in the result set. `null` for date fields.
     */
    public val sum: kotlin.Double = builder.sum
    /**
     * The sum of all field values in the result set squared.
     */
    public val sumOfSquares: kotlin.Double = builder.sumOfSquares

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.cloudsearchdomain.model.FieldStats = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("FieldStats(")
        append("count=$count,")
        append("max=$max,")
        append("mean=$mean,")
        append("min=$min,")
        append("missing=$missing,")
        append("stddev=$stddev,")
        append("sum=$sum,")
        append("sumOfSquares=$sumOfSquares")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = count.hashCode()
        result = 31 * result + (max?.hashCode() ?: 0)
        result = 31 * result + (mean?.hashCode() ?: 0)
        result = 31 * result + (min?.hashCode() ?: 0)
        result = 31 * result + (missing.hashCode())
        result = 31 * result + (stddev.hashCode())
        result = 31 * result + (sum.hashCode())
        result = 31 * result + (sumOfSquares.hashCode())
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as FieldStats

        if (count != other.count) return false
        if (max != other.max) return false
        if (mean != other.mean) return false
        if (min != other.min) return false
        if (missing != other.missing) return false
        if (!(stddev?.equals(other.stddev) ?: (other.stddev == null))) return false
        if (!(sum?.equals(other.sum) ?: (other.sum == null))) return false
        if (!(sumOfSquares?.equals(other.sumOfSquares) ?: (other.sumOfSquares == null))) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.cloudsearchdomain.model.FieldStats = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * The number of documents that contain a value in the specified field in the result set.
         */
        public var count: kotlin.Long = 0L
        /**
         * The maximum value found in the specified field in the result set.
         *
         * If the field is numeric (`int`, `int-array`, `double`, or `double-array`), `max` is the string representation of a double-precision 64-bit floating point value. If the field is `date` or `date-array`, `max` is the string representation of a date with the format specified in [IETF RFC3339](http://tools.ietf.org/html/rfc3339): yyyy-mm-ddTHH:mm:ss.SSSZ.
         */
        public var max: kotlin.String? = null
        /**
         * The average of the values found in the specified field in the result set.
         *
         * If the field is numeric (`int`, `int-array`, `double`, or `double-array`), `mean` is the string representation of a double-precision 64-bit floating point value. If the field is `date` or `date-array`, `mean` is the string representation of a date with the format specified in [IETF RFC3339](http://tools.ietf.org/html/rfc3339): yyyy-mm-ddTHH:mm:ss.SSSZ.
         */
        public var mean: kotlin.String? = null
        /**
         * The minimum value found in the specified field in the result set.
         *
         * If the field is numeric (`int`, `int-array`, `double`, or `double-array`), `min` is the string representation of a double-precision 64-bit floating point value. If the field is `date` or `date-array`, `min` is the string representation of a date with the format specified in [IETF RFC3339](http://tools.ietf.org/html/rfc3339): yyyy-mm-ddTHH:mm:ss.SSSZ.
         */
        public var min: kotlin.String? = null
        /**
         * The number of documents that do not contain a value in the specified field in the result set.
         */
        public var missing: kotlin.Long = 0L
        /**
         * The standard deviation of the values in the specified field in the result set.
         */
        public var stddev: kotlin.Double = 0.0
        /**
         * The sum of the field values across the documents in the result set. `null` for date fields.
         */
        public var sum: kotlin.Double = 0.0
        /**
         * The sum of all field values in the result set squared.
         */
        public var sumOfSquares: kotlin.Double = 0.0

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.cloudsearchdomain.model.FieldStats) : this() {
            this.count = x.count
            this.max = x.max
            this.mean = x.mean
            this.min = x.min
            this.missing = x.missing
            this.stddev = x.stddev
            this.sum = x.sum
            this.sumOfSquares = x.sumOfSquares
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.cloudsearchdomain.model.FieldStats = FieldStats(this)

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy