|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--arlut.csd.ganymede.DBField
|
+--arlut.csd.ganymede.DateDBField
DateDBField is a subclass of DBField
for the storage and handling of Date
fields in the DBStore on the Ganymede
server.
The Ganymede client talks to DateDBFields through the
date_field RMI interface.
Ganymede uses the standard Java Date class, which can encode dates from roughly 300 million years B.C. to 300 million years A.D., with millisecond resolution. No Y2k problems here. ;-)
| Field Summary | |
(package private) static java.text.DateFormat |
formatter
|
| Fields inherited from class arlut.csd.ganymede.DBField |
fieldcode, owner, value |
| Constructor Summary | |
(package private) |
DateDBField(arlut.csd.ganymede.DBObject owner,
java.io.DataInput in,
arlut.csd.ganymede.DBObjectBaseField definition)
Receive constructor. |
|
DateDBField(arlut.csd.ganymede.DBObject owner,
arlut.csd.ganymede.DateDBField field)
Copy constructor. |
|
DateDBField(arlut.csd.ganymede.DBObject owner,
java.util.Date value,
arlut.csd.ganymede.DBObjectBaseField definition)
Scalar value constructor. |
(package private) |
DateDBField(arlut.csd.ganymede.DBObject owner,
arlut.csd.ganymede.DBObjectBaseField definition)
No-value constructor. |
|
DateDBField(arlut.csd.ganymede.DBObject owner,
java.util.Vector values,
arlut.csd.ganymede.DBObjectBaseField definition)
Vector value constructor. |
| Method Summary | |
java.lang.Object |
clone()
|
(package private) void |
emit(java.io.DataOutput out)
This method is responsible for writing out the contents of this field to an binary output stream. |
void |
emitDateXML(arlut.csd.ganymede.XMLDumpContext xmlOut,
java.util.Date value)
|
(package private) void |
emitXML(arlut.csd.ganymede.XMLDumpContext xmlOut)
This method is used when the database is being dumped, to write out this field to disk. |
arlut.csd.ganymede.DBField |
getCopy(arlut.csd.ganymede.DBObject newOwner)
This method is used to return a copy of this field, with the field's owner set to newOwner. |
java.lang.String |
getDiffString(arlut.csd.ganymede.DBField orig)
Returns a String representing the change in value between this field and orig. |
java.lang.String |
getEncodingString()
Date fields need a special encoding that can be easily reversed to obtain a date object on the client for sorting and selection purposes. |
java.lang.String |
getValueString()
Returns a String representing the value of this field. |
boolean |
limited()
Returns true if this date field has a minimum and/or maximum date set. |
java.util.Date |
maxDate()
Returns the latest date acceptable for this field |
java.util.Date |
minDate()
Returns the earliest date acceptable for this field |
(package private) void |
receive(java.io.DataInput in,
arlut.csd.ganymede.DBObjectBaseField definition)
This method is responsible for reading in the contents of this field from an binary input stream. |
java.util.Date |
value()
|
java.util.Date |
value(int index)
|
arlut.csd.ganymede.ReturnVal |
verifyNewValue(java.lang.Object o)
Overridable method to verify that an object submitted to this field has an appropriate value. |
boolean |
verifyTypeMatch(java.lang.Object o)
Overridable method to determine whether an Object submitted to this field is of an appropriate type. |
| Methods inherited from class java.lang.Object |
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface arlut.csd.ganymede.db_field |
addElement, addElements, containsElement, deleteAllElements, deleteElement, deleteElement, deleteElements, getComment, getElement, getFieldInfo, getFieldTemplate, getID, getName, getType, getTypeDesc, getValue, getValues, isBuiltIn, isDefined, isEditable, isEditInPlace, isVector, isVisible, setElement, setValue, size |
| Field Detail |
static java.text.DateFormat formatter
| Constructor Detail |
DateDBField(arlut.csd.ganymede.DBObject owner,
java.io.DataInput in,
arlut.csd.ganymede.DBObjectBaseField definition)
throws java.io.IOException
DateDBField(arlut.csd.ganymede.DBObject owner,
arlut.csd.ganymede.DBObjectBaseField definition)
No-value constructor. Allows the construction of a
'non-initialized' field, for use where the
DBObjectBase
definition indicates that a given field may be present,
but for which no value has been stored in the
DBStore.
Used to provide the client a template for 'creating' this field if so desired.
public DateDBField(arlut.csd.ganymede.DBObject owner,
arlut.csd.ganymede.DateDBField field)
public DateDBField(arlut.csd.ganymede.DBObject owner,
java.util.Date value,
arlut.csd.ganymede.DBObjectBaseField definition)
public DateDBField(arlut.csd.ganymede.DBObject owner,
java.util.Vector values,
arlut.csd.ganymede.DBObjectBaseField definition)
| Method Detail |
public arlut.csd.ganymede.DBField getCopy(arlut.csd.ganymede.DBObject newOwner)
This method is used to return a copy of this field, with the field's owner set to newOwner.
getCopy in class DBFieldpublic java.lang.Object clone()
clone in class java.lang.Object
void emit(java.io.DataOutput out)
throws java.io.IOException
DBFieldThis method is responsible for writing out the contents of this field to an binary output stream. It is used in writing fields to the ganymede.db file and to the journal file.
This method only writes out the value contents of this field.
The DBObject
emit()
method is responsible for writing out the field identifier information
ahead of the field's contents.
emit in class DBFieldjava.io.IOException
void receive(java.io.DataInput in,
arlut.csd.ganymede.DBObjectBaseField definition)
throws java.io.IOException
DBFieldThis method is responsible for reading in the contents of this field from an binary input stream. It is used in reading fields from the ganymede.db file and from the journal file.
The code that calls receive() on this field is responsible for having read enough of the binary input stream's context to place the read cursor at the point in the file immediately after the field's id and type information has been read.
receive in class DBFieldjava.io.IOException
void emitXML(arlut.csd.ganymede.XMLDumpContext xmlOut)
throws java.io.IOException
This method is used when the database is being dumped, to write out this field to disk. It is mated with receiveXML().
emitXML in class DBFieldjava.io.IOException
public void emitDateXML(arlut.csd.ganymede.XMLDumpContext xmlOut,
java.util.Date value)
throws java.io.IOException
java.io.IOExceptionpublic java.util.Date value()
public java.util.Date value(int index)
public java.lang.String getValueString()
db_field
getValueString in interface db_fieldgetValueString in class DBFieldpublic java.lang.String getEncodingString()
getEncodingString in interface db_fieldgetEncodingString in class DBFielddb_fieldpublic java.lang.String getDiffString(arlut.csd.ganymede.DBField orig)
Returns a String representing the change in value between this field and orig. This String is intended for logging and email, not for any sort of programmatic activity. The format of the generated string is not defined, but is intended to be suitable for inclusion in a log entry and in an email message.
If there is no change in the field, null will be returned.
getDiffString in class DBFieldpublic boolean limited()
Returns true if this date field has a minimum and/or maximum date set.
We depend on our owner's
isDateLimited()
method to tell us whether this Date field should be limited or not
in this editing context.
limited in interface date_fielddate_fieldpublic java.util.Date minDate()
Returns the earliest date acceptable for this field
We depend on our owner's
minDate()
method to tell us what the earliest acceptable Date for this field is.
minDate in interface date_fielddate_fieldpublic java.util.Date maxDate()
Returns the latest date acceptable for this field
We depend on our owner's
maxDate()
method to tell us what the earliest acceptable Date for this field is.
maxDate in interface date_fielddate_fieldpublic boolean verifyTypeMatch(java.lang.Object o)
DBField
verifyTypeMatch in class DBFieldpublic arlut.csd.ganymede.ReturnVal verifyNewValue(java.lang.Object o)
DBField
verifyNewValue in class DBField
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||