[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