/*
* oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text.
*
* Copyright (c) 2014, Gluu
*/
package org.xdi.oxauth.model.common;
/**
* An ASCII string value that specifies how the Authorization Server displays
* the authentication and consent user interface pages to the End-User.
*
* @author Javier Rojas Blum Date: 02.10.2012
*/
public enum Display implements HasParamName {
/**
* The Authorization Server SHOULD display authentication and consent UI
* consistent with a full user-agent page view. If the display parameter
* is not specified this is the default display mode.
*/
PAGE("page"),
/**
* The Authorization Server SHOULD display authentication and consent UI
* consistent with a popup user-agent window. The popup user-agent window
* SHOULD be 450 pixels wide and 500 pixels tall.
*/
POPUP("popup"),
/**
* The Authorization Server SHOULD display authentication and consent UI
* consistent with a device that leverages a touch interface.
* The Authorization Server MAY attempt to detect the touch device and
* further customize the interface.
*/
TOUCH("touch"),
/**
* The Authorization Server SHOULD display authentication and consent UI
* consistent with a "feature phone" type display.
*/
WAP("wap"),
/**
* The Authorization Server SHOULD display authentication and consent UI
* consistent with the limitations of an embedded user-agent.
*/
EMBEDDED("embedded");
private final String paramName;
private Display(String paramName) {
this.paramName = paramName;
}
public String getParamName() {
return paramName;
}
/**
* Returns the corresponding {@link Display} for a parameter
* display of the authorization endpoint.
*
* @param param The parameter.
* @return The corresponding response type if found, otherwise <code>null</code>.
*/
public static Display fromString(String param) {
if (param != null) {
for (Display rt : Display.values()) {
if (param.equals(rt.paramName)) {
return rt;
}
}
}
return null;
}
/**
* Returns a string representation of the object. In this case the parameter name.
*/
@Override
public String toString() {
return paramName;
}
}