|
|||||||||
| Home >> All >> org >> apache >> derby >> iapi >> [ types overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.derby.iapi.types
Class SQLBoolean

java.lang.Objectorg.apache.derby.iapi.types.DataType
org.apache.derby.iapi.types.SQLBoolean
- All Implemented Interfaces:
- BooleanDataValue, CloneableObject, DataValueDescriptor, java.io.Externalizable, org.apache.derby.iapi.services.io.Formatable, Orderable, java.io.Serializable, org.apache.derby.iapi.services.io.Storable, org.apache.derby.iapi.services.io.TypedFormat
- public final class SQLBoolean
- extends DataType
- implements BooleanDataValue
- extends DataType
SQLBoolean satisfies the DataValueDescriptor interfaces (i.e., DataType). It implements a boolean column, e.g. for * storing a column value; it can be specified when constructed to not allow nulls. Nullability cannot be changed after construction, as it affects the storage size and mechanism.
Because DataType is a subtype of DataType, SQLBoolean can play a role in either a DataType/Row or a DataType/Row, interchangeably.
We assume the store has a flag for nullness of the value, and simply return a 0-length array for the stored form when the value is null.
PERFORMANCE: There are likely alot of performance improvements possible for this implementation -- it new's Integer more than it probably wants to.
| Field Summary | |
private static int |
BASE_MEMORY_USAGE
|
private static SQLBoolean |
BOOLEAN_FALSE
|
(package private) static int |
BOOLEAN_LENGTH
|
private static SQLBoolean |
BOOLEAN_TRUE
|
protected boolean |
immutable
|
protected boolean |
isnull
|
(package private) static SQLBoolean |
UNKNOWN
|
protected boolean |
value
|
| Fields inherited from interface org.apache.derby.iapi.types.Orderable |
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN |
| Constructor Summary | |
|
SQLBoolean()
|
|
SQLBoolean(boolean val)
|
|
SQLBoolean(java.lang.Boolean obj)
|
private |
SQLBoolean(boolean val,
boolean isnull)
|
| Method Summary | |
BooleanDataValue |
and(BooleanDataValue otherValue)
The AND operator. |
int |
compare(DataValueDescriptor other)
Compare this Orderable with a given Orderable for the purpose of index positioning. |
boolean |
compare(int op,
DataValueDescriptor other,
boolean orderedNulls,
boolean unknownRV)
Compare this Orderable with a given Orderable for the purpose of qualification and sorting. |
boolean |
equals(boolean val)
Determine whether this SQLBoolean contains the given boolean value. |
BooleanDataValue |
equals(DataValueDescriptor left,
DataValueDescriptor right)
The = operator as called from the language module, as opposed to the storage module. |
int |
estimateMemoryUsage()
Estimate the memory usage in bytes of the data value and the overhead of the class. |
static SQLBoolean |
falseTruthValue()
Return a false truth value. |
boolean |
getBoolean()
Gets the value in the data value descriptor as a boolean. |
byte |
getByte()
Gets the value in the data value descriptor as a byte. |
DataValueDescriptor |
getClone()
Clone this DataValueDescriptor. |
double |
getDouble()
Gets the value in the data value descriptor as a double. |
float |
getFloat()
Gets the value in the data value descriptor as a float. |
int |
getInt()
Gets the value in the data value descriptor as an int. |
int |
getLength()
Gets the length of the data value. |
long |
getLong()
Gets the value in the data value descriptor as a long. |
DataValueDescriptor |
getNewNull()
Get a new null value of the same type as this data value. |
java.lang.Object |
getObject()
Gets the value in the data value descriptor as a Java Object. |
short |
getShort()
Gets the value in the data value descriptor as a short. |
java.lang.String |
getString()
Gets the value in the data value descriptor as a String. |
int |
getTypeFormatId()
Return my format identifier. |
java.lang.String |
getTypeName()
Get the SQL name of the datatype |
BooleanDataValue |
greaterOrEquals(DataValueDescriptor left,
DataValueDescriptor right)
The >= operator as called from the language module, as opposed to the storage module. |
BooleanDataValue |
greaterThan(DataValueDescriptor left,
DataValueDescriptor right)
The > operator as called from the language module, as opposed to the storage module. |
int |
hashCode()
Get a value that represents this Object, as uniquely as possible within the confines of an int. |
BooleanDataValue |
is(BooleanDataValue otherValue)
The SQL IS operator - consult any standard SQL reference for an explanation. |
BooleanDataValue |
isNot(BooleanDataValue otherValue)
Implements NOT IS. |
boolean |
isNull()
Return whether the value is null or not. |
BooleanDataValue |
lessOrEquals(DataValueDescriptor left,
DataValueDescriptor right)
The <= operator as called from the language module, as opposed to the storage module. |
BooleanDataValue |
lessThan(DataValueDescriptor left,
DataValueDescriptor right)
The < operator as called from the language module, as opposed to the storage module. |
private static int |
makeInt(boolean b)
|
BooleanDataValue |
notEquals(DataValueDescriptor left,
DataValueDescriptor right)
The <> operator as called from the language module, as opposed to the storage module. |
BooleanDataValue |
or(BooleanDataValue otherValue)
The OR operator. |
void |
readExternal(java.io.ObjectInput in)
This method restores an object's state by reading in the instance data for the object from the passed in stream. |
void |
readExternalFromArray(org.apache.derby.iapi.services.io.ArrayInputStream in)
Read the DataValueDescriptor from the stream. |
void |
restoreToNull()
Restore this object to its (SQL)null value. |
void |
setBigDecimal(java.lang.Number bigDecimal)
Set this value from an application supplied java.math.BigDecimal. |
protected void |
setFrom(DataValueDescriptor theValue)
|
void |
setInto(java.sql.PreparedStatement ps,
int position)
Set the value into a PreparedStatement. |
void |
setValue(boolean theValue)
Set the value. |
void |
setValue(java.lang.Boolean theValue)
Set the value of this BooleanDataValue. |
void |
setValue(byte theValue)
Set the value of this DataValueDescriptor to the given byte value |
void |
setValue(byte[] theValue)
Set the value of this BooleanDataValue to the given byte array value |
void |
setValue(double theValue)
Set the value of this DataValueDescriptor to the given double value |
void |
setValue(float theValue)
Set the value of this DataValueDescriptor to the given double value |
void |
setValue(int theValue)
Set the value of this DataValueDescriptor to the given int value |
void |
setValue(long theValue)
Set the value of this DataValueDescriptor to the given long value |
void |
setValue(java.lang.Object theValue)
Set the value of this DataValueDescriptor to the given value |
void |
setValue(short theValue)
Set the value of this DataValueDescriptor to the given short value |
void |
setValue(java.lang.String theValue)
Set the value of this BooleanDataValue to the given String. |
private void |
setValueCore(java.lang.Number theValue)
|
void |
setValueFromResultSet(java.sql.ResultSet resultSet,
int colNumber,
boolean isNullable)
Set the value based on the value for the specified DataValueDescriptor from the specified ResultSet. |
BooleanDataValue |
throwExceptionIfFalse(java.lang.String sqlState,
java.lang.String tableName,
java.lang.String constraintName)
Throw an exception with the given SQLState if this BooleanDataValue is false. |
java.lang.String |
toString()
Convert this Object to a human-readable String. |
static SQLBoolean |
trueTruthValue()
Return a true truth value. |
static SQLBoolean |
truthValue(boolean value)
Get a truth value. |
static SQLBoolean |
truthValue(DataValueDescriptor leftOperand,
DataValueDescriptor rightOperand,
boolean truth)
Return the SQL truth value for a comparison. |
static SQLBoolean |
truthValue(DataValueDescriptor leftOperand,
DataValueDescriptor rightOperand,
java.lang.Boolean truth)
same as above, but takes a Boolean, if it is null, unknownTruthValue is returned |
int |
typePrecedence()
Each built-in type in JSQL has a precedence. |
int |
typeToBigDecimal()
Implementation for BOOLEAN type. |
static SQLBoolean |
unknownTruthValue()
Return an unknown truth value. |
void |
writeExternal(java.io.ObjectOutput out)
This method is responsible for writing the instance data of an object to the passed in stream. |
| Methods inherited from class org.apache.derby.iapi.types.DataType |
checkHostVariable, cloneObject, coalesce, dataTypeConversion, equals, flip, genericSetObject, getBytes, getDate, getNationalString, getStream, getTime, getTimestamp, in, invalidFormat, isNotNull, isNullOp, normalize, outOfRange, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, throwLangSetMismatch, throwLangSetMismatch |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.apache.derby.iapi.types.DataValueDescriptor |
checkHostVariable, coalesce, getBytes, getDate, getStream, getTime, getTimestamp, in, isNotNull, isNullOp, normalize, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue |
| Field Detail |
BOOLEAN_LENGTH
static final int BOOLEAN_LENGTH
- See Also:
- Constant Field Values
BOOLEAN_TRUE
private static final SQLBoolean BOOLEAN_TRUE
BOOLEAN_FALSE
private static final SQLBoolean BOOLEAN_FALSE
UNKNOWN
static final SQLBoolean UNKNOWN
BASE_MEMORY_USAGE
private static final int BASE_MEMORY_USAGE
value
protected boolean value
isnull
protected boolean isnull
immutable
protected boolean immutable
| Constructor Detail |
SQLBoolean
public SQLBoolean()
SQLBoolean
public SQLBoolean(boolean val)
SQLBoolean
public SQLBoolean(java.lang.Boolean obj)
SQLBoolean
private SQLBoolean(boolean val,
boolean isnull)
| Method Detail |
isNull
public boolean isNull()
- Description copied from interface:
org.apache.derby.iapi.services.io.Storable - Return whether the value is null or not.
- Specified by:
isNullin interfaceorg.apache.derby.iapi.services.io.Storable
getBoolean
public boolean getBoolean()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a boolean.
Throws an exception if the data value is not a boolean.
For DataValueDescriptor, this is the preferred interface
for BIT, but for this no-casting interface, it isn't, because
BIT is stored internally as a Bit, not as a Boolean.
- Specified by:
getBooleanin interfaceBooleanDataValue- Overrides:
getBooleanin classDataType
makeInt
private static int makeInt(boolean b)
getByte
public byte getByte()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a byte.
Throws an exception if the data value is not a byte.
- Specified by:
getBytein interfaceDataValueDescriptor- Overrides:
getBytein classDataType
getShort
public short getShort()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a short.
Throws an exception if the data value is not a short.
- Specified by:
getShortin interfaceDataValueDescriptor- Overrides:
getShortin classDataType
getInt
public int getInt()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as an int.
Throws an exception if the data value is not an int.
- Specified by:
getIntin interfaceDataValueDescriptor- Overrides:
getIntin classDataType
getLong
public long getLong()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a long.
Throws an exception if the data value is not a long.
- Specified by:
getLongin interfaceDataValueDescriptor- Overrides:
getLongin classDataType
getFloat
public float getFloat()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a float.
Throws an exception if the data value is not a float.
- Specified by:
getFloatin interfaceDataValueDescriptor- Overrides:
getFloatin classDataType
getDouble
public double getDouble()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a double.
Throws an exception if the data value is not a double.
- Specified by:
getDoublein interfaceDataValueDescriptor- Overrides:
getDoublein classDataType
typeToBigDecimal
public int typeToBigDecimal()
- Implementation for BOOLEAN type. Convert to a BigDecimal using long
- Specified by:
typeToBigDecimalin interfaceDataValueDescriptor- Overrides:
typeToBigDecimalin classDataType
getString
public java.lang.String getString()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a String.
Throws an exception if the data value is not a string.
- Specified by:
getStringin interfaceDataValueDescriptor
getObject
public java.lang.Object getObject()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a Java Object.
The type of the Object will be the Java object type corresponding
to the data value's SQL type. JDBC defines a mapping between Java
object types and SQL types - we will allow that to be extended
through user type definitions. Throws an exception if the data
value is not an object (yeah, right).
- Specified by:
getObjectin interfaceDataValueDescriptor- Overrides:
getObjectin classDataType
getLength
public int getLength()
- Description copied from interface:
DataValueDescriptor - Gets the length of the data value. The meaning of this is
implementation-dependent. For string types, it is the number of
characters in the string. For numeric types, it is the number of
bytes used to store the number. This is the actual length
of this value, not the length of the type it was defined as.
For example, a VARCHAR value may be shorter than the declared
VARCHAR (maximum) length.
- Specified by:
getLengthin interfaceDataValueDescriptor
getTypeName
public java.lang.String getTypeName()
- Description copied from interface:
DataValueDescriptor - Get the SQL name of the datatype
- Specified by:
getTypeNamein interfaceDataValueDescriptor
getTypeFormatId
public int getTypeFormatId()
- Return my format identifier.
- Specified by:
getTypeFormatIdin interfaceorg.apache.derby.iapi.services.io.TypedFormat
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Description copied from interface:
java.io.Externalizable - This method is responsible for writing the instance data of an object
to the passed in stream. Note that this stream is not a subclass of
OutputStream, but rather is a class that implements theObjectOutputinterface. That interface provides a number of methods for writing Java data values to a stream.Not that the implementation of this method must be coordinated with the implementation of
readExternal.- Specified by:
writeExternalin interfacejava.io.Externalizable
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Description copied from interface:
java.io.Externalizable - This method restores an object's state by reading in the instance data
for the object from the passed in stream. Note that this stream is not
a subclass of
InputStream, but rather is a class that implements theObjectInputinterface. That interface provides a mechanism for reading in Java data types from a stream.Note that this method must be compatible with
writeExternal. It must read back the exact same types that were written by that method in the exact order they were written.If this method needs to read back an object instance, then the class for that object must be found and loaded. If that operation fails, then this method throws a
ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable
readExternalFromArray
public void readExternalFromArray(org.apache.derby.iapi.services.io.ArrayInputStream in) throws java.io.IOException
- Description copied from interface:
DataValueDescriptor - Read the DataValueDescriptor from the stream.
Initialize the data value by reading it's values from the ArrayInputStream. This interface is provided as a way to achieve possible performance enhancement when reading an array can be optimized over reading from a generic stream from readExternal().
- Specified by:
readExternalFromArrayin interfaceDataValueDescriptor
restoreToNull
public void restoreToNull()
- Description copied from interface:
org.apache.derby.iapi.services.io.Storable - Restore this object to its (SQL)null value.
- Specified by:
restoreToNullin interfaceorg.apache.derby.iapi.services.io.Storable
compare
public int compare(DataValueDescriptor other) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Compare this Orderable with a given Orderable for the purpose of
index positioning. This method treats nulls as ordered values -
that is, it treats SQL null as equal to null and less than all
other values.
- Specified by:
comparein interfaceDataValueDescriptor
compare
public boolean compare(int op,
DataValueDescriptor other,
boolean orderedNulls,
boolean unknownRV)
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Compare this Orderable with a given Orderable for the purpose of
qualification and sorting. The caller gets to determine how nulls
should be treated - they can either be ordered values or unknown
values.
- Specified by:
comparein interfaceDataValueDescriptor- Overrides:
comparein classDataType
getClone
public DataValueDescriptor getClone()
- Description copied from interface:
DataValueDescriptor - Clone this DataValueDescriptor. Results in a new object
that has the same value as this but can be modified independently.
- Specified by:
getClonein interfaceDataValueDescriptor
getNewNull
public DataValueDescriptor getNewNull()
- Description copied from interface:
DataValueDescriptor - Get a new null value of the same type as this data value.
- Specified by:
getNewNullin interfaceDataValueDescriptor
setValueFromResultSet
public void setValueFromResultSet(java.sql.ResultSet resultSet, int colNumber, boolean isNullable) throws java.sql.SQLException
- Description copied from interface:
DataValueDescriptor - Set the value based on the value for the specified DataValueDescriptor
from the specified ResultSet.
- Specified by:
setValueFromResultSetin interfaceDataValueDescriptor
setInto
public final void setInto(java.sql.PreparedStatement ps, int position) throws java.sql.SQLException
- Set the value into a PreparedStatement.
- Specified by:
setIntoin interfaceDataValueDescriptor- Overrides:
setIntoin classDataType
setValue
public void setValue(boolean theValue)
- Description copied from interface:
DataValueDescriptor - Set the value.
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(java.lang.Boolean theValue)
- Description copied from interface:
BooleanDataValue - Set the value of this BooleanDataValue.
- Specified by:
setValuein interfaceBooleanDataValue
setValue
public void setValue(byte theValue)
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given byte value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(short theValue)
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given short value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(int theValue)
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given int value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(long theValue)
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given long value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(float theValue)
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given double value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(double theValue)
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given double value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setBigDecimal
public void setBigDecimal(java.lang.Number bigDecimal) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set this value from an application supplied java.math.BigDecimal.
This is to support the PreparedStatement.setBigDecimal method and
similar JDBC methods that allow an application to pass in a BigDecimal
to any SQL type.
Parameter is declared as java.lang.Number to allow compilation
under J2ME/CDC/Foundation. This method will not be called in
any environment that does not support java.math.BigDecimal.
- Specified by:
setBigDecimalin interfaceDataValueDescriptor- Overrides:
setBigDecimalin classDataType
setValue
public void setValue(byte[] theValue)
- Set the value of this BooleanDataValue to the given byte array value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(java.lang.String theValue) throws org.apache.derby.iapi.error.StandardException
- Set the value of this BooleanDataValue to the given String.
String is trimmed and upcased. If resultant string is not
TRUE or FALSE, then an error is thrown.
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValueCore
private void setValueCore(java.lang.Number theValue)
setValue
public void setValue(java.lang.Object theValue) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setFrom
protected void setFrom(DataValueDescriptor theValue) throws org.apache.derby.iapi.error.StandardException
equals
public BooleanDataValue equals(DataValueDescriptor left, DataValueDescriptor right) throws org.apache.derby.iapi.error.StandardException
- The = operator as called from the language module, as opposed to
the storage module.
- Specified by:
equalsin interfaceDataValueDescriptor- Overrides:
equalsin classDataType
notEquals
public BooleanDataValue notEquals(DataValueDescriptor left, DataValueDescriptor right) throws org.apache.derby.iapi.error.StandardException
- The <> operator as called from the language module, as opposed to
the storage module.
- Specified by:
notEqualsin interfaceDataValueDescriptor- Overrides:
notEqualsin classDataType
lessThan
public BooleanDataValue lessThan(DataValueDescriptor left, DataValueDescriptor right) throws org.apache.derby.iapi.error.StandardException
- The < operator as called from the language module, as opposed to
the storage module.
- Specified by:
lessThanin interfaceDataValueDescriptor- Overrides:
lessThanin classDataType
greaterThan
public BooleanDataValue greaterThan(DataValueDescriptor left, DataValueDescriptor right) throws org.apache.derby.iapi.error.StandardException
- The > operator as called from the language module, as opposed to
the storage module.
- Specified by:
greaterThanin interfaceDataValueDescriptor- Overrides:
greaterThanin classDataType
lessOrEquals
public BooleanDataValue lessOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws org.apache.derby.iapi.error.StandardException
- The <= operator as called from the language module, as opposed to
the storage module.
- Specified by:
lessOrEqualsin interfaceDataValueDescriptor- Overrides:
lessOrEqualsin classDataType
greaterOrEquals
public BooleanDataValue greaterOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws org.apache.derby.iapi.error.StandardException
- The >= operator as called from the language module, as opposed to
the storage module.
- Specified by:
greaterOrEqualsin interfaceDataValueDescriptor- Overrides:
greaterOrEqualsin classDataType
and
public BooleanDataValue and(BooleanDataValue otherValue)
- The AND operator. This implements SQL semantics for AND with unknown
truth values - consult any standard SQL reference for an explanation.
- Specified by:
andin interfaceBooleanDataValue
or
public BooleanDataValue or(BooleanDataValue otherValue)
- The OR operator. This implements SQL semantics for OR with unknown
truth values - consult any standard SQL reference for an explanation.
- Specified by:
orin interfaceBooleanDataValue
is
public BooleanDataValue is(BooleanDataValue otherValue)
- The SQL IS operator - consult any standard SQL reference for an explanation.
Implements the following truth table:
otherValue
| TRUE | FALSE | UNKNOWN
this |----------------------------
|
TRUE | TRUE | FALSE | FALSE
FALSE | FALSE | TRUE | FALSE
UNKNOWN | FALSE | FALSE | TRUE
- Specified by:
isin interfaceBooleanDataValue
isNot
public BooleanDataValue isNot(BooleanDataValue otherValue)
- Implements NOT IS. This reverses the sense of the is() call.
- Specified by:
isNotin interfaceBooleanDataValue
throwExceptionIfFalse
public BooleanDataValue throwExceptionIfFalse(java.lang.String sqlState, java.lang.String tableName, java.lang.String constraintName) throws org.apache.derby.iapi.error.StandardException
- Throw an exception with the given SQLState if this BooleanDataValue
is false. This method is useful for evaluating constraints.
- Specified by:
throwExceptionIfFalsein interfaceBooleanDataValue
typePrecedence
public int typePrecedence()
- Description copied from interface:
DataValueDescriptor - Each built-in type in JSQL has a precedence. This precedence determines
how to do type promotion when using binary operators. For example, float
has a higher precedence than int, so when adding an int to a float, the
result type is float.
The precedence for some types is arbitrary. For example, it doesn't
matter what the precedence of the boolean type is, since it can't be
mixed with other types. But the precedence for the number types is
critical. The SQL standard requires that exact numeric types be
promoted to approximate numeric when one operator uses both. Also,
the precedence is arranged so that one will not lose precision when
promoting a type.
- Specified by:
typePrecedencein interfaceDataValueDescriptor- Overrides:
typePrecedencein classDataType
truthValue
public static SQLBoolean truthValue(DataValueDescriptor leftOperand, DataValueDescriptor rightOperand, boolean truth)
- Return the SQL truth value for a comparison.
This method first looks at the operands - if either is null, it
returns the unknown truth value. This implements "normal" SQL
null semantics, where if any operand is null, the result is null.
Note that there are cases where these semantics are incorrect -
for example, NULL AND FALSE is supposed to be FALSE, not NULL
(the NULL truth value is the same as the UNKNOWN truth value).
If neither operand is null, it returns a static final variable
containing the SQLBoolean truth value. It returns different values
depending on whether the truth value is supposed to be nullable.
This method always returns a pre-allocated static final SQLBoolean.
This is practical because there are so few possible return values.
Using pre-allocated values allows us to avoid constructing new
SQLBoolean values during execution.
truthValue
public static SQLBoolean truthValue(DataValueDescriptor leftOperand, DataValueDescriptor rightOperand, java.lang.Boolean truth)
- same as above, but takes a Boolean, if it is null, unknownTruthValue is returned
truthValue
public static SQLBoolean truthValue(boolean value)
- Get a truth value.
unknownTruthValue
public static SQLBoolean unknownTruthValue()
- Return an unknown truth value. Check to be sure the return value is
nullable.
falseTruthValue
public static SQLBoolean falseTruthValue()
- Return a false truth value.
trueTruthValue
public static SQLBoolean trueTruthValue()
- Return a true truth value.
equals
public boolean equals(boolean val)
- Determine whether this SQLBoolean contains the given boolean value.
This method is used by generated code to determine when to do
short-circuiting for an AND or OR.
- Specified by:
equalsin interfaceBooleanDataValue
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object - Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string concatenation with this object. If the result is
null, string concatenation will instead use"null".The default implementation returns
getClass().getName() + "@" + Integer.toHexString(hashCode()).
hashCode
public int hashCode()
- Description copied from class:
java.lang.Object - Get a value that represents this Object, as uniquely as
possible within the confines of an int.
There are some requirements on this method which subclasses must follow:
- Semantic equality implies identical hashcodes. In other
words, if
a.equals(b)is true, thena.hashCode() == b.hashCode()must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal. - It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.
Notice that since
hashCodeis used in java.util.Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.The default implementation returns
System.identityHashCode(this) - Semantic equality implies identical hashcodes. In other
words, if
estimateMemoryUsage
public int estimateMemoryUsage()
- Description copied from interface:
DataValueDescriptor - Estimate the memory usage in bytes of the data value and the overhead of the class.
- Specified by:
estimateMemoryUsagein interfaceDataValueDescriptor
|
|||||||||
| Home >> All >> org >> apache >> derby >> iapi >> [ types overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC