Class ConvertibleType

java.lang.Object
org.tentackle.sql.datatypes.AbstractDataType<Object>
org.tentackle.sql.datatypes.ConvertibleType
All Implemented Interfaces:
DataType<Object>

@Service(DataType.class) public class ConvertibleType extends AbstractDataType<Object>
Virtual type for application-specific wrapper classes implementing org.tentackle.misc.Convertible. This is not real type as it does not describe a concrete Java type.
  • Constructor Details

    • ConvertibleType

      public ConvertibleType()
  • Method Details

    • getJavaType

      public String getJavaType()
      Description copied from interface: DataType
      Gets the name of the Java type.
      Returns:
      the type
    • isModelProvidingInnerType

      public boolean isModelProvidingInnerType()
      Description copied from interface: DataType
      Returns whether the model provides an inner type.
      Specified by:
      isModelProvidingInnerType in interface DataType<Object>
      Overrides:
      isModelProvidingInnerType in class AbstractDataType<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: DataType
      Gets the SQL type.
      Parameters:
      index - the column index
      Returns:
      the SQL type
    • valueOf

      public Object valueOf(String str)
      Description copied from interface: DataType
      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).

      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 Object[] set(Backend backend, PreparedStatement statement, int pos, Object object, boolean mapNull, Integer size) throws SQLException
      Description copied from interface: DataType
      Sets the object into a prepared statement.
      Must be implemented if DataType.isPredefined() returns false. Not invoked by framework otherwise.
      Parameters:
      backend - the database backend
      statement - the prepared statement
      pos - the position of the first SQL value
      object - the object, may be null
      mapNull - true if map null-values to non-null values
      size - the optional size specified in the model
      Returns:
      the values stored in the prepared statement
      Throws:
      SQLException - if failed
    • get

      public Object get(Backend backend, ResultSet resultSet, int[] pos, boolean mapNull, Integer size) throws SQLException
      Description copied from interface: DataType
      Gets the object from a result set.
      Must be implemented if DataType.isPredefined() returns false. Not invoked by framework otherwise.
      Parameters:
      backend - the database backend
      resultSet - the result set
      pos - the column positions in the result set
      mapNull - true if unmap null-values from non-null values
      size - the optional size specified in the model
      Returns:
      the object or null if column(s) IS NULL
      Throws:
      SQLException - if failed