1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.convert;
21
22 import org.apache.myfaces.tobago.util.LocaleUtils;
23
24 import javax.faces.component.UIComponent;
25 import javax.faces.context.FacesContext;
26 import javax.faces.convert.Converter;
27 import javax.faces.convert.ConverterException;
28 import java.util.Locale;
29
30 @org.apache.myfaces.tobago.apt.annotation.Converter(forClass = "java.util.Locale")
31 public class LocaleConverter implements Converter {
32
33
34 public Object getAsObject(
35 FacesContext facesContext, UIComponent component, String value) {
36 Locale locale = LocaleUtils.createLocale(value);
37 if (locale == null) {
38 throw new ConverterException("Can't parse " + value + " to a locale.");
39 }
40 return locale;
41 }
42
43 public String getAsString(
44 FacesContext facesContext, UIComponent component, Object value) {
45 return value.toString();
46 }
47
48 }