public class Date extends oracle.sql.DATE implements NativeTypeDomainInterface, java.lang.Comparable, XMLDomainWriter, KeyAttributeInterface, oracle.sql.ORAData, oracle.jdbc.OracleData, java.io.Serializable
The intent of many of the methods in this class is to wrap the corresponding method in the oracle.sql class such that it returns an instance of an oracle.jbo.domain.* object.
The oracle.jbo.domain.Date class is the Java representation of the underlying database type that you must use if you want to exploit the domain feature of Business Components for Java.
Date
objects consist of data (a byte array)
and a Domain type code.
Domain dates extend SQL dates by being convertable to and from
JDBC values.
... Date convertedDate = new Date(); String convertedDateString; java.text.SimpleDateFormat displayDateFormat = new java.text.SimpleDateFormat ("MM/dd/yyyy"); convertedDateString = displayDateFormat.format(convertedDate.dateValue());
... oracle.jbo.domain.Date dt = row.getBirthDate(); java.sql.Date ts = (java.sql.Date) dt.dateValue(); // since java.sql.Date is a java.util.Date, then... Calendar c = Calendar.getInstance(); c.setTime(ts); ...
Modifier and Type | Field and Description |
---|---|
static java.sql.Time |
ZERO_TIME |
Constructor and Description |
---|
Date()
Creates a default
Date Domain object. |
Date(byte[] value)
Internal: Applications should not invoke this method.
|
Date(Date value)
Creates a
Date identical to an
existing Date . |
Date(java.sql.Date value)
Creates a
Date Domain object from a JDBC
Date . |
Date(oracle.sql.DATE value)
Creates a
Date Domain object from an Oracle SQL
DATE . |
Date(java.sql.Date value,
boolean bConvertToUserTZ)
Creates a
Date Domain object from a JDBC
Date . |
Date(java.sql.Date value,
java.util.Calendar cal)
Creates a
Date Domain object from a JDBC
Date . |
Date(java.lang.Object value)
Creates a
Date Domain object from a
JDBC Object . |
Date(java.lang.String value)
Creates a
Date Domain object from a
Java String . |
Date(java.lang.String value,
boolean bConvertToUserTZ)
Creates a
Date Domain object from a
Java String . |
Date(java.lang.String value,
java.util.Calendar cal)
Creates a
Date Domain object from a
Java String . |
Date(java.sql.Time value)
Creates a
Date Domain object from a JDBC
Time object. |
Date(java.sql.Time value,
boolean bConvertToUserTZ)
Creates a
Date Domain object from a JDBC
Time object. |
Date(java.sql.Time value,
java.util.Calendar cal)
Creates a
Date Domain object from a JDBC
Time object. |
Date(java.sql.Timestamp value)
Creates a
Date Domain object from a JDBC
Timestamp object. |
Date(java.sql.Timestamp value,
boolean bConvertToUserTZ)
Creates a
Date Domain object from a JDBC
Timestamp object. |
Date(java.sql.Timestamp value,
java.util.Calendar cal)
Creates a
Date Domain object from a JDBC
Timestamp object. |
Modifier and Type | Method and Description |
---|---|
oracle.sql.DATE |
addJulianDays(int julianDay,
int julianSec)
Adds the number of Julian days to a DateDomain.
|
oracle.sql.DATE |
addMonths(int months)
Adds months to a date.
|
int |
compareTo(java.lang.Object n) |
Number |
diffInMonths(Date date)
Calculates the difference between two dates in months.
|
oracle.sql.NUMBER |
diffInMonths(oracle.sql.DATE date)
Calculates the difference between two dates in months.
|
boolean |
equals(java.lang.Object other)
Tests
this for equality with another object. |
static oracle.sql.DATE |
fromJulianDays(int julianDay,
int julianSec)
Converts given Julian days and seconds to a date.
|
static oracle.sql.DATE |
fromText(java.lang.String datestr,
java.lang.String fmt,
java.lang.String lang)
Converts a formatted string to a date.
|
static oracle.sql.DATE |
getCurrentDate()
Gets current date and time.
|
java.lang.Object |
getData()
Internal: Applications should not invoke this method.
|
static java.lang.Class |
getNativeClass() |
java.lang.Object |
getNativeObject() |
static oracle.sql.ORADataFactory |
getORADataFactory()
Internal: Applications should not invoke this method.
|
org.w3c.dom.Node |
getSerializedDomainXML(org.w3c.dom.Document xmlDoc)
Creates the xml node in the given xml document for this domain's data in hex format of the byte[]
representation of the data.
|
java.util.Date |
getValue()
Return a java.util.Date object with this domain's value.
|
org.w3c.dom.Node |
getXMLContentNode(org.w3c.dom.Document xmlDoc)
Creates the xml node in the given xml document for this domain's data.
|
static XMLDomainReaderFactory |
getXMLDomainFactory(java.lang.Class attrClass)
Internal: Applications should not use this method.
|
int |
hashCode()
Computes a hash code for
this . |
oracle.sql.DATE |
lastDayOfMonth()
Returns a date intialized to the last day of the month.
|
static void |
main(java.lang.String[] argv)
Internal: Applications should not invoke this method.
|
static long |
parseISO8601FormatString(java.lang.String value)
Utility method to parse date strings in ISO8601 formats.
|
java.lang.String |
printXMLDefinition(java.util.Hashtable allDefs,
java.io.PrintWriter pw,
boolean bContainees)
Prints the DTD info for this domain in the given print writer.
|
oracle.sql.DATE |
round(java.lang.String prec)
Returns a date rounded to a specified precision.
|
void |
setContext(DomainOwnerInterface owner,
Transaction trans,
java.lang.Object ctx)
Internal: Applications should not invoke this method.
|
oracle.sql.DATE |
setDayOfWeek(int day)
Returns a date initialized to a date advanced to the week of the day
specified.
|
static Date |
toDate(java.lang.String value)
Converts an Oracle Date expressed as a string to a Java Date.
|
oracle.sql.Datum |
toDatum(java.sql.Connection conn)
Internal: Applications should not invoke this method.
|
java.lang.Object |
toJDBCObject(java.sql.Connection connection) |
oracle.sql.NUMBER |
toNumber()
Converts this date to an oracle.sql.NUMBER.
|
java.lang.String |
toString() |
oracle.sql.DATE |
truncate(java.lang.String prec)
Returns a date truncated to a specified precision.
|
checkValidity, compareTo, dateValue, dateValue, diffInJulianDays, isConvertibleTo, makeJdbcArray, numberToJulianDays, parseFormat, stringValue, timestampValue, timestampValue, timeValue, timeValue, toBytes, toBytes, toBytes, toBytes, toBytes, toBytes, toBytes, toBytes, toBytes, toDate, toDate, toJdbc, toJulianDays, toString, toText, toText, toTime, toTime, toTimestamp, toTimestamp
asciiStreamValue, bigDecimalValue, binaryStreamValue, booleanValue, bytesEqual, byteValue, characterStreamValue, compareBytes, doubleValue, floatValue, getBytes, getConnectionDuringExceptionHandling, getLength, getStream, intValue, isNull, longValue, setBytes, setShareBytes, shareBytes, stringValue, toClass
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getBytes, setBytes
public Date()
Date
Domain object.
This constructor does not create a null date:
use one of the NullValue()
constructors.
public Date(byte[] value)
Creates a Date
Domain object from the given byte array.
value
- a value returned by a previous call to
getBytes()
on an SQL object compatable with
Date
.public Date(oracle.sql.DATE value)
Date
Domain object from an Oracle SQL
DATE
.value
- a DATE
SQL object.public Date(Date value)
Date
identical to an
existing Date
.value
- a Date
Domain object.public Date(java.sql.Date value)
Date
Domain object from a JDBC
Date
.value
- a DATE
SQL object.public Date(java.sql.Time value)
Date
Domain object from a JDBC
Time
object.value
- a Time
SQL object.public Date(java.sql.Timestamp value)
Date
Domain object from a JDBC
Timestamp
object.value
- a TimeStamp
SQL object.public Date(java.lang.Object value) throws java.sql.SQLException
Date
Domain object from a
JDBC Object
.value
- an Object
that is an instance of
Date
,
Time
, Timestamp
, or
String
.java.sql.SQLException
- if the object is not of one of the recognized classes.public Date(java.lang.String value)
Date
Domain object from a
Java String
.value
- a textual representation of a Date
.public Date(java.sql.Date value, boolean bConvertToUserTZ)
Date
Domain object from a JDBC
Date
.value
- a DATE
SQL object.bConvertToUserTZ
- if this flag is true
then the date is converted to the user time zone. User
Time zone is obtained from the ADF Context. It is typically
configured in the application settings.public Date(java.sql.Date value, java.util.Calendar cal)
Date
Domain object from a JDBC
Date
.value
- a DATE
SQL object.cal
- converts the value
to the timezone
in the cal
argument.public Date(java.sql.Time value, boolean bConvertToUserTZ)
Date
Domain object from a JDBC
Time
object.value
- a Time
SQL object.bConvertToUserTZ
- if this flag is true
then the date is converted to the user time zone. User
Time zone is obtained from the ADF Context. It is typically
configured in the application settings.public Date(java.sql.Time value, java.util.Calendar cal)
Date
Domain object from a JDBC
Time
object.value
- a Time
SQL object.cal
- converts the value
to the timezone
in the cal
argument.public Date(java.sql.Timestamp value, boolean bConvertToUserTZ)
Date
Domain object from a JDBC
Timestamp
object.value
- a TimeStamp
SQL object.bConvertToUserTZ
- if this flag is true
then the date is converted to the user time zone. User
Time zone is obtained from the ADF Context. It is typically
configured in the application settings.public Date(java.sql.Timestamp value, java.util.Calendar cal)
Date
Domain object from a JDBC
Timestamp
object.value
- a TimeStamp
SQL object.cal
- converts the value
to the timezone
in the cal
argument.public Date(java.lang.String value, boolean bConvertToUserTZ)
Date
Domain object from a
Java String
.value
- a textual representation of a Date
.bConvertToUserTZ
- if this flag is true
then the date is converted to the user time zone. User
Time zone is obtained from the ADF Context. It is typically
configured in the application settings.public Date(java.lang.String value, java.util.Calendar cal)
Date
Domain object from a
Java String
.value
- a textual representation of a Date
.cal
- converts the value
to the timezone
in the cal
argument.public static oracle.sql.ORADataFactory getORADataFactory()
Initializes the Date
Domain.
This method is invoked when JBO is initialized. Applications should not call this method directly.
ORADataFactory
for the
Date
Domain.public oracle.sql.Datum toDatum(java.sql.Connection conn) throws java.sql.SQLException
Converts this Date
Domain object back into an
SQL DATE
object.
toDatum
in interface oracle.sql.ORAData
conn
- OracleConnection
Not used.Datum
containing DATE
object.SQLException
- Never.java.sql.SQLException
public java.lang.Object getNativeObject()
getNativeObject
in interface NativeTypeDomainInterface
public static java.lang.Class getNativeClass()
getNativeClass
in interface NativeTypeDomainInterface
public java.util.Date getValue()
public java.lang.Object getData()
getData
in interface DomainInterface
public int compareTo(java.lang.Object n)
compareTo
in interface java.lang.Comparable
public void setContext(DomainOwnerInterface owner, Transaction trans, java.lang.Object ctx)
setContext
in interface DomainInterface
public static Date toDate(java.lang.String value)
public static long parseISO8601FormatString(java.lang.String value)
Format | Example | |
---|---|---|
YYYY-MM-DDThh:mm:ss | 2010-08-08T05:34:27 | Calendar date and local time |
YYYY-MM-DDThh:mm:ss?hh:mm | 2010-08-08T05:34:27-07:00 | Calendar date and local time and UTC offset |
YYYY-MM-DDThh:mm:ssZ | 2010-08-08T12:34:27Z | Calendar date and UTC time |
YYYY-MM-DDThh:mm:ss.sss | 2010-08-08T05:34:27.213 | Calendar date and local time with milliseconds (three decimals for the fraction) |
YYYY-MM-DDThh:mm:ss.sss?hh:mm | 2010-08-08T05:34:27.213-07:00 | Calendar date and local time with milliseconds and UTC offset |
YYYY-MM-DDThh:mm:ss.sssZ | 2010-08-08T12:34:27.213Z | Calendar date and UTC time with milliseconds |
value
- java.lang.IllegalArgumentException
- if the date string is not parsable using the above ISO8601 formatspublic java.lang.String toString()
toString
in class oracle.sql.DATE
public boolean equals(java.lang.Object other)
this
for equality with another object.
The argument is converted to a Date
object, if necessary.equals
in class oracle.sql.Datum
other
- an arbitrary Object
.true
if conversion was successful and the converted
argument is identical to this
.public int hashCode()
this
.hashCode
in class java.lang.Object
this
.public oracle.sql.DATE addJulianDays(int julianDay, int julianSec)
Date
Domain object initalized to the DATE
values added to the Julian days.addJulianDays
in class oracle.sql.DATE
julianDay
- number of Julian days to add to Date.julianSec
- number of seconds past midnight.Date
Domain object.GenericDomainException
public oracle.sql.DATE addMonths(int months)
Date
Domain object.addMonths
in class oracle.sql.DATE
months
- integer number of months to add to datepublic Number diffInMonths(Date date)
Date
Domain object.date
- Date to be subtracted as a DateDomain.public oracle.sql.NUMBER diffInMonths(oracle.sql.DATE date)
Date
Domain object.diffInMonths
in class oracle.sql.DATE
date
- Date to be subtracted, as an oracle.sql.DATE.public static oracle.sql.DATE getCurrentDate()
Date
Domain object.public static oracle.sql.DATE fromJulianDays(int julianDay, int julianSec)
Date
Domain object.julianDay
- Number of Julian daysjulianSec
- Number of seconds past midnightGenericDomainException
public static oracle.sql.DATE fromText(java.lang.String datestr, java.lang.String fmt, java.lang.String lang)
Date
Domain object.
param datestr text to convertfmt
- formatlang
- the NLS language the conversion is to be performed in,
null indicates use default.GenericDomainException
public oracle.sql.DATE lastDayOfMonth()
Date
Domain object.lastDayOfMonth
in class oracle.sql.DATE
GenericDomainException
public oracle.sql.DATE round(java.lang.String prec)
Date
Domain object.round
in class oracle.sql.DATE
prec
- precision to use while roundingGenericDomainException
public oracle.sql.DATE setDayOfWeek(int day)
Date
Domain object.setDayOfWeek
in class oracle.sql.DATE
day
- day of the week the date needs to be advancedGenericDomainException
public oracle.sql.NUMBER toNumber()
toNumber
in class oracle.sql.DATE
Date
Domain object.GenericDomainException
public oracle.sql.DATE truncate(java.lang.String prec)
truncate
in class oracle.sql.DATE
prec
- precision to use while truncatingDate
Domain object.GenericDomainException
public java.lang.String printXMLDefinition(java.util.Hashtable allDefs, java.io.PrintWriter pw, boolean bContainees)
The allDefs hashtable contains predefined XML definitions and is passed by whatever calls this method.
printXMLDefinition
in interface XMLDomainInterface
allDefs
- a hashtable of predefined XML definitions passed from whatever
calls this method.pw
- print writer into which the defnition is being printed.bContainees
- if true, prints definitions of contained objects.public org.w3c.dom.Node getXMLContentNode(org.w3c.dom.Document xmlDoc)
getXMLContentNode
in interface XMLDomainInterface
xmlDoc
- name of the XML document in which the node should be created.public org.w3c.dom.Node getSerializedDomainXML(org.w3c.dom.Document xmlDoc)
getSerializedDomainXML
in interface XMLDomainWriter
xmlDoc
- name of the XML document in which the node should be created.public static XMLDomainReaderFactory getXMLDomainFactory(java.lang.Class attrClass)
public static void main(java.lang.String[] argv) throws java.sql.SQLException
java.sql.SQLException
public java.lang.Object toJDBCObject(java.sql.Connection connection) throws java.sql.SQLException
toJDBCObject
in interface oracle.jdbc.OracleData
java.sql.SQLException