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

com.azure.cosmos.encryption.implementation.mdesrc.cryptography.EncryptionSettingsImpl Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License.
 */

package com.azure.cosmos.encryption.implementation.mdesrc.cryptography;

/**
 * Contains the settings to configure how encryption operations are performed on the data of arbitrary type T.
 */
public class EncryptionSettingsImpl extends EncryptionSettings {

    /**
     *  Used for serializing and deserializing data objects to and from an array of bytes.
     */
    protected Serializer serializer;

    /**
     * Get the serializer.
     *
     * @return serializer
     */
    public Serializer getSerializer() {
        return serializer;
    }

    /**
     * Initializes a new instance of the EncryptionSettingsImpl class.
     *
     * @param dataEncryptionKey
     *        An encryption key is used to encrypt and decrypt data.
     * @param serializer
     *        A serializer is used for serializing and deserializing data objects to and from an array of bytes.
     */
    public EncryptionSettingsImpl(DataEncryptionKey dataEncryptionKey, Serializer serializer) {
        this(dataEncryptionKey, getDefaultEncryptionType(dataEncryptionKey), serializer);
    }

    /**
     * Initializes a new instance of the EncryptionSettingsImpl class.
     *
     * @param dataEncryptionKey
     *        An encryption key is used to encrypt and decrypt data.
     * @param encryptionType
     *        The type of encryption.
     * @param serializer
     *        A serializer is used for serializing and deserializing data objects to and from an array of bytes.
     */
    public EncryptionSettingsImpl(DataEncryptionKey dataEncryptionKey, EncryptionType encryptionType,
            Serializer serializer) {
        this.dataEncryptionKey = dataEncryptionKey;
        this.encryptionType = encryptionType;
        this.serializer = serializer;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy