All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.j256.ormlite.field.types.DateLongType Maven / Gradle / Ivy

Go to download

Lightweight Object Relational Model (ORM) for persisting objects to SQL databases.

There is a newer version: 6.1
Show newest version
package com.j256.ormlite.field.types;

import java.sql.SQLException;
import java.util.Date;

import com.j256.ormlite.field.FieldType;
import com.j256.ormlite.field.SqlType;
import com.j256.ormlite.misc.SqlExceptionUtil;
import com.j256.ormlite.support.DatabaseResults;

/**
 * Persists the {@link java.util.Date} Java class as long milliseconds since epoch.
 * 
 * 

* NOTE: This is not the same as the {@link java.sql.Date} class. *

* * @author graywatson */ public class DateLongType extends BaseDateType { private static final DateLongType singleTon = new DateLongType(); public static DateLongType getSingleton() { return singleTon; } private DateLongType() { super(SqlType.LONG); } /** * Here for others to subclass. */ protected DateLongType(SqlType sqlType, Class[] classes) { super(sqlType, classes); } @Override public Object parseDefaultString(FieldType fieldType, String defaultStr) throws SQLException { try { return Long.parseLong(defaultStr); } catch (NumberFormatException e) { throw SqlExceptionUtil.create("Problems with field " + fieldType + " parsing default date-long value: " + defaultStr, e); } } @Override public Object resultToSqlArg(FieldType fieldType, DatabaseResults results, int columnPos) throws SQLException { return results.getLong(columnPos); } @Override public Object sqlArgToJava(FieldType fieldType, Object sqlArg, int columnPos) { return new Date((Long) sqlArg); } @Override public Object javaToSqlArg(FieldType fieldType, Object obj) { Date date = (Date) obj; return (Long) date.getTime(); } @Override public boolean isEscapedValue() { return false; } @Override public Class getPrimaryClass() { return Date.class; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy