|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectde.mguennewig.pobjects.metadata.AbstractType
de.mguennewig.pobjects.metadata.ScalarType
de.mguennewig.pobjects.metadata.NumericType
public class NumericType
Type for arbitrary precision numbers.
BigDecimal| Field Summary |
|---|
| Fields inherited from interface de.mguennewig.pobjects.metadata.Type |
|---|
CLASS_NAME, TYPE_NAME |
| Constructor Summary | |
|---|---|
NumericType(int precision)
Creates a new arbitrary precision number. |
|
NumericType(int precision,
int scale)
Creates a new arbitrary precision number. |
|
NumericType(int precision,
int scale,
java.math.BigDecimal lowerLimit,
java.math.BigDecimal upperLimit)
Creates a new arbitrary precision number. |
|
NumericType(int precision,
int scale,
java.lang.String lowerLimit,
java.lang.String upperLimit)
Creates a new arbitrary precision number. |
|
| Method Summary | |
|---|---|
void |
checkConstraints(Record rec,
Column column)
Checks all constraints imposed on values of this type. |
void |
checkSyntax(java.lang.String value)
|
java.lang.String |
formatNative(java.lang.Object value)
Map value from its `native' string representation to its
internal representation based on the type. |
java.lang.Class<java.math.BigDecimal> |
getJavaClass()
Returns the Java class instance that is being used for the values of this type. |
java.math.BigDecimal |
getLowerLimit()
Returns the lower limit (inclusive) of value. |
int |
getMaxFieldSize()
Returns the maximum field size required to enter a value of this type. |
int |
getPrecision()
Returns the count of digits totally allowed. |
static int |
getPrecision(java.math.BigDecimal number)
Returns the count of digits of the given number. |
int |
getScale()
Returns the count of digits allowed in the fractional part. |
java.math.BigDecimal |
getUpperLimit()
Returns the upper limit (inclusive) of value. |
java.lang.Object |
parseNative(java.lang.String value)
Parse value according to the `native' string representation
of this type. |
void |
setParam(JdbcContainer db,
java.sql.PreparedStatement statm,
int pos,
java.lang.Object value)
Sets the parameter(s) starting at startPos. |
| Methods inherited from class de.mguennewig.pobjects.metadata.ScalarType |
|---|
addMap, expand, getMap, getResult, getResultInc, isScalar, labelToValue, valueToLabel |
| Methods inherited from class de.mguennewig.pobjects.metadata.AbstractType |
|---|
format, getDescription, getTypeClass, name, parse, setDescription, setTypeClass |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public NumericType(int precision)
precision - The maximum number of allowed decimal digits.NumericType(int,int,BigDecimal,BigDecimal)
public NumericType(int precision,
int scale)
precision - The maximum number of allowed decimal digits.scale - The maximum number of allowed digits in the fractional part.NumericType(int,int,BigDecimal,BigDecimal)
public NumericType(int precision,
int scale,
java.lang.String lowerLimit,
java.lang.String upperLimit)
precision - The maximum number of allowed decimal digits.scale - The maximum number of allowed digits in the fractional part.lowerLimit - The lower limit (inclusive) of valid values.
null means no limit.upperLimit - The upper limit (inclusive) of valid values.
null means no limit.
java.lang.IllegalArgumentException - if precision < scale or
any of them is negative.
java.lang.NumberFormatException - lowerLimit or
upperLimit contains an invalid representation of a
BigDecimal.NumericType(int,int,BigDecimal,BigDecimal)
public NumericType(int precision,
int scale,
java.math.BigDecimal lowerLimit,
java.math.BigDecimal upperLimit)
precision - The maximum number of allowed decimal digits.scale - The maximum number of allowed digits in the fractional part.lowerLimit - The lower limit (inclusive) of valid values.
null means no limit.upperLimit - The upper limit (inclusive) of valid values.
null means no limit.
java.lang.IllegalArgumentException - if precision < scale or
any of them is negative.| Method Detail |
|---|
public final int getPrecision()
public final int getScale()
public final java.math.BigDecimal getLowerLimit()
null means when no limit is set.public final java.math.BigDecimal getUpperLimit()
null means when no limit is set.public static final int getPrecision(java.math.BigDecimal number)
number.
public final java.lang.Class<java.math.BigDecimal> getJavaClass()
public int getMaxFieldSize()
This is the maximum number of characters required to enter a string representation of all valid values of this type. The typical size of an input field may be much smaller.
getMaxFieldSize in interface TypegetMaxFieldSize in class ScalarType
public void checkConstraints(Record rec,
Column column)
throws PObjConstraintException
checkConstraints in interface TypecheckConstraints in class ScalarTyperec - The record which contains column.column - The column of rec which has this type.
PObjConstraintException - when any constraint imposed on values of
this type is not fulfilled.public java.lang.String formatNative(java.lang.Object value)
value from its `native' string representation to its
internal representation based on the type.
This mapping is a one-to-one mapping of string values to the type's
value set, without any translation based on MapItems associated
with the type.
For example, an integer type's implementation would accept a value like `1' and translate it to the string `&dblquote;1&dblquote;', independent of any label associated with the value `1'.
The value null is always mapped to the empty string.
formatNative in interface TypeformatNative in class AbstractTypeType.getJavaClass()
public java.lang.Object parseNative(java.lang.String value)
throws PObjSyntaxException
value according to the `native' string representation
of this type.
This representation is a one-to-one mapping of the type's value set to
strings, without any translation based on MapItems associated with
the type.
For example, an integer type's implementation would accept a value like `"1"' and translate it to an integer object, but would reject a label like `"Yes"' that may be associated with the value `1'.
PObjSyntaxException - if value is an invalid numberType.addMap(MapItem),
Type.parse(String)
public void checkSyntax(java.lang.String value)
throws PObjSyntaxException
checkSyntax in interface TypecheckSyntax in class ScalarTypePObjSyntaxException
public void setParam(JdbcContainer db,
java.sql.PreparedStatement statm,
int pos,
java.lang.Object value)
throws java.sql.SQLException
startPos.
This method is the counterpart to
Type.getResult(JdbcContainer,ResultSet,int) and
Type.getResultInc().
java.sql.SQLException - if any database error occurs.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||