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 final class ConvertibleType extends AbstractDataType<Object>
Virtual type for application-specific wrapper classes implementing org.tentackle.misc.Convertible. This is not a real type as it does not describe a concrete Java type.
  • Constructor Details

    • ConvertibleType

      public ConvertibleType()
      Creates the convertible pseudo type.
  • 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(Backend backend, int index)
      Description copied from interface: DataType
      Gets the SQL type.
      For predefined types, the type must be the same for all backends and the backend argument may be null.
      Application specific types, however, can use different sql types for different backends and for those types the backend argument is always valid.
      Parameters:
      backend - the backend, not used by predefined types
      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