arlut.csd.ganymede
Class FloatDBField

java.lang.Object
  |
  +--arlut.csd.ganymede.DBField
        |
        +--arlut.csd.ganymede.FloatDBField
All Implemented Interfaces:
db_field, float_field, java.rmi.Remote

public class FloatDBField
extends DBField
implements float_field

FloatDBField is a subclass of DBField for the storage and handling of float fields in the DBStore on the Ganymede server.

The Ganymede client talks to FloatDBFields through the float_field RMI interface.


Field Summary
 
Fields inherited from class arlut.csd.ganymede.DBField
fieldcode, owner, value
 
Constructor Summary
(package private) FloatDBField(arlut.csd.ganymede.DBObject owner, java.io.DataInput in, arlut.csd.ganymede.DBObjectBaseField definition)
          Receive constructor.
(package private) FloatDBField(arlut.csd.ganymede.DBObject owner, arlut.csd.ganymede.DBObjectBaseField definition)
          No-value constructor.
  FloatDBField(arlut.csd.ganymede.DBObject owner, double value, arlut.csd.ganymede.DBObjectBaseField definition)
          Scalar value constructor.
  FloatDBField(arlut.csd.ganymede.DBObject owner, arlut.csd.ganymede.FloatDBField field)
          Copy constructor.
  FloatDBField(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 emitDoubleXML(arlut.csd.ganymede.XMLDumpContext xmlOut, double 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()
          For numbers, our default getValueString() encoding is adequate.
 double getMaxValue()
          Returns the maximum acceptable value for this field if this field has max/min limitations.
 double getMinValue()
          Returns the minimum acceptable value for this field if this field has max/min limitations.
 java.lang.String getValueString()
          Returns a String representing the value of this field.
 boolean limited()
          Returns true if this field has max/min limitations.
(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.
 double value()
           
 double 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 arlut.csd.ganymede.DBField
addElement, addElement, addElement, addElementLocal, addElements, addElements, addElements, addElements, addElementsLocal, checkpoint, cleanup, containsElement, containsElement, containsElementLocal, copyFieldTo, deleteAllElements, deleteElement, deleteElement, deleteElement, deleteElement, deleteElement, deleteElement, deleteElementLocal, deleteElementLocal, deleteElements, deleteElements, deleteElements, deleteElementsLocal, equals, getComment, getElement, getFieldDef, getFieldDef, getFieldDef, getFieldInfo, getFieldTemplate, getID, getMaxArraySize, getName, getNameSpace, getObjTypeID, getOwner, getType, getTypeDesc, getValue, getValue, getValueLocal, getValues, getValuesLocal, getVectorDiff, getVectVal, getXMLName, indexOfValue, isBuiltIn, isDefined, isEditable, isEditable, isEditInPlace, isVector, isVisible, key, key, mark, mark, rescanThisField, rollback, setElement, setElement, setElement, setElementLocal, setOwner, setUndefined, setValue, setValue, setValue, setValueLocal, size, toString, unmark, unmark, verifyReadPermission, verifyWritePermission
 
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
 

Constructor Detail

FloatDBField

FloatDBField(arlut.csd.ganymede.DBObject owner,
             java.io.DataInput in,
             arlut.csd.ganymede.DBObjectBaseField definition)
       throws java.io.IOException

Receive constructor. Used to create a FloatDBField from a DBStore/DBJournal DataInput stream.


FloatDBField

FloatDBField(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.


FloatDBField

public FloatDBField(arlut.csd.ganymede.DBObject owner,
                    arlut.csd.ganymede.FloatDBField field)
Copy constructor.


FloatDBField

public FloatDBField(arlut.csd.ganymede.DBObject owner,
                    double value,
                    arlut.csd.ganymede.DBObjectBaseField definition)
Scalar value constructor.


FloatDBField

public FloatDBField(arlut.csd.ganymede.DBObject owner,
                    java.util.Vector values,
                    arlut.csd.ganymede.DBObjectBaseField definition)
Vector value constructor.

Method Detail

getCopy

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.

Specified by:
getCopy in class DBField

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

emit

void emit(java.io.DataOutput out)
    throws java.io.IOException
Description copied from class: DBField

This 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.

Specified by:
emit in class DBField
java.io.IOException

receive

void receive(java.io.DataInput in,
             arlut.csd.ganymede.DBObjectBaseField definition)
       throws java.io.IOException
Description copied from class: DBField

This 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.

Specified by:
receive in class DBField
java.io.IOException

emitXML

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().

Specified by:
emitXML in class DBField
java.io.IOException

emitDoubleXML

public void emitDoubleXML(arlut.csd.ganymede.XMLDumpContext xmlOut,
                          double value)
                   throws java.io.IOException
java.io.IOException

value

public double value()

value

public double value(int index)

getValueString

public java.lang.String getValueString()
Description copied from interface: db_field
Returns a String representing the value of this field.

Specified by:
getValueString in interface db_field
Specified by:
getValueString in class DBField

getEncodingString

public java.lang.String getEncodingString()
For numbers, our default getValueString() encoding is adequate.

Specified by:
getEncodingString in interface db_field
Specified by:
getEncodingString in class DBField
See Also:
db_field

getDiffString

public 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.

Specified by:
getDiffString in class DBField

limited

public boolean limited()
Returns true if this field has max/min limitations.

Specified by:
limited in interface float_field
See Also:
float_field

getMinValue

public double getMinValue()
Returns the minimum acceptable value for this field if this field has max/min limitations.

Specified by:
getMinValue in interface float_field
See Also:
float_field

getMaxValue

public double getMaxValue()
Returns the maximum acceptable value for this field if this field has max/min limitations.

Specified by:
getMaxValue in interface float_field
See Also:
float_field

verifyTypeMatch

public boolean verifyTypeMatch(java.lang.Object o)
Description copied from class: DBField
Overridable method to determine whether an Object submitted to this field is of an appropriate type.

Specified by:
verifyTypeMatch in class DBField

verifyNewValue

public arlut.csd.ganymede.ReturnVal verifyNewValue(java.lang.Object o)
Description copied from class: DBField
Overridable method to verify that an object submitted to this field has an appropriate value.

Specified by:
verifyNewValue in class DBField