
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