Revision 989 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/dataTypes/impl/coercion/CoerceToString.java

View differences:

CoerceToString.java
23 23
 */
24 24
package org.gvsig.tools.dataTypes.impl.coercion;
25 25

  
26
import java.text.NumberFormat;
27
import java.util.Locale;
28

  
26 29
import org.gvsig.tools.dataTypes.CoercionException;
27 30
import org.gvsig.tools.dataTypes.DataTypesManager.Coercion;
31
import org.gvsig.tools.dataTypes.DataTypesManager.CoercionWithLocale;
28 32

  
29
public class CoerceToString implements Coercion {
33
public class CoerceToString implements CoercionWithLocale {
30 34

  
31 35
	public Object coerce(Object value) throws CoercionException {
32 36
    	if( value == null ) {
......
43 47

  
44 48
	}
45 49

  
50
	public Object coerce(Object value, Locale locale) throws CoercionException {
51
    	if( value == null ) {
52
    		return null;
53
    	}
54
		try {
55
			if( !(value instanceof String )) {
56
				if( value instanceof Float || value instanceof Double ) {
57
					NumberFormat nf = NumberFormat.getInstance(locale);
58
					value = nf.format(((Number)value).doubleValue());
59
				} else {
60
					value = value.toString();
61
				}
62
			}
63
			return value;
64
		} catch (Exception e) {
65
			throw new CoercionException(e);
66
		}
67
	}
68

  
46 69
}

Also available in: Unified diff