1 package com.terradue.jcatalogue.client.internal.converters;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import static java.lang.String.format;
20 import static java.nio.charset.Charset.forName;
21
22 import java.nio.charset.Charset;
23
24 import org.apache.commons.beanutils.ConversionException;
25 import org.apache.commons.beanutils.Converter;
26
27 public final class CharsetConverter
28 implements Converter
29 {
30
31 public Object convert( @SuppressWarnings( "rawtypes" ) Class type, Object value )
32 {
33 if ( value == null )
34 {
35 throw new ConversionException( "Null values not supported in this version." );
36 }
37
38 if ( String.class == type )
39 {
40 if ( value instanceof Charset )
41 {
42 return ( (Charset) value).displayName();
43 }
44 }
45 else if ( Charset.class == type )
46 {
47 if ( value instanceof String )
48 {
49 return forName( (String) value );
50 }
51 }
52 throw new ConversionException( format( "type %s and value %s not supported", type, value ) );
53 }
54
55 }