[jboss-cvs] jboss-seam/src/ui/org/jboss/seam/ui ...
Norman Richards
norman.richards at jboss.com
Tue Dec 12 17:38:26 EST 2006
User: nrichards
Date: 06/12/12 17:38:26
Modified: src/ui/org/jboss/seam/ui SelectDate.java
Added: src/ui/org/jboss/seam/ui EnumConverter.java EnumItem.java
Log:
JBSEAM-574: enum support
Revision Changes Path
1.2 +3 -16 jboss-seam/src/ui/org/jboss/seam/ui/SelectDate.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SelectDate.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/SelectDate.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- SelectDate.java 7 Dec 2006 00:19:15 -0000 1.1
+++ SelectDate.java 12 Dec 2006 22:38:26 -0000 1.2
@@ -16,7 +16,6 @@
public static final String SELECTDATE_JS = "org/jboss/seam/ui/selectDate.js";
- private String info;
private String forField;
@@ -31,16 +30,6 @@
}
- public String getInfo()
- {
- return info;
- }
-
- public void setInfo(String info)
- {
- this.info = info;
- }
-
@Override
public String getFamily()
{
@@ -57,16 +46,14 @@
public void restoreState(FacesContext context, Object state) {
Object[] values = (Object[]) state;
super.restoreState(context, values[0]);
- info = (String) values[1];
- forField = (String) values[2];
+ forField = (String) values[1];
}
@Override
public Object saveState(FacesContext context) {
- Object[] values = new Object[3];
+ Object[] values = new Object[2];
values[0] = super.saveState(context);
- values[1] = info;
- values[2] = forField;
+ values[1] = forField;
return values;
}
1.1 date: 2006/12/12 22:38:26; author: nrichards; state: Exp;jboss-seam/src/ui/org/jboss/seam/ui/EnumConverter.java
Index: EnumConverter.java
===================================================================
package org.jboss.seam.ui;
import javax.faces.component.*;
import javax.faces.context.*;
import javax.faces.convert.*;
public class EnumConverter
implements Converter
{
public Object getAsObject(FacesContext context,
UIComponent comp,
String value)
throws ConverterException
{
Class enumType = comp.getValueBinding("value").getType(context);
return Enum.valueOf(enumType, value);
}
public String getAsString(FacesContext context,
UIComponent component,
Object object)
throws ConverterException
{
if (object == null) {
return null;
}
return ((Enum) object).toString();
}
}
1.1 date: 2006/12/12 22:38:26; author: nrichards; state: Exp;jboss-seam/src/ui/org/jboss/seam/ui/EnumItem.java
Index: EnumItem.java
===================================================================
package org.jboss.seam.ui;
import javax.faces.model.SelectItem;
import javax.faces.model.SelectItem;
import javax.faces.component.UISelectItem;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
public class EnumItem
extends UISelectItem
{
public static final String COMPONENT_TYPE = "org.jboss.seam.ui.EnumItem";
String enumValue = null;
String label = null;
public void setEnumValue(String enumValue) {
this.enumValue = enumValue;
}
public String getEnumValue() {
return enumValue;
}
public void setLabel(String label) {
this.label = label;
}
public String getLabel() {
return label;
}
private String labelValue() {
ValueBinding valueBinding = getValueBinding("label");
if (valueBinding!=null) {
Object labelValue = valueBinding.getValue(getFacesContext());
if (labelValue != null) {
return labelValue.toString();
}
}
return label;
}
public Object getValue()
{
Class c = getParent().getValueBinding("value").getType(getFacesContext());
SelectItem item = new SelectItem();
Object value = Enum.valueOf(c, enumValue);
item.setValue(value);
String labelValue = labelValue();
item.setLabel(labelValue==null?enumValue:labelValue);
return item;
}
@Override
public void restoreState(FacesContext context, Object state) {
Object[] values = (Object[]) state;
super.restoreState(context, values[0]);
enumValue = (String) values[1];
label = (String) values[2];
}
@Override
public Object saveState(FacesContext context) {
Object[] values = new Object[3];
values[0] = super.saveState(context);
values[1] = enumValue;
values[2] = label;
return values;
}
}
More information about the jboss-cvs-commits
mailing list