de.mguennewig.pobjects.metadata
Class Int32Type

java.lang.Object
  extended by de.mguennewig.pobjects.metadata.AbstractType
      extended by de.mguennewig.pobjects.metadata.ScalarType
          extended by de.mguennewig.pobjects.metadata.Int32Type
All Implemented Interfaces:
Type

public class Int32Type
extends ScalarType

Integer type covering the range from -2^31 to 2^31 - 1.

Author:
Michael Günnewig
See Also:
Integer

Field Summary
 
Fields inherited from interface de.mguennewig.pobjects.metadata.Type
CLASS_NAME, TYPE_NAME
 
Constructor Summary
Int32Type()
          Creates a new Int32Type.
Int32Type(int lowerLimit, int upperLimit)
          Creates a new Int32Type with limits.
 
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.Class<java.lang.Integer> getJavaClass()
          Returns the Java class instance that is being used for the values of this type.
 int getLowerLimit()
          Returns the lower limit.
 int getMaxFieldSize()
          Returns the maximum field size required to enter a value of this type.
 int getUpperLimit()
          Returns the upper limit.
 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, formatNative, getDescription, getTypeClass, name, parse, setDescription, setTypeClass
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Int32Type

public Int32Type()
Creates a new Int32Type.


Int32Type

public Int32Type(int lowerLimit,
                 int upperLimit)
Creates a new Int32Type with limits.

Method Detail

getLowerLimit

public final int getLowerLimit()
Returns the lower limit.


getUpperLimit

public final int getUpperLimit()
Returns the upper limit.


getJavaClass

public final java.lang.Class<java.lang.Integer> getJavaClass()
Returns the Java class instance that is being used for the values of this type.


getMaxFieldSize

public int getMaxFieldSize()
Returns the maximum field size required to enter a value of this type.

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.

Specified by:
getMaxFieldSize in interface Type
Overrides:
getMaxFieldSize in class ScalarType

checkConstraints

public void checkConstraints(Record rec,
                             Column column)
                      throws PObjConstraintException
Checks all constraints imposed on values of this type.

Specified by:
checkConstraints in interface Type
Overrides:
checkConstraints in class ScalarType
Parameters:
rec - The record which contains column.
column - The column of rec which has this type.
Throws:
PObjConstraintException - when any constraint imposed on values of this type is not fulfilled.

checkSyntax

public void checkSyntax(java.lang.String value)
                 throws PObjSyntaxException

Specified by:
checkSyntax in interface Type
Overrides:
checkSyntax in class ScalarType
Throws:
PObjSyntaxException

parseNative

public java.lang.Object parseNative(java.lang.String value)
                             throws PObjSyntaxException
Parse 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'.

Throws:
PObjSyntaxException - if value couldn't be parsed as a string representation of this type.
See Also:
Type.addMap(MapItem), Type.parse(String)

setParam

public void setParam(JdbcContainer db,
                     java.sql.PreparedStatement statm,
                     int pos,
                     java.lang.Object value)
              throws java.sql.SQLException
Sets the parameter(s) starting at startPos.

This method is the counterpart to Type.getResult(JdbcContainer,ResultSet,int) and Type.getResultInc().

Throws:
java.sql.SQLException - if any database error occurs.