- java.lang.Object
-
- org.tentackle.sql.datatypes.AbstractDataType<java.lang.Object>
-
- org.tentackle.sql.datatypes.ConvertibleType
-
- All Implemented Interfaces:
DataType<java.lang.Object>
@Service(DataType.class) public class ConvertibleType extends AbstractDataType<java.lang.Object>
Virtual type for application-specific wrapper classes implementingorg.tentackle.misc.Convertible. This is not real type as it does not describe a concrete Java type.
-
-
Constructor Summary
Constructors Constructor Description ConvertibleType()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectget(Backend backend, java.sql.ResultSet resultSet, int[] pos, boolean mapNull, java.lang.Integer size)Gets the object from a result set.
Must be implemented ifDataType.isPredefined()returns false.java.lang.StringgetJavaType()Gets the name of the Java type.SqlTypegetSqlType(int index)Gets the SQL type.booleanisModelProvidingInnerType()Returns whether the model provides an inner type.java.lang.Object[]set(Backend backend, java.sql.PreparedStatement statement, int pos, java.lang.Object object, boolean mapNull, java.lang.Integer size)Sets the object into a prepared statement.
Must be implemented ifDataType.isPredefined()returns false.java.lang.ObjectvalueOf(java.lang.String str)Parses a string and converts to the value of this type.
The method is used to parse a literal (for example the default value defined in the model).-
Methods inherited from class org.tentackle.sql.datatypes.AbstractDataType
equals, getColumnCount, getColumnGetter, getColumnSuffix, getColumnValue, getCommentSuffix, getDataTypeConstant, getScale, getSize, getVariant, hashCode, isBool, isDateOrTime, isDowncastNecessary, isJavaTypeGenerified, isLiteralSupported, isMapNullSupported, isMutable, isNumeric, isPredefined, isPrimitive, isUTCSupported, set, toLiteral, toNonPrimitive, toPrimitive, toString, toString, valueOfLiteralToCode
-
-
-
-
Method Detail
-
getJavaType
public java.lang.String getJavaType()
Description copied from interface:DataTypeGets the name of the Java type.- Returns:
- the type
-
isModelProvidingInnerType
public boolean isModelProvidingInnerType()
Description copied from interface:DataTypeReturns whether the model provides an inner type.- Specified by:
isModelProvidingInnerTypein interfaceDataType<java.lang.Object>- Overrides:
isModelProvidingInnerTypein classAbstractDataType<java.lang.Object>- Returns:
- true if inner type is specified within angle brackets, false if standard type
-
getSqlType
public SqlType getSqlType(int index)
Description copied from interface:DataTypeGets the SQL type.- Parameters:
index- the column index- Returns:
- the SQL type
-
valueOf
public java.lang.Object valueOf(java.lang.String str)
Description copied from interface:DataTypeParses a string and converts to the value of this type.
The method is used to parse a literal (for example the default value defined in the model).Notice: the method doesn't use any locale, so the results are always the same regardless of the JVM's locale.
- Parameters:
str- the source string- Returns:
- the value
-
set
public java.lang.Object[] set(Backend backend, java.sql.PreparedStatement statement, int pos, java.lang.Object object, boolean mapNull, java.lang.Integer size) throws java.sql.SQLException
Description copied from interface:DataTypeSets the object into a prepared statement.
Must be implemented ifDataType.isPredefined()returns false. Not invoked by framework otherwise.- Parameters:
backend- the database backendstatement- the prepared statementpos- the position of the first SQL valueobject- the object, may be nullmapNull- true if map null-values to non-null valuessize- the optional size specified in the model- Returns:
- the values stored in the prepared statement
- Throws:
java.sql.SQLException- if failed
-
get
public java.lang.Object get(Backend backend, java.sql.ResultSet resultSet, int[] pos, boolean mapNull, java.lang.Integer size) throws java.sql.SQLException
Description copied from interface:DataTypeGets the object from a result set.
Must be implemented ifDataType.isPredefined()returns false. Not invoked by framework otherwise.- Parameters:
backend- the database backendresultSet- the result setpos- the column positions in the result setmapNull- true if unmap null-values from non-null valuessize- the optional size specified in the model- Returns:
- the object or null if column(s) IS NULL
- Throws:
java.sql.SQLException- if failed
-
-