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.internal.util.StringUtils;
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.Currency;
29
30
31
32
33 @org.apache.myfaces.tobago.apt.annotation.Converter(forClass = "java.util.Currency")
34 public class CurrencyConverter implements Converter<Currency> {
35
36 @Override
37 public Currency getAsObject(final FacesContext facesContext, final UIComponent component, final String string)
38 throws ConverterException {
39 if (StringUtils.isBlank(string)) {
40 return null;
41 } else {
42 return Currency.getInstance(string);
43 }
44 }
45
46 @Override
47 public String getAsString(final FacesContext facesContext, final UIComponent component, final Currency currency)
48 throws ConverterException {
49 if (currency == null) {
50 return null;
51 }
52 try {
53 return currency.getCurrencyCode();
54 } catch (final ClassCastException e) {
55 throw new ConverterException("object='" + currency + "'", e);
56 }
57 }
58 }