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

io.github.vigoo.zioaws.redshiftdata.model.ColumnMetadata.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.redshiftdata.model
import scala.jdk.CollectionConverters.*
import java.time.Instant
import zio.{ Chunk, ZIO }
import software.amazon.awssdk.core.SdkBytes
final case class ColumnMetadata(columnDefault: scala.Option[String] = None, isCaseSensitive: scala.Option[primitives.Bool] = None, isCurrency: scala.Option[primitives.Bool] = None, isSigned: scala.Option[primitives.Bool] = None, label: scala.Option[String] = None, length: scala.Option[primitives.Integer] = None, name: scala.Option[String] = None, nullable: scala.Option[primitives.Integer] = None, precision: scala.Option[primitives.Integer] = None, scale: scala.Option[primitives.Integer] = None, schemaName: scala.Option[String] = None, tableName: scala.Option[String] = None, typeName: scala.Option[String] = None) {
  def buildAwsValue(): software.amazon.awssdk.services.redshiftdata.model.ColumnMetadata = {
    import ColumnMetadata.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.redshiftdata.model.ColumnMetadata.builder().optionallyWith(columnDefault.map(value => value: java.lang.String))(_.columnDefault).optionallyWith(isCaseSensitive.map(value => value: java.lang.Boolean))(_.isCaseSensitive).optionallyWith(isCurrency.map(value => value: java.lang.Boolean))(_.isCurrency).optionallyWith(isSigned.map(value => value: java.lang.Boolean))(_.isSigned).optionallyWith(label.map(value => value: java.lang.String))(_.label).optionallyWith(length.map(value => value: java.lang.Integer))(_.length).optionallyWith(name.map(value => value: java.lang.String))(_.name).optionallyWith(nullable.map(value => value: java.lang.Integer))(_.nullable).optionallyWith(precision.map(value => value: java.lang.Integer))(_.precision).optionallyWith(scale.map(value => value: java.lang.Integer))(_.scale).optionallyWith(schemaName.map(value => value: java.lang.String))(_.schemaName).optionallyWith(tableName.map(value => value: java.lang.String))(_.tableName).optionallyWith(typeName.map(value => value: java.lang.String))(_.typeName).build()
  }
  def asReadOnly: ColumnMetadata.ReadOnly = ColumnMetadata.wrap(buildAwsValue())
}
object ColumnMetadata {
  private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.redshiftdata.model.ColumnMetadata] = io.github.vigoo.zioaws.core.BuilderHelper.apply
  trait ReadOnly {
    def editable: ColumnMetadata = ColumnMetadata(columnDefaultValue.map(value => value), isCaseSensitiveValue.map(value => value), isCurrencyValue.map(value => value), isSignedValue.map(value => value), labelValue.map(value => value), lengthValue.map(value => value), nameValue.map(value => value), nullableValue.map(value => value), precisionValue.map(value => value), scaleValue.map(value => value), schemaNameValue.map(value => value), tableNameValue.map(value => value), typeNameValue.map(value => value))
    def columnDefaultValue: scala.Option[String]
    def isCaseSensitiveValue: scala.Option[primitives.Bool]
    def isCurrencyValue: scala.Option[primitives.Bool]
    def isSignedValue: scala.Option[primitives.Bool]
    def labelValue: scala.Option[String]
    def lengthValue: scala.Option[primitives.Integer]
    def nameValue: scala.Option[String]
    def nullableValue: scala.Option[primitives.Integer]
    def precisionValue: scala.Option[primitives.Integer]
    def scaleValue: scala.Option[primitives.Integer]
    def schemaNameValue: scala.Option[String]
    def tableNameValue: scala.Option[String]
    def typeNameValue: scala.Option[String]
    def columnDefault: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("columnDefault", columnDefaultValue)
    def isCaseSensitive: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Bool] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("isCaseSensitive", isCaseSensitiveValue)
    def isCurrency: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Bool] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("isCurrency", isCurrencyValue)
    def isSigned: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Bool] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("isSigned", isSignedValue)
    def label: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("label", labelValue)
    def length: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Integer] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("length", lengthValue)
    def name: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("name", nameValue)
    def nullable: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Integer] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("nullable", nullableValue)
    def precision: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Integer] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("precision", precisionValue)
    def scale: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Integer] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("scale", scaleValue)
    def schemaName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("schemaName", schemaNameValue)
    def tableName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("tableName", tableNameValue)
    def typeName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("typeName", typeNameValue)
  }
  private class Wrapper(impl: software.amazon.awssdk.services.redshiftdata.model.ColumnMetadata) extends ColumnMetadata.ReadOnly {
    override def columnDefaultValue: scala.Option[String] = scala.Option(impl.columnDefault()).map(value => value: String)
    override def isCaseSensitiveValue: scala.Option[primitives.Bool] = scala.Option(impl.isCaseSensitive()).map(value => value: primitives.Bool)
    override def isCurrencyValue: scala.Option[primitives.Bool] = scala.Option(impl.isCurrency()).map(value => value: primitives.Bool)
    override def isSignedValue: scala.Option[primitives.Bool] = scala.Option(impl.isSigned()).map(value => value: primitives.Bool)
    override def labelValue: scala.Option[String] = scala.Option(impl.label()).map(value => value: String)
    override def lengthValue: scala.Option[primitives.Integer] = scala.Option(impl.length()).map(value => value: primitives.Integer)
    override def nameValue: scala.Option[String] = scala.Option(impl.name()).map(value => value: String)
    override def nullableValue: scala.Option[primitives.Integer] = scala.Option(impl.nullable()).map(value => value: primitives.Integer)
    override def precisionValue: scala.Option[primitives.Integer] = scala.Option(impl.precision()).map(value => value: primitives.Integer)
    override def scaleValue: scala.Option[primitives.Integer] = scala.Option(impl.scale()).map(value => value: primitives.Integer)
    override def schemaNameValue: scala.Option[String] = scala.Option(impl.schemaName()).map(value => value: String)
    override def tableNameValue: scala.Option[String] = scala.Option(impl.tableName()).map(value => value: String)
    override def typeNameValue: scala.Option[String] = scala.Option(impl.typeName()).map(value => value: String)
  }
  def wrap(impl: software.amazon.awssdk.services.redshiftdata.model.ColumnMetadata): ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy