Interface SqlMetaType

All Known Subinterfaces:
SqlTaggedMetaType
All Known Implementing Classes:
JdbcBigDecimalType, JdbcBigIntegerType, JdbcBlobType, JdbcBooleanType, JdbcByteArrayType, JdbcByteArrayWrapperType, JdbcByteType, JdbcCharType, JdbcClobType, JdbcDateTimeType, JdbcDateType, JdbcDefaultType, JdbcDoubleType, JdbcEnumIntegerType, JdbcEnumStringType, JdbcFloatType, JdbcFromDateType, JdbcInstantType, JdbcIntegerType, JdbcLocalDateTimeType, JdbcLocalDateType, JdbcLocalTimeType, JdbcLongType, JdbcOracleCursorType, JdbcOtherType, JdbcShortType, JdbcStringType, JdbcTextType, JdbcTimestampType, JdbcTimeType, JdbcToDateType, SqlBigDecimalType, SqlBigIntegerType, SqlBlobType, SqlBooleanType, SqlByteArrayType, SqlByteType, SqlCharType, SqlClobType, SqlDateTimeType, SqlDateType, SqlDefaultType, SqlDoubleType, SqlEnumIntegerType, SqlEnumStringType, SqlFloatType, SqlFromDateType, SqlIdentityType, SqlInstantType, SqlIntegerType, SqlLocalDateTimeType, SqlLocalDateType, SqlLocalTimeType, SqlLongType, SqlOutValueType, SqlShortType, SqlStringType, SqlTextType, SqlTimestampType, SqlTimeType, SqlToDateType

public interface SqlMetaType
The common ancestor of all META types. These internal types are devoted for the special processing of the input/output values.
Author:
Vladimir Hudec
  • Method Details

    • getProviderSqlType

      Object getProviderSqlType()
      Returns the type provided by the stack on top of which the SQL Processor works.
      Returns:
      the provided type
    • addScalar

      void addScalar(SqlTypeFactory typeFactory, SqlQuery query, String dbName, Class<?>... attributeTypes)
      Declares a scalar query result, which is an SQL query execution output value.
      Parameters:
      typeFactory - the SQL Type factory
      query - the SQL Engine query, an adapter or proxy to the internal JDBC or ORM staff
      dbName - the name of a database query output, it can be the column name or the alias name
      attributeTypes - the Java types of of the attribute in the result class
    • addScalarEntryLog

      default void addScalarEntryLog(org.slf4j.Logger logger, SqlMetaType sqlMetaType, SqlTypeFactory typeFactory, SqlQuery query, String dbName, Class<?>... attributeTypes)
    • setResult

      void setResult(SqlRuntimeContext runtimeCtx, Object resultInstance, String attributeName, Object resultValue, boolean ingoreError) throws SqlRuntimeException
      Initializes the attribute of the result class with output value from the SQL query execution.
      Parameters:
      runtimeCtx - the runtimeCtx context
      resultInstance - the instance of the result class
      attributeName - the name of the attribute in the result class
      resultValue - the query execution output value
      ingoreError - ignore improper output value handling
      Throws:
      SqlRuntimeException - in the case of any problem with the output values handling
    • getResult

      default Object getResult(SqlRuntimeContext runtimeCtx, String attributeName, Object resultValue, boolean ingoreError) throws SqlRuntimeException
      Returns the attribute's result value (with possible conversion).
      Parameters:
      runtimeCtx - the runtimeCtx context
      attributeName - the name of the attribute in the result class
      resultValue - the query execution output value
      ingoreError - ignore improper output value handling
      Throws:
      SqlRuntimeException - in the case of any problem with the output values handling
    • setResultEntryLog

      default void setResultEntryLog(org.slf4j.Logger logger, SqlMetaType sqlMetaType, SqlRuntimeContext runtimeCtx, Object resultInstance, String attributeName, Object resultValue, boolean ingoreError)
    • setParameter

      void setParameter(SqlRuntimeContext runtimeCtx, SqlQuery query, String paramName, Object inputValue, boolean ingoreError, Class<?>... inputTypes) throws SqlRuntimeException
      Binds an input value to a named query parameter.
      Parameters:
      runtimeCtx - the runtimeCtx context
      query - the SQL Engine query, an adapter or proxy to the internal JDBC or ORM staff
      paramName - the name of the parameter
      ingoreError - ignore improper input value handling
      inputTypes - the Java types of the attribute in the input POJO
      Throws:
      SqlRuntimeException - in the case of any problem with the input values handling
    • setParameterEntryLog

      default void setParameterEntryLog(org.slf4j.Logger logger, SqlMetaType sqlMetaType, SqlRuntimeContext runtimeCtx, SqlQuery query, String paramName, Object inputValue, boolean ingoreError, Class<?>... inputTypes)
    • error

      default void error(org.slf4j.Logger logger, boolean ingoreError, String msg)
      Log or throw error.
      Parameters:
      logger - the internal slf4j logger
      ingoreError - ignore improper input value handling
      msg - the error message