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

zio.aws.qbusiness.model.TextSegment.scala Maven / Gradle / Ivy

package zio.aws.qbusiness.model
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import zio.aws.qbusiness.model.primitives.{SourceAttributionMediaId, Integer}
import scala.jdk.CollectionConverters._
final case class TextSegment(
    beginOffset: Optional[Integer] = Optional.Absent,
    endOffset: Optional[Integer] = Optional.Absent,
    snippetExcerpt: Optional[zio.aws.qbusiness.model.SnippetExcerpt] =
      Optional.Absent,
    mediaId: Optional[SourceAttributionMediaId] = Optional.Absent,
    mediaMimeType: Optional[String] = Optional.Absent,
    sourceDetails: Optional[zio.aws.qbusiness.model.SourceDetails] =
      Optional.Absent
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.qbusiness.model.TextSegment = {
    import TextSegment.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.qbusiness.model.TextSegment
      .builder()
      .optionallyWith(beginOffset.map(value => value: java.lang.Integer))(
        _.beginOffset
      )
      .optionallyWith(endOffset.map(value => value: java.lang.Integer))(
        _.endOffset
      )
      .optionallyWith(snippetExcerpt.map(value => value.buildAwsValue()))(
        _.snippetExcerpt
      )
      .optionallyWith(
        mediaId.map(value =>
          SourceAttributionMediaId.unwrap(value): java.lang.String
        )
      )(_.mediaId)
      .optionallyWith(mediaMimeType.map(value => value: java.lang.String))(
        _.mediaMimeType
      )
      .optionallyWith(sourceDetails.map(value => value.buildAwsValue()))(
        _.sourceDetails
      )
      .build()
  }
  def asReadOnly: zio.aws.qbusiness.model.TextSegment.ReadOnly =
    zio.aws.qbusiness.model.TextSegment.wrap(buildAwsValue())
}
object TextSegment {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.qbusiness.model.TextSegment
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.qbusiness.model.TextSegment =
      zio.aws.qbusiness.model.TextSegment(
        beginOffset.map(value => value),
        endOffset.map(value => value),
        snippetExcerpt.map(value => value.asEditable),
        mediaId.map(value => value),
        mediaMimeType.map(value => value),
        sourceDetails.map(value => value.asEditable)
      )
    def beginOffset: Optional[Integer]
    def endOffset: Optional[Integer]
    def snippetExcerpt
        : Optional[zio.aws.qbusiness.model.SnippetExcerpt.ReadOnly]
    def mediaId: Optional[SourceAttributionMediaId]
    def mediaMimeType: Optional[String]
    def sourceDetails: Optional[zio.aws.qbusiness.model.SourceDetails.ReadOnly]
    def getBeginOffset: ZIO[Any, AwsError, Integer] =
      AwsError.unwrapOptionField("beginOffset", beginOffset)
    def getEndOffset: ZIO[Any, AwsError, Integer] =
      AwsError.unwrapOptionField("endOffset", endOffset)
    def getSnippetExcerpt
        : ZIO[Any, AwsError, zio.aws.qbusiness.model.SnippetExcerpt.ReadOnly] =
      AwsError.unwrapOptionField("snippetExcerpt", snippetExcerpt)
    def getMediaId: ZIO[Any, AwsError, SourceAttributionMediaId] =
      AwsError.unwrapOptionField("mediaId", mediaId)
    def getMediaMimeType: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("mediaMimeType", mediaMimeType)
    def getSourceDetails
        : ZIO[Any, AwsError, zio.aws.qbusiness.model.SourceDetails.ReadOnly] =
      AwsError.unwrapOptionField("sourceDetails", sourceDetails)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.qbusiness.model.TextSegment
  ) extends zio.aws.qbusiness.model.TextSegment.ReadOnly {
    override val beginOffset: Optional[Integer] = zio.aws.core.internal
      .optionalFromNullable(impl.beginOffset())
      .map(value => value: Integer)
    override val endOffset: Optional[Integer] = zio.aws.core.internal
      .optionalFromNullable(impl.endOffset())
      .map(value => value: Integer)
    override val snippetExcerpt
        : Optional[zio.aws.qbusiness.model.SnippetExcerpt.ReadOnly] =
      zio.aws.core.internal
        .optionalFromNullable(impl.snippetExcerpt())
        .map(value => zio.aws.qbusiness.model.SnippetExcerpt.wrap(value))
    override val mediaId: Optional[SourceAttributionMediaId] =
      zio.aws.core.internal
        .optionalFromNullable(impl.mediaId())
        .map(value =>
          zio.aws.qbusiness.model.primitives.SourceAttributionMediaId(value)
        )
    override val mediaMimeType: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.mediaMimeType())
      .map(value => value: String)
    override val sourceDetails
        : Optional[zio.aws.qbusiness.model.SourceDetails.ReadOnly] =
      zio.aws.core.internal
        .optionalFromNullable(impl.sourceDetails())
        .map(value => zio.aws.qbusiness.model.SourceDetails.wrap(value))
  }
  def wrap(
      impl: software.amazon.awssdk.services.qbusiness.model.TextSegment
  ): zio.aws.qbusiness.model.TextSegment.ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy