@Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { // SQLite returns DATE and DATETIME as String or Number values if (value instanceof String && !Util.blank(value) || value instanceof Number) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("DATE".equalsIgnoreCase(typeName)) { return Convert.toSqlDate(value); } else if ("DATETIME".equalsIgnoreCase(typeName)) { return Convert.toTimestamp(value); } else if ("TIME".equalsIgnoreCase(typeName)) { return Convert.toTime(value); } } return value; }
/** * Sets attribute value as <code>java.sql.Time</code>. * If there is a {@link Converter} registered for the attribute that converts from Class <code>S</code> to Class * <code>java.sql.Time</code>, given the value is an instance of <code>S</code>, then it will be used, * otherwise performs a conversion using {@link Convert#toTime(Object)}. * * @param attributeName name of attribute. * @param value value * @return reference to this model. */ public <T extends Model> T setTime(String attributeName, Object value) { Converter<Object, Time> converter = modelRegistryLocal.converterForValue( attributeName, value, Time.class); return setRaw(attributeName, converter != null ? converter.convert(value) : Convert.toTime(value)); }
@Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { // SQLite returns DATE and DATETIME as String or Number values if (value instanceof String || value instanceof Number) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("DATE".equalsIgnoreCase(typeName)) { return Convert.toSqlDate(value); } else if ("DATETIME".equalsIgnoreCase(typeName)) { return Convert.toTimestamp(value); } else if ("TIME".equalsIgnoreCase(typeName)) { return Convert.toTime(value); } } return value; }
/** * Gets attribute value as <code>java.sql.Time</code>. * If there is a {@link Converter} registered for the attribute that converts from Class <code>S</code> to Class * <code>java.sql.Time</code>, given the attribute value is an instance of <code>S</code>, then it will be * used, otherwise performs a conversion using {@link Convert#toTime(Object)}. * * @param attributeName name of attribute to convert * @return instance of <code>Timestamp</code> */ public Time getTime(String attributeName) { Object value = getRaw(attributeName); Converter<Object, Time> converter = modelRegistryLocal.converterForValue( attributeName, value, Time.class); return converter != null ? converter.convert(value) : Convert.toTime(value); }
@Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { // SQLite returns DATE and DATETIME as String or Number values if (value instanceof String && !Util.blank(value) || value instanceof Number) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("DATE".equalsIgnoreCase(typeName)) { return Convert.toSqlDate(value); } else if ("DATETIME".equalsIgnoreCase(typeName)) { return Convert.toTimestamp(value); } else if ("TIME".equalsIgnoreCase(typeName)) { return Convert.toTime(value); } } return value; }
/** * Sets attribute value as <code>java.sql.Time</code>. * If there is a {@link Converter} registered for the attribute that converts from Class <code>S</code> to Class * <code>java.sql.Time</code>, given the value is an instance of <code>S</code>, then it will be used, * otherwise performs a conversion using {@link Convert#toTime(Object)}. * * @param attributeName name of attribute. * @param value value * @return reference to this model. */ public <T extends Model> T setTime(String attributeName, Object value) { Converter<Object, Time> converter = modelRegistryLocal().converterForValue( attributeName, value, Time.class); return setRaw(attributeName, converter != null ? converter.convert(value) : Convert.toTime(value)); }
/** * Gets attribute value as <code>java.sql.Time</code>. * If there is a {@link Converter} registered for the attribute that converts from Class <code>S</code> to Class * <code>java.sql.Time</code>, given the attribute value is an instance of <code>S</code>, then it will be * used, otherwise performs a conversion using {@link Convert#toTime(Object)}. * * @param attributeName name of attribute to convert * @return instance of <code>Timestamp</code> */ public Time getTime(String attributeName) { Object value = getRaw(attributeName); Converter<Object, Time> converter = modelRegistryLocal().converterForValue( attributeName, value, Time.class); return converter != null ? converter.convert(value) : Convert.toTime(value); } /**
/** * Sets attribute value as <code>java.sql.Time</code>. * If there is a {@link Converter} registered for the attribute that converts from Class <code>S</code> to Class * <code>java.sql.Time</code>, given the value is an instance of <code>S</code>, then it will be used, * otherwise performs a conversion using {@link Convert#toTime(Object)}. * * @param attributeName name of attribute. * @param value value * @return reference to this model. */ public <T extends Model> T setTime(String attributeName, Object value) { Converter<Object, Time> converter = modelRegistryLocal().converterForValue( attributeName, value, Time.class); return setRaw(attributeName, converter != null ? converter.convert(value) : Convert.toTime(value)); }
/** * Gets attribute value as <code>java.sql.Time</code>. * If there is a {@link Converter} registered for the attribute that converts from Class <code>S</code> to Class * <code>java.sql.Time</code>, given the attribute value is an instance of <code>S</code>, then it will be * used, otherwise performs a conversion using {@link Convert#toTime(Object)}. * * @param attributeName name of attribute to convert * @return instance of <code>Timestamp</code> */ public Time getTime(String attributeName) { Object value = getRaw(attributeName); Converter<Object, Time> converter = modelRegistryLocal().converterForValue( attributeName, value, Time.class); return converter != null ? converter.convert(value) : Convert.toTime(value); }