| java.lang.Object org.apache.derby.iapi.types.DataType org.apache.derby.iapi.types.NumberDataType
All known Subclasses: org.apache.derby.iapi.types.SQLLongint, org.apache.derby.iapi.types.SQLReal, org.apache.derby.iapi.types.SQLTinyint, org.apache.derby.iapi.types.SQLDouble, org.apache.derby.iapi.types.SQLInteger, org.apache.derby.iapi.types.BinaryDecimal, org.apache.derby.iapi.types.SQLSmallint, org.apache.derby.iapi.types.SQLDecimal,
NumberDataType | abstract public class NumberDataType extends DataType implements NumberDataValue(Code) | | NumberDataType is the superclass for all exact and approximate
numeric data types. It exists for the purpose of allowing classification
of types for supported implicit conversions among them.
See Also: DataType author: ames |
Method Summary | |
final public NumberDataValue | absolute(NumberDataValue result) Numbers check for isNegative first and negate it if negative.
this object's absolute value. | final public int | compare(DataValueDescriptor arg) | final public boolean | compare(int op, DataValueDescriptor other, boolean orderedNulls, boolean unknownRV) | public NumberDataValue | divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result) This method implements the / operator for TINYINT, SMALLINT and INTEGER. | public NumberDataValue | divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result, int scale) Suitable for integral types that ignore scale. | public int | getDecimalValuePrecision() Return the precision of this specific DECIMAL value. | public int | getDecimalValueScale() Return the scale of this specific DECIMAL value. | abstract protected boolean | isNegative() The isNegative abstract method. | public NumberDataValue | minus(NumberDataValue left, NumberDataValue right, NumberDataValue result) This method implements the - operator for TINYINT, SMALLINT and INTEGER. | public NumberDataValue | mod(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result) | public static double | normalizeDOUBLE(double v) normalizeDOUBLE checks the validity of the given java double that
it fits within the range of DB2 DOUBLEs. | public static float | normalizeREAL(float v) normalizeREAL checks the validity of the given java float that
it fits within the range of DB2 REALs. | public static float | normalizeREAL(double v) normalizeREAL checks the validity of the given java double that
it fits within the range of DB2 REALs. | final protected boolean | objectNull(Object o) | public NumberDataValue | plus(NumberDataValue addend1, NumberDataValue addend2, NumberDataValue result) This method implements the + operator for TINYINT,SMALLINT,INT. | public void | setBigDecimal(Number bigDecimal) setValue for integral exact numerics. | void | setObject(Object theValue) Set the value from a correctly typed Integer object. | public void | setValue(short theValue) Common code to handle converting a short to this value
by using the int to this value conversion. | public void | setValue(byte theValue) Common code to handle converting a byte to this value
by using the int to this value conversion. | public void | setValue(Number theValue) | public NumberDataValue | sqrt(NumberDataValue result) This is the sqrt method.
this object's sqrt value. | abstract protected int | typeCompare(DataValueDescriptor arg) Compare this (not null) to a non-null value. | public int | typeToBigDecimal() Implementation for integral types. |
MAXLONG_PLUS_ONE | static Comparable MAXLONG_PLUS_ONE(Code) | | Set by the booting DataValueFactory implementation.
|
MINLONG_MINUS_ONE | static Comparable MINLONG_MINUS_ONE(Code) | | Set by the booting DataValueFactory implementation.
|
divide | public NumberDataValue divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result) throws StandardException(Code) | | This method implements the / operator for TINYINT, SMALLINT and INTEGER.
Specialized methods are not required for TINYINT and SMALLINT as the Java
virtual machine always executes byte and int division as integer.
Parameters: dividend - The numerator Parameters: divisor - The denominator Parameters: result - The result of a previous call to this method, nullif not called yet A SQLInteger containing the result of the division exception: StandardException - Thrown on error |
getDecimalValuePrecision | public int getDecimalValuePrecision()(Code) | | Return the precision of this specific DECIMAL value.
If the value does not represent a SQL DECIMAL then
the return is undefined.
|
getDecimalValueScale | public int getDecimalValueScale()(Code) | | Return the scale of this specific DECIMAL value.
If the value does not represent a SQL DECIMAL then
the return is undefined.
|
isNegative | abstract protected boolean isNegative()(Code) | | The isNegative abstract method. Checks to see if this.value is negative.
To be implemented by each NumberDataType.
A boolean. If this.value is negative, return true.For positive values or null, return false. |
normalizeDOUBLE | public static double normalizeDOUBLE(double v) throws StandardException(Code) | | normalizeDOUBLE checks the validity of the given java double that
it fits within the range of DB2 DOUBLEs. In addition it
normalizes the value, so that negative zero (-0.0) becomes positive.
|
normalizeREAL | public static float normalizeREAL(float v) throws StandardException(Code) | | normalizeREAL checks the validity of the given java float that
it fits within the range of DB2 REALs. In addition it
normalizes the value, so that negative zero (-0.0) becomes positive.
|
normalizeREAL | public static float normalizeREAL(double v) throws StandardException(Code) | | normalizeREAL checks the validity of the given java double that
it fits within the range of DB2 REALs. In addition it
normalizes the value, so that negative zero (-0.0) becomes positive.
The reason for having normalizeREAL with two signatures is to
avoid that normalizeREAL is called with a casted (float)doublevalue,
since this invokes an unwanted rounding (of underflow values to 0.0),
in contradiction to DB2s casting semantics.
|
objectNull | final protected boolean objectNull(Object o)(Code) | | |
setBigDecimal | public void setBigDecimal(Number bigDecimal) throws StandardException(Code) | | setValue for integral exact numerics. Converts the BigDecimal
to a long to preserve precision
|
setValue | public void setValue(short theValue) throws StandardException(Code) | | Common code to handle converting a short to this value
by using the int to this value conversion.
Simply calls setValue(int).
|
setValue | public void setValue(byte theValue) throws StandardException(Code) | | Common code to handle converting a byte to this value
by using the int to this value conversion.
Simply calls setValue(int).
|
typeToBigDecimal | public int typeToBigDecimal()(Code) | | Implementation for integral types. Convert to a BigDecimal using long
|
Methods inherited from org.apache.derby.iapi.types.DataType | public void checkHostVariable(int declaredLength) throws StandardException(Code)(Java Doc) public Object cloneObject()(Code)(Java Doc) public DataValueDescriptor coalesce(DataValueDescriptor[] argumentsList, DataValueDescriptor returnValue) throws StandardException(Code)(Java Doc) public boolean compare(int op, DataValueDescriptor other, boolean orderedNulls, boolean unknownRV) throws StandardException(Code)(Java Doc) final protected StandardException dataTypeConversion(String targetType)(Code)(Java Doc) public BooleanDataValue equals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public boolean equals(Object other)(Code)(Java Doc) protected static int flip(int operator)(Code)(Java Doc) void genericSetObject(Object theValue) throws StandardException(Code)(Java Doc) public boolean getBoolean() throws StandardException(Code)(Java Doc) public byte getByte() throws StandardException(Code)(Java Doc) public byte[] getBytes() throws StandardException(Code)(Java Doc) public Date getDate(Calendar cal) throws StandardException(Code)(Java Doc) public double getDouble() throws StandardException(Code)(Java Doc) public float getFloat() throws StandardException(Code)(Java Doc) public int getInt() throws StandardException(Code)(Java Doc) public long getLong() throws StandardException(Code)(Java Doc) protected String getNationalString(LocaleFinder localeFinder) throws StandardException(Code)(Java Doc) public Object getObject() throws StandardException(Code)(Java Doc) public short getShort() throws StandardException(Code)(Java Doc) public InputStream getStream() throws StandardException(Code)(Java Doc) public Time getTime(Calendar cal) throws StandardException(Code)(Java Doc) public Timestamp getTimestamp(Calendar cal) throws StandardException(Code)(Java Doc) public String getTraceString() throws StandardException(Code)(Java Doc) String getTypeName(String className)(Code)(Java Doc) public BooleanDataValue greaterOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public BooleanDataValue greaterThan(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public BooleanDataValue in(DataValueDescriptor left, DataValueDescriptor[] inList, boolean orderedList) throws StandardException(Code)(Java Doc) final protected StandardException invalidFormat()(Code)(Java Doc) final public BooleanDataValue isNotNull()(Code)(Java Doc) final public BooleanDataValue isNullOp()(Code)(Java Doc) public BooleanDataValue lessOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public BooleanDataValue lessThan(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) public void normalize(DataTypeDescriptor desiredType, DataValueDescriptor source) throws StandardException(Code)(Java Doc) public BooleanDataValue notEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException(Code)(Java Doc) final protected StandardException outOfRange()(Code)(Java Doc) public void setBigDecimal(Number bigDecimal) throws StandardException(Code)(Java Doc) protected void setFrom(DataValueDescriptor dvd) throws StandardException(Code)(Java Doc) public void setInto(PreparedStatement ps, int position) throws SQLException, StandardException(Code)(Java Doc) public void setInto(ResultSet rs, int position) throws SQLException, StandardException(Code)(Java Doc) void setObject(Object theValue) throws StandardException(Code)(Java Doc) public void setObjectForCast(Object theValue, boolean instanceOfResultType, String resultTypeClassName) throws StandardException(Code)(Java Doc) public void setToNull()(Code)(Java Doc) public void setValue(Time theValue) throws StandardException(Code)(Java Doc) public void setValue(Time theValue, Calendar cal) throws StandardException(Code)(Java Doc) public void setValue(Timestamp theValue) throws StandardException(Code)(Java Doc) public void setValue(Timestamp theValue, Calendar cal) throws StandardException(Code)(Java Doc) public void setValue(Date theValue) throws StandardException(Code)(Java Doc) public void setValue(Date theValue, Calendar cal) throws StandardException(Code)(Java Doc) public void setValue(String theValue) throws StandardException(Code)(Java Doc) public void setValue(int theValue) throws StandardException(Code)(Java Doc) public void setValue(double theValue) throws StandardException(Code)(Java Doc) public void setValue(float theValue) throws StandardException(Code)(Java Doc) public void setValue(short theValue) throws StandardException(Code)(Java Doc) public void setValue(long theValue) throws StandardException(Code)(Java Doc) public void setValue(byte theValue) throws StandardException(Code)(Java Doc) public void setValue(boolean theValue) throws StandardException(Code)(Java Doc) public void setValue(byte[] theValue) throws StandardException(Code)(Java Doc) final public void setValue(DataValueDescriptor dvd) throws StandardException(Code)(Java Doc) public void setValue(InputStream theStream, int valueLength) throws StandardException(Code)(Java Doc) public void throwLangSetMismatch(Object value) throws StandardException(Code)(Java Doc) void throwLangSetMismatch(String argTypeName) throws StandardException(Code)(Java Doc) public int typePrecedence()(Code)(Java Doc) public int typeToBigDecimal() throws StandardException(Code)(Java Doc)
|
|
|