/* * $Id: CommandLinkComponent.java 471754 2006-11-06 14:55:09Z husted $ * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.struts.faces.component; import javax.faces.component.UICommand; import javax.faces.context.FacesContext; import javax.faces.el.ValueBinding; /** * <p>Custom component that emulates the JSF standard component class * <code>javax.faces.component.html.HtmlCommandLink</code> (and its * corresponding renderer) but is not tied to a particular implementation of * renderer for <code>javax.faces.component.UIForm</code>.</p> */ public class CommandLinkComponent extends UICommand { // ------------------------------------------------------------ Constructors /** * <p>Create a new {@link CommandLinkComponent} with default properties.</p> */ public CommandLinkComponent() { super(); setRendererType("org.apache.struts.faces.CommandLink"); } // ------------------------------------------------------ Instance Variables private String accesskey = null; private String charset = null; private String dir = null; private String hreflang = null; private String lang = null; private String onblur = null; private String onclick = null; private String ondblclick = null; private String onfocus = null; private String onkeydown = null; private String onkeypress = null; private String onkeyup = null; private String onmousedown = null; private String onmousemove = null; private String onmouseout = null; private String onmouseover = null; private String onmouseup = null; private String rel = null; private String rev = null; private String style = null; private String styleClass = null; private String tabindex = null; private String target = null; private String title = null; private String type = null; // ---------------------------------------------------- Component Properties public String getAccesskey() { ValueBinding vb = getValueBinding("accesskey"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return accesskey; } } public void setAccesskey(String accesskey) { this.accesskey = accesskey; } public String getCharset() { ValueBinding vb = getValueBinding("charset"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return charset; } } public void setCharset(String charset) { this.charset = charset; } public String getDir() { ValueBinding vb = getValueBinding("dir"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return dir; } } public void setDir(String dir) { this.dir = dir; } /** * <p>Return the component family to which this component belongs.</p> */ public String getFamily() { return "org.apache.struts.faces.CommandLink"; } public String getHreflang() { ValueBinding vb = getValueBinding("hreflang"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return hreflang; } } public void setHreflang(String hreflang) { this.hreflang = hreflang; } public String getLang() { ValueBinding vb = getValueBinding("lang"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return lang; } } public void setLang(String lang) { this.lang = lang; } public String getOnblur() { ValueBinding vb = getValueBinding("onblur"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onblur; } } public void setOnblur(String onblur) { this.onblur = onblur; } public String getOnclick() { ValueBinding vb = getValueBinding("onclick"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onclick; } } public void setOnclick(String onclick) { this.onclick = onclick; } public String getOndblclick() { ValueBinding vb = getValueBinding("ondblclick"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return ondblclick; } } public void setOndblclick(String ondblclick) { this.ondblclick = ondblclick; } public String getOnfocus() { ValueBinding vb = getValueBinding("onfocus"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onfocus; } } public void setOnfocus(String onfocus) { this.onfocus = onfocus; } public String getOnkeydown() { ValueBinding vb = getValueBinding("onkeydown"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onkeydown; } } public void setOnkeydown(String onkeydown) { this.onkeydown = onkeydown; } public String getOnkeypress() { ValueBinding vb = getValueBinding("onkeypress"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onkeypress; } } public void setOnkeypress(String onkeypress) { this.onkeypress = onkeypress; } public String getOnkeyup() { ValueBinding vb = getValueBinding("onkeyup"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onkeyup; } } public void setOnkeyup(String onkeyup) { this.onkeyup = onkeyup; } public String getOnmousedown() { ValueBinding vb = getValueBinding("onmousedown"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onmousedown; } } public void setOnmousedown(String onmousedown) { this.onmousedown = onmousedown; } public String getOnmousemove() { ValueBinding vb = getValueBinding("onmousemove"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onmousemove; } } public void setOnmousemove(String onmousemove) { this.onmousemove = onmousemove; } public String getOnmouseout() { ValueBinding vb = getValueBinding("onmouseout"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onmouseout; } } public void setOnmouseout(String onmouseout) { this.onmouseout = onmouseout; } public String getOnmouseover() { ValueBinding vb = getValueBinding("onmouseover"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onmouseover; } } public void setOnmouseover(String onmouseover) { this.onmouseover = onmouseover; } public String getOnmouseup() { ValueBinding vb = getValueBinding("onmouseup"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return onmouseup; } } public void setOnmouseup(String onmouseup) { this.onmouseup = onmouseup; } public String getRel() { ValueBinding vb = getValueBinding("rel"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return rel; } } public void setRel(String rel) { this.rel = rel; } public String getRev() { ValueBinding vb = getValueBinding("rev"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return rev; } } public void setRev(String rev) { this.rev = rev; } public String getStyle() { ValueBinding vb = getValueBinding("style"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return style; } } public void setStyle(String style) { this.style = style; } public String getStyleClass() { ValueBinding vb = getValueBinding("styleClass"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return styleClass; } } public void setStyleClass(String styleClass) { this.styleClass = styleClass; } public String getTabindex() { ValueBinding vb = getValueBinding("tabindex"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return tabindex; } } public void setTabindex(String tabindex) { this.tabindex = tabindex; } public String getTarget() { ValueBinding vb = getValueBinding("target"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return target; } } public void setTarget(String target) { this.target = target; } public String getTitle() { ValueBinding vb = getValueBinding("title"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return title; } } public void setTitle(String title) { this.title = title; } public String getType() { ValueBinding vb = getValueBinding("type"); if (vb != null) { return (String) vb.getValue(getFacesContext()); } else { return type; } } public void setType(String type) { this.type = type; } // ---------------------------------------------------- StateManager Methods /** * <p>Restore the state of this component.</p> * * @param context <code>FacesContext</code> for the current request * @param state State object from which to restore our state */ public void restoreState(FacesContext context, Object state) { Object values[] = (Object[]) state; super.restoreState(context, values[0]); accesskey = (String) values[1]; charset = (String) values[2]; dir = (String) values[3]; hreflang = (String) values[4]; lang = (String) values[5]; onblur = (String) values[6]; onclick = (String) values[7]; ondblclick = (String) values[8]; onfocus = (String) values[9]; onkeydown = (String) values[10]; onkeypress = (String) values[11]; onkeyup = (String) values[12]; onmousedown = (String) values[13]; onmousemove = (String) values[14]; onmouseout = (String) values[15]; onmouseover = (String) values[16]; onmouseup = (String) values[17]; rel = (String) values[18]; rev = (String) values[19]; style = (String) values[20]; styleClass = (String) values[21]; tabindex = (String) values[22]; target = (String) values[23]; title = (String) values[24]; type = (String) values[25]; } /** * <p>Save the state of this component.</p> * * @param context <code>FacesContext</code> for the current request */ public Object saveState(FacesContext context) { Object values[] = new Object[26]; values[0] = super.saveState(context); values[1] = accesskey; values[2] = charset; values[3] = dir; values[4] = hreflang; values[5] = lang; values[6] = onblur; values[7] = onclick; values[8] = ondblclick; values[9] = onfocus; values[10] = onkeydown; values[11] = onkeypress; values[12] = onkeyup; values[13] = onmousedown; values[14] = onmousemove; values[15] = onmouseout; values[16] = onmouseover; values[17] = onmouseup; values[18] = rel; values[19] = rev; values[20] = style; values[21] = styleClass; values[22] = tabindex; values[23] = target; values[24] = title; values[25] = type; return values; } }