/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */ package com.microsoft.azure.keyvault.webkey; import java.util.Arrays; import java.util.Collections; import java.util.List; import com.fasterxml.jackson.annotation.JsonValue; /** * Defines values for JsonWebKeyEncryptionAlgorithm. */ public final class JsonWebKeyEncryptionAlgorithm { /** Static value RSA-OAEP for JsonWebKeyEncryptionAlgorithm. */ public static final JsonWebKeyEncryptionAlgorithm RSA_OAEP = new JsonWebKeyEncryptionAlgorithm("RSA-OAEP"); /** Static value RSA1_5 for JsonWebKeyEncryptionAlgorithm. */ public static final JsonWebKeyEncryptionAlgorithm RSA1_5 = new JsonWebKeyEncryptionAlgorithm("RSA1_5"); private String value; /** * Creates a custom value for JsonWebKeyEncryptionAlgorithm. * @param value the custom value */ public JsonWebKeyEncryptionAlgorithm(String value) { this.value = value; } @JsonValue @Override public String toString() { return value; } @Override public int hashCode() { return value.hashCode(); } @Override public boolean equals(Object obj) { if (!(obj instanceof JsonWebKeyEncryptionAlgorithm)) { return false; } if (obj == this) { return true; } JsonWebKeyEncryptionAlgorithm rhs = (JsonWebKeyEncryptionAlgorithm) obj; if (value == null) { return rhs.value == null; } else { return value.equals(rhs.value); } } /** * All the JWK encryption algorithms. */ public static final List<JsonWebKeyEncryptionAlgorithm> ALL_ALGORITHMS = Collections.unmodifiableList(Arrays.asList(RSA_OAEP, RSA1_5)); }