View Javadoc

1   package de.orangecafe.amazonrcp.converter;
2   
3   import org.springframework.binding.convert.support.AbstractConverter;
4   import org.springframework.binding.convert.ConversionContext;
5   import com.amazon.webservices.awsecommerceservice._2007_04_04.Price;
6   
7   import java.text.NumberFormat;
8   import java.util.Currency;
9   
10  /**
11   * @author Torsten Strasser
12   */
13  public class PriceToStringConverter extends AbstractConverter {
14      protected String doConvert(final Object source, final Class targetClass, final ConversionContext conversionContext) throws Exception {
15          Price price = (Price) source;
16  
17          String currencyCode;
18          float amount;
19          if (price != null) {
20              currencyCode = price.getCurrencyCode();
21              amount = price.getAmount().floatValue() / 100;
22          } else {
23              currencyCode = "EUR";
24              amount = -1;
25          }
26  
27          NumberFormat formatter = NumberFormat.getCurrencyInstance();
28          Currency currency = Currency.getInstance(currencyCode);
29  
30          formatter.setCurrency(currency);
31  
32          return formatter.format(amount);
33      }
34  
35      public Class[] getSourceClasses() {
36          return new Class[] { Price.class };
37      }
38  
39      public Class[] getTargetClasses() {
40          return new Class[] { String.class };
41      }
42  }