package org.jboss.seam.ui.component.html;
import javax.el.ELException;
import javax.el.ValueExpression;
import javax.faces.FacesException;
import javax.faces.context.FacesContext;
import org.jboss.seam.ui.component.UIToken;
public class HtmlToken extends UIToken{
final static public String COMPONENT_FAMILY = "org.jboss.seam.ui.Token";
final static public String COMPONENT_TYPE = "org.jboss.seam.ui.Token";
/*
* A flag indicating whether the form can be submitted multiple times with the same signature (i.e., token).
*/
private boolean _allowMultiplePosts = false;
private boolean _allowMultiplePostsSet = false;
/*
* A flag indicating whether a notice should be presented to the user if cookies are disabled.
*/
private boolean _enableCookieNotice = false;
private boolean _enableCookieNoticeSet = false;
/*
* A flag indicating whether the session id should be tied into the secure token.
*/
private boolean _requireSession = false;
private boolean _requireSessionSet = false;
public HtmlToken(){
setRendererType("org.jboss.seam.ui.TokenRenderer");
}
public boolean isAllowMultiplePosts(){
if (this._allowMultiplePostsSet) {
return (this._allowMultiplePosts);
}
ValueExpression ve = getValueExpression("allowMultiplePosts");
if (ve != null) {
Boolean value = null;
try {
value = (Boolean) ve.getValue(getFacesContext().getELContext());
} catch (ELException e) {
throw new FacesException(e);
}
if (null == value) {
return (this._allowMultiplePosts);
}
return value;
} else {
return (this._allowMultiplePosts);
}
}
public void setAllowMultiplePosts(boolean _allowMultiplePosts){
this._allowMultiplePosts = _allowMultiplePosts;
this._allowMultiplePostsSet = true;
}
public boolean isEnableCookieNotice(){
if (this._enableCookieNoticeSet) {
return (this._enableCookieNotice);
}
ValueExpression ve = getValueExpression("enableCookieNotice");
if (ve != null) {
Boolean value = null;
try {
value = (Boolean) ve.getValue(getFacesContext().getELContext());
} catch (ELException e) {
throw new FacesException(e);
}
if (null == value) {
return (this._enableCookieNotice);
}
return value;
} else {
return (this._enableCookieNotice);
}
}
public void setEnableCookieNotice(boolean _enableCookieNotice){
this._enableCookieNotice = _enableCookieNotice;
this._enableCookieNoticeSet = true;
}
public boolean isRequireSession(){
if (this._requireSessionSet) {
return (this._requireSession);
}
ValueExpression ve = getValueExpression("requireSession");
if (ve != null) {
Boolean value = null;
try {
value = (Boolean) ve.getValue(getFacesContext().getELContext());
} catch (ELException e) {
throw new FacesException(e);
}
if (null == value) {
return (this._requireSession);
}
return value;
} else {
return (this._requireSession);
}
}
public void setRequireSession(boolean _requireSession){
this._requireSession = _requireSession;
this._requireSessionSet = true;
}
public String getFamily(){
return COMPONENT_FAMILY;
}
@Override
public Object saveState(FacesContext context){
Object [] state = new Object[7];
state[0] = super.saveState(context);
state[1] = Boolean.valueOf(_allowMultiplePosts);
state[2] = Boolean.valueOf(_allowMultiplePostsSet);
state[3] = Boolean.valueOf(_enableCookieNotice);
state[4] = Boolean.valueOf(_enableCookieNoticeSet);
state[5] = Boolean.valueOf(_requireSession);
state[6] = Boolean.valueOf(_requireSessionSet);
return state;
}
@Override
public void restoreState(FacesContext context, Object state){
Object[] states = (Object[]) state;
super.restoreState(context, states[0]);
_allowMultiplePosts = ((Boolean)states[1]).booleanValue();
_allowMultiplePostsSet = ((Boolean)states[2]).booleanValue();
_enableCookieNotice = ((Boolean)states[3]).booleanValue();
_enableCookieNoticeSet = ((Boolean)states[4]).booleanValue();
_requireSession = ((Boolean)states[5]).booleanValue();
_requireSessionSet = ((Boolean)states[6]).booleanValue();
}
}