package com.sap.jam.oauth.client;
import java.util.Locale;
public enum SignatureMethod {
PLAINTEXT("PLAINTEXT"),
HMAC_SHA1("HMAC-SHA1"),
RSA_SHA1("RSA-SHA1");
private final String description;
private SignatureMethod(String description) {
this.description = description;
}
public final String toString(){
return description;
}
public static SignatureMethod fromOAuthProtocolString(String oauthSignatureMethod) {
if (oauthSignatureMethod.equals(SignatureMethod.HMAC_SHA1.toString())) {
return SignatureMethod.HMAC_SHA1;
}
if (oauthSignatureMethod.equals(SignatureMethod.RSA_SHA1.toString())) {
return SignatureMethod.RSA_SHA1;
}
if (oauthSignatureMethod.equals(SignatureMethod.PLAINTEXT.toString())) {
return SignatureMethod.PLAINTEXT;
}
throw new IllegalArgumentException("Unknown OAuth signature method.");
}
public static SignatureMethod fromString(String signatureMethod) {
signatureMethod = signatureMethod.toUpperCase(Locale.ROOT);
if (signatureMethod.equals(PLAINTEXT.toString())) {
return PLAINTEXT;
} else if (signatureMethod.equals(HMAC_SHA1.toString())) {
return HMAC_SHA1;
} else if (signatureMethod.equals(RSA_SHA1.toString())) {
return RSA_SHA1;
}
throw new IllegalArgumentException("Unrecognized signature method " + signatureMethod + ".");
}
}