View Javadoc

1   /*
2    * $Id: FilterPropertiesConverter.java,v 1.1 2008/07/21 11:08:01 oeuillot Exp $
3    * 
4    */
5   package org.rcfaces.core.internal.converter;
6   
7   import java.util.Map;
8   
9   import javax.faces.component.UIComponent;
10  import javax.faces.context.FacesContext;
11  import javax.faces.convert.Converter;
12  
13  import org.rcfaces.core.internal.util.StringList;
14  import org.rcfaces.core.lang.FilterPropertiesMap;
15  import org.rcfaces.core.model.AbstractConverter;
16  import org.rcfaces.core.model.IFilterProperties;
17  
18  /**
19   * 
20   * @author Olivier Oeuillot (latest modification by $Author: oeuillot $)
21   * @version $Revision: 1.1 $ $Date: 2008/07/21 11:08:01 $
22   */
23  public class FilterPropertiesConverter extends AbstractConverter {
24      private static final String REVISION = "$Revision: 1.1 $";
25  
26      public static final Converter SINGLETON = new FilterPropertiesConverter();
27  
28      /*
29       * (non-Javadoc)
30       * 
31       * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext,
32       *      javax.faces.component.UIComponent, java.lang.String)
33       */
34      public Object getAsObject(FacesContext context, UIComponent component,
35              String value) {
36  
37          if (value == null) {
38              return null;
39          }
40  
41          Map map = StringList.parseTokensMap(value);
42  
43          return new FilterPropertiesMap(map);
44      }
45  
46      /*
47       * (non-Javadoc)
48       * 
49       * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext,
50       *      javax.faces.component.UIComponent, java.lang.Object)
51       */
52      public String getAsString(FacesContext context, UIComponent component,
53              Object value) {
54  
55          IFilterProperties properties = (IFilterProperties) value;
56  
57          Map map = properties.toMap();
58  
59          return StringList.joinTokens(map);
60      }
61  
62  }