001: /*
002: * Jython Database Specification API 2.0
003: *
004: * $Id: DateFactory.java 2414 2005-02-23 04:26:23Z bzimmer $
005: *
006: * Copyright (c) 2003 brian zimmer <bzimmer@ziclix.com>
007: *
008: */
009: package com.ziclix.python.sql;
010:
011: import org.python.core.PyObject;
012:
013: /**
014: * Provide an extensible way to create dates for zxJDBC.
015: *
016: * @author brian zimmer
017: * @author last revised by $Author: bzimmer $
018: * @version $Revision: 2414 $
019: */
020: public interface DateFactory {
021:
022: /**
023: * This function constructs an object holding a date value.
024: *
025: * @param year
026: * @param month
027: * @param day
028: * @return PyObject
029: */
030: public PyObject Date(int year, int month, int day);
031:
032: /**
033: * This function constructs an object holding a time value.
034: *
035: * @param hour
036: * @param minute
037: * @param second
038: * @return PyObject
039: */
040: public PyObject Time(int hour, int minute, int second);
041:
042: /**
043: * This function constructs an object holding a time stamp value.
044: *
045: * @param year
046: * @param month
047: * @param day
048: * @param hour
049: * @param minute
050: * @param second
051: * @return PyObject
052: */
053: public PyObject Timestamp(int year, int month, int day, int hour,
054: int minute, int second);
055:
056: /**
057: * This function constructs an object holding a date value from the
058: * given ticks value (number of seconds since the epoch; see the
059: * documentation of the standard Python <i>time</i> module for details).
060: * <p/>
061: * <i>Note:</i> The DB API 2.0 spec calls for time in seconds since the epoch
062: * while the Java Date object returns time in milliseconds since the epoch.
063: * This module adheres to the python API and will therefore use time in
064: * seconds rather than milliseconds, so adjust any Java code accordingly.
065: *
066: * @param ticks number of seconds since the epoch
067: * @return PyObject
068: */
069: public PyObject DateFromTicks(long ticks);
070:
071: /**
072: * This function constructs an object holding a time value from the
073: * given ticks value (number of seconds since the epoch; see the
074: * documentation of the standard Python <i>time</i> module for details).
075: * <p/>
076: * <i>Note:</i> The DB API 2.0 spec calls for time in seconds since the epoch
077: * while the Java Date object returns time in milliseconds since the epoch.
078: * This module adheres to the python API and will therefore use time in
079: * seconds rather than milliseconds, so adjust any Java code accordingly.
080: *
081: * @param ticks number of seconds since the epoch
082: * @return PyObject
083: */
084: public PyObject TimeFromTicks(long ticks);
085:
086: /**
087: * This function constructs an object holding a time stamp value from
088: * the given ticks value (number of seconds since the epoch; see the
089: * documentation of the standard Python <i>time</i> module for details).
090: * <p/>
091: * <i>Note:</i> The DB API 2.0 spec calls for time in seconds since the epoch
092: * while the Java Date object returns time in milliseconds since the epoch.
093: * This module adheres to the python API and will therefore use time in
094: * seconds rather than milliseconds, so adjust any Java code accordingly.
095: *
096: * @param ticks number of seconds since the epoch
097: * @return PyObject
098: */
099: public PyObject TimestampFromTicks(long ticks);
100:
101: }
|