1 package us.codecraft.webmagic.model.formatter; 2 3 public interface BasicClassDetector { 4 Class<?> detectBasicClass(Class<?> type); 5 } 6 7 class IntegerClassDetector implements BasicClassDetector { 8 @Override 9 public Class<?> detectBasicClass(Class<?> type) { 10 if (type.equals(Integer.TYPE) || type.equals(Integer.class)) { 11 return Integer.class; 12 } 13 return null; 14 } 15 } 16 17 class LongClassDetector implements BasicClassDetector { 18 @Override 19 public Class<?> detectBasicClass(Class<?> type) { 20 if (type.equals(Long.TYPE) || type.equals(Long.class)) { 21 return Long.class; 22 } 23 return null; 24 } 25 } 26 27 class DoubleClassDetector implements BasicClassDetector { 28 @Override 29 public Class<?> detectBasicClass(Class<?> type) { 30 if (type.equals(Double.TYPE) || type.equals(Double.class)) { 31 return Double.class; 32 } 33 return null; 34 } 35 } 36 37 class FloatClassDetector implements BasicClassDetector { 38 @Override 39 public Class<?> detectBasicClass(Class<?> type) { 40 if (type.equals(Float.TYPE) || type.equals(Float.class)) { 41 return Float.class; 42 } 43 return null; 44 } 45 } 46 47 class ShortClassDetector implements BasicClassDetector { 48 @Override 49 public Class<?> detectBasicClass(Class<?> type) { 50 if (type.equals(Short.TYPE) || type.equals(Short.class)) { 51 return Short.class; 52 } 53 return null; 54 } 55 } 56 57 class CharacterClassDetector implements BasicClassDetector { 58 @Override 59 public Class<?> detectBasicClass(Class<?> type) { 60 if (type.equals(Character.TYPE) || type.equals(Character.class)) { 61 return Character.class; 62 } 63 return null; 64 } 65 } 66 67 class ByteClassDetector implements BasicClassDetector { 68 @Override 69 public Class<?> detectBasicClass(Class<?> type) { 70 if (type.equals(Byte.TYPE) || type.equals(Byte.class)) { 71 return Byte.class; 72 } 73 return null; 74 } 75 } 76 77 class BooleanClassDetector implements BasicClassDetector { 78 @Override 79 public Class<?> detectBasicClass(Class<?> type) { 80 if (type.equals(Boolean.TYPE) || type.equals(Boolean.class)) { 81 return Boolean.class; 82 } 83 return null; 84 } 85 }