default <T> T getGenericProperty(final String propertyName, Class<T> type) { final Object value = getProperty(propertyName); if (value != null) { return Conversions.coerce(type, value); } else { return null; } }
private Object getDefaultValue(AnnotationData annotationData, TypeType paramType, Class<?> parameterType) { if (annotationData == null) return null; final Object value = annotationData.getValues().get("defaultValue"); if (value == null) { return null; } /** Support not string objects if we want to create params with stronger typed annotations. */ if (!(value instanceof String)) { return value; } if (value.equals(AnnotationConstants.NOT_SET)) { switch (paramType) { case STRING: return null; case INT: case FLOAT: case DOUBLE: case SHORT: case CHAR: return 0; case BOOLEAN: return false; default: return null; } } return Conversions.coerce(paramType, parameterType, value); }
@Test public void test() { final JsonMapper jsonMapper = QBit.factory().createJsonMapper(); Map<String, String> data = new HashMap<>(); data.put("startTime", "2016-06-21T21:10:45.3271564Z"); data.put("endTime", "2016-06-21T21:11:42.5356272Z"); String dataString = jsonMapper.toJson(data); final DateFecker query = jsonMapper.fromJson(dataString, DateFecker.class); System.out.println(Conversions.coerce(LocalDateTime.class, "2016-06-21T21:10:45.3271564Z")); System.out.println(Conversions.coerce(LocalDateTime.class, "2016-06-21T21:11:45.5356272Z")); System.out.println(); System.out.println(Conversions.coerce(LocalDateTime.class, "2016-06-21T21:10:45Z")); System.out.println(Conversions.coerce(LocalDateTime.class, "2016-06-21T21:11:45Z")); }
public static <V, WRAP> List<WRAP> convert(Class<WRAP> wrapper, Iterable<V> collection ) { List<WRAP> list = new ArrayList<>( ); for (V v : collection) { list.add ( Conversions.coerce(wrapper, v) ); } return list; }
public static <V, WRAP> List<WRAP> convert(Class<WRAP> wrapper, V[] collection ) { List<WRAP> list = new ArrayList<>( collection.length ); for (V v : collection) { list.add ( Conversions.coerce(wrapper, v) ); } return list; }
public static <V, WRAP> List<WRAP> convert(Class<WRAP> wrapper, Iterable<V> collection ) { List<WRAP> list = new ArrayList<>( ); for (V v : collection) { list.add ( Conversions.coerce(wrapper, v) ); } return list; }
public static <V, WRAP> List<WRAP> convert(Class<WRAP> wrapper, V[] collection ) { List<WRAP> list = new ArrayList<>( collection.length ); for (V v : collection) { list.add ( Conversions.coerce(wrapper, v) ); } return list; }
public static <V, WRAP> List<WRAP> convert(Class<WRAP> wrapper, Collection<V> collection ) { List<WRAP> list = new ArrayList<>( collection.size() ); for (V v : collection) { list.add ( Conversions.coerce(wrapper, v) ); } return list; }
public static <V, WRAP> List<WRAP> convert(Class<WRAP> wrapper, Collection<V> collection ) { List<WRAP> list = new ArrayList<>( collection.size() ); for (V v : collection) { list.add ( Conversions.coerce(wrapper, v) ); } return list; }
value = MapObjectConversion.fromMap((Map) value, parameterMeta.getClassType()); } else { value = Conversions.coerce(parameterMeta.getClassType(), value);
default <T> T getGenericProperty(final String propertyName, Class<T> type) { final Object value = getProperty(propertyName); if (value != null) { return Conversions.coerce(type, value); } else { return null; } }
private static <K, T> void doPopulateMapWithCollectionAndPropPath( Class<K> keyType, String propertyPath, Collection<T> collection, Map<K, T> map ) { for ( T item : collection ) { Object oKey = BeanUtils.idx( item, propertyPath ); if ( oKey == null ) { continue; } K key = Conversions.coerce( keyType, oKey ); map.put( key, item ); } }
private static <K, T> void doPopulateMapWithCollectionAndPropPath( Class<K> keyType, String propertyPath, Collection<T> collection, Map<K, T> map ) { for ( T item : collection ) { Object oKey = BeanUtils.idx( item, propertyPath ); if ( oKey == null ) { continue; } K key = Conversions.coerce( keyType, oKey ); map.put( key, item ); } }
public static <T> T coerce(Class<T> clz, Object value) { if (value != null) { if (clz == value.getClass()) { return (T) value; } } return coerce(TypeType.getType(clz), clz, value); }
default <T> T getGenericProperty(final String propertyName, Class<T> type) { final Object value = getProperty(propertyName); if (value != null) { return Conversions.coerce(type, value); } else { return null; } }
public static <T> T coerce(Class<T> clz, Object value) { if (value != null) { if (clz == value.getClass()) { return (T) value; } } return coerce(TypeType.getType(clz), clz, value); }
public static <T> T[] toArray(Class<T> componentType, Collection<T> collection) { T[] array = (T[]) Array.newInstance(componentType, collection.size()); if (componentType.isAssignableFrom(Typ.getComponentType(collection))) { return collection.toArray(array); } else { int index = 0; for (Object o : collection) { array[index] = Conversions.coerce(componentType, o); index++; } return array; } }
@Override @SuppressWarnings("unchecked") public <T> T get(String path, Class<T> type) { final Object value = validatePath(path); if (type.isAssignableFrom(value.getClass())) { return (T) value; } else if (value instanceof Map) { final Map<String, Object> map = getMap(path); return mapper.fromMap(map, type); } else { return Conversions.coerce(type, value); } }