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<Locale> {
32
33
34 @Override
35 public Locale getAsObject(
36 final FacesContext facesContext, final UIComponent component, final String value) {
37 final Locale locale = LocaleUtils.createLocale(value);
38 if (locale == null) {
39 throw new ConverterException("Can't parse " + value + " to a locale.");
40 }
41 return locale;
42 }
43
44 @Override
45 public String getAsString(
46 final FacesContext facesContext, final UIComponent component, final Locale locale) {
47 return locale.toString();
48 }
49
50 }