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

commonMain.aws.sdk.kotlin.hll.dynamodbmapper.pipeline.SerializeInput.kt Maven / Gradle / Ivy

There is a newer version: 1.3.99-beta
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0
 */
package aws.sdk.kotlin.hll.dynamodbmapper.pipeline

import aws.sdk.kotlin.hll.dynamodbmapper.items.ItemSchema
import aws.sdk.kotlin.hll.dynamodbmapper.operations.GetItemRequest
import aws.sdk.kotlin.hll.dynamodbmapper.pipeline.internal.SerializeInputImpl
import aws.smithy.kotlin.runtime.ExperimentalApi

/**
 * Defines input to the serialization step of the pipeline
 * @param T The type of objects being converted to/from DynamoDB items
 * @param HReq The type of high-level request object (e.g., [GetItemRequest])
 */
@ExperimentalApi
public interface SerializeInput {
    /**
     * The high-level request object which is to be serialized into a low-level request object
     */
    public val highLevelRequest: HReq

    /**
     * The [ItemSchema] to use for serializing objects into items
     */
    public val serializeSchema: ItemSchema
}

/**
 * Creates a new [SerializeInput]
 * @param T The type of objects being converted to/from DynamoDB items
 * @param HReq The type of high-level request object (e.g., [GetItemRequest])
 * @param highLevelRequest The high-level request object which is to be serialized into a low-level request object
 * @param serializeSchema The [ItemSchema] to use for serializing objects into items
 */
@ExperimentalApi
public fun  SerializeInput(highLevelRequest: HReq, serializeSchema: ItemSchema): SerializeInput =
    SerializeInputImpl(highLevelRequest, serializeSchema)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy