- java.lang.Object
-
- java.util.Date
-
- java.sql.Date
-
- org.tentackle.common.Date
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.lang.Comparable<java.util.Date>,Freezable
public class Date extends java.sql.Date implements Freezable
Date with database semantics.Differs from
java.sql.Datewhen serialized/deserialized in different timezones. Databases don't provide a time and therefore no timezone for a date, i.e. when sent over wire to different locations a date should always remain the same for all timezones. Injava.sql.Data, however, the epochal time is serialized which may lead to a different date when deserialized in another timezone. InDatethe effective date is serialized as YYYYMMDD to provide the same semantics as databases do.Furthermore, tentackle dates can be frozen, i.e. made immutable.
- Author:
- harald
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Dateclone()static DatecreateFrozen(long epoch)Creates a frozen date.voidfreeze()Makes this object immutable.java.util.CalendargetCalendar()Gets the calendar for this date.voidsetDate(int date)Deprecated.voidsetHours(int hours)Deprecated.voidsetMinutes(int minutes)Deprecated.voidsetMonth(int month)Deprecated.voidsetSeconds(int seconds)Deprecated.voidsetTime(long date)voidsetYear(int year)Deprecated.-
Methods inherited from class java.sql.Date
getHours, getMinutes, getSeconds, toInstant, toLocalDate, toString, valueOf, valueOf
-
-
-
-
Constructor Detail
-
Date
public Date(long date)
Constructs aDateobject using the given milliseconds time value. If the given milliseconds value contains time information, the driver will set the time components to the time in the default time zone (the time zone of the Java virtual machine running the application) that corresponds to zero GMT.- Parameters:
date- milliseconds since January 1, 1970, 00:00:00 GMT not to exceed the milliseconds representation for the year 8099. A negative number indicates the number of milliseconds before January 1, 1970, 00:00:00 GMT.
-
Date
public Date()
Creates the current date.
-
-
Method Detail
-
createFrozen
public static Date createFrozen(long epoch)
Creates a frozen date.- Parameters:
epoch- epochal milliseconds since January 1, 1970, 00:00:00 GMT- Returns:
- the frozen date
-
clone
public Date clone()
Cloned dates are always not frozen.
- Overrides:
clonein classjava.util.Date
-
getCalendar
public java.util.Calendar getCalendar()
Gets the calendar for this date.- Returns:
- the calendar
-
freeze
public void freeze()
Description copied from interface:FreezableMakes this object immutable.
-
setTime
public void setTime(long date)
Overridden to clear the lazy calendar and to check for frozen.
- Overrides:
setTimein classjava.sql.Date
-
setYear
@Deprecated public void setYear(int year)
Deprecated.- Overrides:
setYearin classjava.util.Date
-
setMonth
@Deprecated public void setMonth(int month)
Deprecated.- Overrides:
setMonthin classjava.util.Date
-
setDate
@Deprecated public void setDate(int date)
Deprecated.- Overrides:
setDatein classjava.util.Date
-
setHours
@Deprecated public void setHours(int hours)
Deprecated.- Overrides:
setHoursin classjava.sql.Date
-
setMinutes
@Deprecated public void setMinutes(int minutes)
Deprecated.- Overrides:
setMinutesin classjava.sql.Date
-
setSeconds
@Deprecated public void setSeconds(int seconds)
Deprecated.- Overrides:
setSecondsin classjava.sql.Date
-
-