
scala.googleapis.bigquery.TableDefaultRoundingMode.scala Maven / Gradle / Ivy
package googleapis.bigquery
import io.circe._
sealed abstract class TableDefaultRoundingMode(val value: String) extends Product with Serializable
object TableDefaultRoundingMode {
/** Unspecified will default to using ROUND_HALF_AWAY_FROM_ZERO.
*/
case object ROUNDING_MODE_UNSPECIFIED
extends TableDefaultRoundingMode("ROUNDING_MODE_UNSPECIFIED")
/** ROUND_HALF_AWAY_FROM_ZERO rounds half values away from zero when applying precision and scale upon writing of NUMERIC and BIGNUMERIC values. For Scale: 0 1.1, 1.2, 1.3, 1.4 => 1 1.5, 1.6, 1.7, 1.8, 1.9 => 2
*/
case object ROUND_HALF_AWAY_FROM_ZERO
extends TableDefaultRoundingMode("ROUND_HALF_AWAY_FROM_ZERO")
/** ROUND_HALF_EVEN rounds half values to the nearest even value when applying precision and scale upon writing of NUMERIC and BIGNUMERIC values. For Scale: 0 1.1, 1.2, 1.3, 1.4 => 1 1.5 => 2 1.6, 1.7, 1.8, 1.9 => 2 2.5 => 2
*/
case object ROUND_HALF_EVEN extends TableDefaultRoundingMode("ROUND_HALF_EVEN")
val values = List(ROUNDING_MODE_UNSPECIFIED, ROUND_HALF_AWAY_FROM_ZERO, ROUND_HALF_EVEN)
def fromString(input: String): Either[String, TableDefaultRoundingMode] = values
.find(_.value == input)
.toRight(s"'$input' was not a valid value for TableDefaultRoundingMode")
implicit val decoder: Decoder[TableDefaultRoundingMode] = Decoder[String].emap(s => fromString(s))
implicit val encoder: Encoder[TableDefaultRoundingMode] = Encoder[String].contramap(_.value)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy