package org.atricore.idbus.capabilities.oauth2.main.binding;
import org.atricore.idbus.capabilities.sso.support.binding.SSOBinding;
/**
* @author <a href=mailto:sgonzalez@atricore.org>Sebastian Gonzalez Oyuela</a>
*/
public enum OAuth2Binding {
SSO_ARTIFACT(SSOBinding.SSO_ARTIFACT.getValue(), SSOBinding.SSO_ARTIFACT.isFrontChannel()),
SSO_REDIRECT(SSOBinding.SSO_REDIRECT.getValue(), SSOBinding.SSO_REDIRECT.isFrontChannel()),
SSO_PREAUTHN(SSOBinding.SSO_PREAUTHN.getValue(), SSOBinding.SSO_PREAUTHN.isFrontChannel()),
SSO_SOAP(SSOBinding.SSO_SOAP.getValue(), SSOBinding.SSO_SOAP.isFrontChannel()),
SSO_LOCAL(SSOBinding.SSO_LOCAL.getValue(), SSOBinding.SSO_LOCAL.isFrontChannel()),
OAUTH2_SOAP("urn:org:atricore:idbus:OAUTH:2.0:bindings:SOAP", false),
OAUTH2_RESTFUL("urn:org:atricore:idbus:OAUTH:2.0:bindings:HTTP-Restful", true);
private String binding;
boolean frontChannel;
OAuth2Binding(String binding, boolean frontChannel) {
this.binding = binding;
this.frontChannel = frontChannel;
}
public String getValue() {
return binding;
}
@Override
public String toString() {
return binding;
}
public boolean isFrontChannel() {
return frontChannel;
}
public static OAuth2Binding asEnum(String binding) {
for (OAuth2Binding b : values()) {
if (b.getValue().equals(binding))
return b;
}
throw new IllegalArgumentException("Invalid OAuth2Binding '" + binding + "'");
}
}