DBUTILS_1_3_RC1 | Tue Nov 03 09:24:02 JST 2009 | ff5f2d | 66 | private static final Map, Object> primitiveDefaults = new HashMap, Object>(); |
DBUTILS_1_4_RC1 | Sat Aug 20 19:42:53 JST 2011 | 023de4 | 74 | primitiveDefaults.put(Integer.TYPE, Integer.valueOf(0)); |
DBUTILS_1_4_RC1 | Sat Aug 20 19:42:53 JST 2011 | 023de4 | 75 | primitiveDefaults.put(Short.TYPE, Short.valueOf((short) 0)); |
DBUTILS_1_4_RC1 | Sat Aug 20 19:42:53 JST 2011 | 023de4 | 76 | primitiveDefaults.put(Byte.TYPE, Byte.valueOf((byte) 0)); |
DBUTILS_1_4_RC1 | Sat Aug 20 19:42:53 JST 2011 | 023de4 | 77 | primitiveDefaults.put(Float.TYPE, Float.valueOf(0f)); |
DBUTILS_1_4_RC1 | Sat Aug 20 19:42:53 JST 2011 | 023de4 | 78 | primitiveDefaults.put(Double.TYPE, Double.valueOf(0d)); |
DBUTILS_1_4_RC1 | Sat Aug 20 19:42:53 JST 2011 | 023de4 | 79 | primitiveDefaults.put(Long.TYPE, Long.valueOf(0L)); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 80 | primitiveDefaults.put(Boolean.TYPE, Boolean.FALSE); |
DBUTILS_1_4_RC1 | Sat Aug 20 19:42:53 JST 2011 | 023de4 | 81 | primitiveDefaults.put(Character.TYPE, Character.valueOf((char) 0)); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 82 | } |
DBUTILS_1_5_RC1 | Sat Jul 07 00:09:17 JST 2012 | ddfa74 | 88 | this(new HashMap()); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 89 | } |
DBUTILS_1_5_RC1 | Sat Jul 07 00:05:14 JST 2012 | 9d927f | 98 | super(); |
DBUTILS_1_5_RC1 | Sat Jul 07 00:05:14 JST 2012 | 9d927f | 99 | if (columnToPropertyOverrides == null) { |
DBUTILS_1_5_RC1 | Sat Jul 07 00:05:14 JST 2012 | 9d927f | 102 | this.columnToPropertyOverrides = columnToPropertyOverrides; |
DBUTILS_1_5_RC1 | Sat Jul 07 00:05:14 JST 2012 | 9d927f | 103 | } |
DBUTILS_1_1_RC2 | Thu Sep 02 12:06:29 JST 2004 | cedc25 | 243 | for (int i = 1; i < columnToProperty.length; i++) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 245 | if (columnToProperty[i] == PROPERTY_NOT_FOUND) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 246 | continue; |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 249 | PropertyDescriptor prop = props[columnToProperty[i]]; |
DBUTILS_1_3_RC1 | Tue Nov 03 09:24:02 JST 2009 | ff5f2d | 250 | Class> propType = prop.getPropertyType(); |
DBUTILS_1_6_RC2 | Thu Jul 17 03:46:25 JST 2014 | 3f4a0e | 252 | Object value = null; |
DBUTILS_1_6_RC2 | Thu Jul 17 03:46:25 JST 2014 | 3f4a0e | 253 | if(propType != null) { |
DBUTILS_1_6_RC2 | Thu Jul 17 03:46:25 JST 2014 | 3f4a0e | 254 | value = this.processColumn(rs, i, propType); |
DBUTILS_1_6_RC2 | Thu Jul 17 03:46:25 JST 2014 | 3f4a0e | 256 | if (value == null && propType.isPrimitive()) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 261 | this.callSetter(bean, prop, value); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 264 | return bean; |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 280 | if (setter == null) { |
DBUTILS_1_3_RC1 | Tue Nov 03 09:24:02 JST 2009 | ff5f2d | 284 | Class>[] params = setter.getParameterTypes(); |
DBUTILS_1_5_RC1 | Sat Jan 07 20:42:21 JST 2012 | 7ab3eb | 287 | if (value instanceof java.util.Date) { |
DBUTILS_1_6_RC2 | Thu May 08 18:22:41 JST 2014 | 756c9b | 302 | if (value instanceof String && params[0].isEnum()) { |
DBUTILS_1_6_RC2 | Thu May 08 18:22:41 JST 2014 | 756c9b | 303 | value = Enum.valueOf(params[0].asSubclass(Enum.class), (String) value); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 307 | if (this.isCompatibleType(value, params[0])) { |
DBUTILS_1_4_RC3 | Wed Oct 19 21:34:21 JST 2011 | 877c1a | 308 | setter.invoke(target, new Object[]{value}); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 327 | } |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 328 | } |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 343 | if (value == null || type.isInstance(value)) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 344 | return true; |
DBUTILS_1_6_RC1 | Wed May 15 02:47:14 JST 2013 | bbc929 | 346 | } else if (type.equals(Integer.TYPE) && value instanceof Integer) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 347 | return true; |
DBUTILS_1_6_RC1 | Wed May 15 02:47:14 JST 2013 | bbc929 | 349 | } else if (type.equals(Long.TYPE) && value instanceof Long) { |
DBUTILS_1_6_RC1 | Wed May 15 02:47:14 JST 2013 | bbc929 | 352 | } else if (type.equals(Double.TYPE) && value instanceof Double) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 353 | return true; |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 401 | return c.newInstance(); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 423 | BeanInfo beanInfo = null; |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 425 | beanInfo = Introspector.getBeanInfo(c); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 430 | } |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 432 | return beanInfo.getPropertyDescriptors(); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 455 | int cols = rsmd.getColumnCount(); |
DBUTILS_1_4_RC2 | Sat Sep 17 07:44:05 JST 2011 | b28f38 | 456 | int[] columnToProperty = new int[cols + 1]; |
DBUTILS_1_1_RC2 | Thu Sep 02 11:51:40 JST 2004 | 150e2a | 457 | Arrays.fill(columnToProperty, PROPERTY_NOT_FOUND); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 459 | for (int col = 1; col <= cols; col++) { |
DBUTILS_1_3_RC1 | Wed Nov 04 05:21:17 JST 2009 | ef498b | 460 | String columnName = rsmd.getColumnLabel(col); |
DBUTILS_1_3_RC1 | Wed Nov 04 05:21:17 JST 2009 | ef498b | 461 | if (null == columnName || 0 == columnName.length()) { |
DBUTILS_1_3_RC1 | Wed Nov 04 05:21:17 JST 2009 | ef498b | 462 | columnName = rsmd.getColumnName(col); |
DBUTILS_1_5_RC1 | Sat Jul 07 00:05:14 JST 2012 | 9d927f | 464 | String propertyName = columnToPropertyOverrides.get(columnName); |
DBUTILS_1_5_RC1 | Sat Jul 07 00:05:14 JST 2012 | 9d927f | 465 | if (propertyName == null) { |
DBUTILS_1_5_RC1 | Sat Jul 07 00:05:14 JST 2012 | 9d927f | 466 | propertyName = columnName; |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 468 | for (int i = 0; i < props.length; i++) { |
DBUTILS_1_5_RC1 | Sat Jul 07 00:05:14 JST 2012 | 9d927f | 470 | if (propertyName.equalsIgnoreCase(props[i].getName())) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 471 | columnToProperty[col] = i; |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 472 | break; |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 477 | return columnToProperty; |
DBUTILS_1_3_RC3 | Sun Nov 08 06:51:22 JST 2009 | 03b29a | 510 | if ( !propType.isPrimitive() && rs.getObject(index) == null ) { |
DBUTILS_1_3_RC3 | Sun Nov 08 06:51:22 JST 2009 | 03b29a | 511 | return null; |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 514 | if (propType.equals(String.class)) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 515 | return rs.getString(index); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 517 | } else if ( |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 518 | propType.equals(Integer.TYPE) || propType.equals(Integer.class)) { |
DBUTILS_1_4_RC2 | Sat Sep 17 21:20:06 JST 2011 | febe06 | 519 | return Integer.valueOf(rs.getInt(index)); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 521 | } else if ( |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 522 | propType.equals(Boolean.TYPE) || propType.equals(Boolean.class)) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 525 | } else if (propType.equals(Long.TYPE) || propType.equals(Long.class)) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 528 | } else if ( |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 529 | propType.equals(Double.TYPE) || propType.equals(Double.class)) { |
DBUTILS_1_4_RC2 | Sat Sep 17 21:20:06 JST 2011 | febe06 | 530 | return Double.valueOf(rs.getDouble(index)); |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 532 | } else if ( |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 533 | propType.equals(Float.TYPE) || propType.equals(Float.class)) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 536 | } else if ( |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 537 | propType.equals(Short.TYPE) || propType.equals(Short.class)) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 540 | } else if (propType.equals(Byte.TYPE) || propType.equals(Byte.class)) { |
DBUTILS_1_1_RC2 | Mon Aug 23 11:10:32 JST 2004 | 8ef3bd | 543 | } else if (propType.equals(Timestamp.class)) { |
commons-dbutils-1.5 | Sun Nov 27 04:46:21 JST 2011 | ea99ec | 546 | } else if (propType.equals(SQLXML.class)) { |
DBUTILS_1_1_RC2 | Mon Mar 15 08:03:54 JST 2004 | e89c9b | 550 | return rs.getObject(index); |