/* * Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.kms.model; import java.util.HashMap; import java.util.Map; /** * Algorithm Spec */ public enum AlgorithmSpec { RSAES_PKCS1_V1_5("RSAES_PKCS1_V1_5"), RSAES_OAEP_SHA_1("RSAES_OAEP_SHA_1"), RSAES_OAEP_SHA_256("RSAES_OAEP_SHA_256"), RSA_AES_KEY_WRAP_SHA_1("RSA_AES_KEY_WRAP_SHA_1"), RSA_AES_KEY_WRAP_SHA_256("RSA_AES_KEY_WRAP_SHA_256"); private String value; private AlgorithmSpec(String value) { this.value = value; } @Override public String toString() { return value; } private static final Map enumMap; static { enumMap = new HashMap(); enumMap.put("RSAES_PKCS1_V1_5", RSAES_PKCS1_V1_5); enumMap.put("RSAES_OAEP_SHA_1", RSAES_OAEP_SHA_1); enumMap.put("RSAES_OAEP_SHA_256", RSAES_OAEP_SHA_256); enumMap.put("RSA_AES_KEY_WRAP_SHA_1", RSA_AES_KEY_WRAP_SHA_1); enumMap.put("RSA_AES_KEY_WRAP_SHA_256", RSA_AES_KEY_WRAP_SHA_256); } /** * Use this in place of valueOf. * * @param value real value * @return AlgorithmSpec corresponding to the value */ public static AlgorithmSpec fromValue(String value) { if (value == null || value.isEmpty()) { throw new IllegalArgumentException("Value cannot be null or empty!"); } else if (enumMap.containsKey(value)) { return enumMap.get(value); } else { throw new IllegalArgumentException("Cannot create enum from " + value + " value!"); } } }