package org.atricore.idbus.capabilities.openidconnect.main.common;
import org.atricore.idbus.capabilities.sso.support.metadata.SSOMetadataConstants;
import javax.xml.namespace.QName;
/**
* Created by sgonzalez on 3/11/14.
*/
public enum OpenIDConnectService {
SPInitiatedSingleSignOnServiceProxy(SSOMetadataConstants.SPInitiatedSingleSignOnServiceProxy_QNAME),
GoogleAuthzTokenConsumerServiceProxy(OpenIDConnectConstants.GoogleAuthzTokenConsumerService_QNAME),
FacebookAuthzTokenConsumerServiceProxy(OpenIDConnectConstants.FacebookAuthzTokenConsumerService_QNAME),
TwitterAuthzTokenConsumerServiceProxy(OpenIDConnectConstants.TwitterAuthzTokenConsumerService_QNAME);
private QName qname;
OpenIDConnectService(String uri, String localPart) {
this(new QName(uri, localPart));
}
OpenIDConnectService(QName qname) {
this.qname = qname;
}
public QName getQname() {
return qname;
}
public static OpenIDConnectService asEnum(String name) {
String localPart = name.substring(name.lastIndexOf("}") + 1);
String uri = name.lastIndexOf("}") > 0 ? name.substring(1, name.lastIndexOf("}")) : "";
QName qname = new QName(uri, localPart);
return asEnum(qname);
}
public static OpenIDConnectService asEnum(QName qname) {
for (OpenIDConnectService et : values()) {
if (et.getQname().equals(qname))
return et;
}
throw new IllegalArgumentException("Invalid endpoint type: " + qname);
}
@Override
public String toString() {
return qname.toString();
}
}