Subversion Repository Public Repository

litesoft

Diff Revisions 958 vs 959 for /trunk/Java/ScarPlus/src/com/esotericsoftware/utils/DataConverter.java

Diff revisions: vs.
  @@ -1,6 +1,58 @@
1 1 package com.esotericsoftware.utils;
2 2
3 - public interface DataConverter<T>
4 - {
3 + import java.util.*;
4 +
5 + public interface DataConverter<T> {
5 6 T convert( Object pValue );
7 +
8 + static final DataConverter<Integer> INTEGER = new DataConverter<Integer>() {
9 + @Override
10 + public Integer convert( Object pValue ) {
11 + return (pValue instanceof Number) ? ((Number) pValue).intValue() : Integer.parseInt( pValue.toString() );
12 + }
13 + };
14 +
15 + static final DataConverter<Float> FLOAT = new DataConverter<Float>() {
16 + @Override
17 + public Float convert( Object pValue ) {
18 + return (pValue instanceof Number) ? ((Number) pValue).floatValue() : Float.parseFloat( pValue.toString() );
19 + }
20 + };
21 +
22 + static final DataConverter<Boolean> BOOLEAN = new DataConverter<Boolean>() {
23 + @Override
24 + public Boolean convert( Object pValue ) {
25 + return (pValue instanceof Boolean) ? (Boolean) pValue : Boolean.parseBoolean( pValue.toString() );
26 + }
27 + };
28 +
29 + static final DataConverter<List<?>> LIST_OBJECT = new DataConverter<List<?>>() {
30 + @Override
31 + public List<?> convert( Object pValue ) {
32 + return (pValue instanceof List) ? (List<?>) pValue : Arrays.asList( pValue );
33 + }
34 + };
35 +
36 + static final DataConverter<List<String>> LIST_STRING = new DataConverter<List<String>>() {
37 + @Override
38 + public List<String> convert( Object pValue ) {
39 + //noinspection unchecked
40 + return (pValue instanceof List) ? (List<String>) pValue : Arrays.asList( pValue.toString() );
41 + }
42 + };
43 +
44 + static final DataConverter<Map<?, ?>> MAP_OBJECT = new DataConverter<Map<?, ?>>() {
45 + @Override
46 + public Map<?, ?> convert( Object pValue ) {
47 + return (Map<?, ?>) pValue;
48 + }
49 + };
50 +
51 + static final DataConverter<Map<String, String>> MAP_STRING = new DataConverter<Map<String, String>>() {
52 + @Override
53 + public Map<String, String> convert( Object pValue ) {
54 + //noinspection unchecked
55 + return (Map<String, String>) pValue;
56 + }
57 + };
6 58 }