ExtendedType (cayenne-doc: Cayenne Documentation 5.0-M2 API)
Description: declaration: package: org.apache.cayenne.access.types, interface: ExtendedType

# Interface ExtendedType<T>

All Known Implementing Classes:
  `BigDecimalType, BooleanType, ByteArrayType, ByteType, CalendarType, CharType, DateType, DoubleType, DurationType, EnumType, ExtendedEnumType, FloatType, GeoJsonType, H2CharType, IngresBooleanType, IntegerType, JsonType, LongType, ObjectType, OracleByteArrayType, OracleCharType, OracleUtilDateType, ShortType, TimestampType, TimeType, UtilDateType, VoidType, WktType`

public interface ExtendedType<T>
Defines methods to read Java objects from JDBC ResultSets and write as parameters of PreparedStatements.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `TRIM_VALUES_THRESHOLD`
  Defines trimming constant for toString method that helps to limit logging of large values.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getClassName()`
  Returns a full name of Java class that this ExtendedType supports.
  `T`
  `materializeObject(CallableStatement rs, int index, int type)`
  Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.
  `T`
  `materializeObject(ResultSet rs, int index, int type)`
  Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.
  `void`
  `setJdbcObject(PreparedStatement statement, T value, int pos, int type, int scale)`
  Initializes a single parameter of a PreparedStatement with object value.
  `String`
  `toString(T value)`
  Converts value of the supported type to a human-readable String representation.

- ## Field Details

  - ### TRIM_VALUES_THRESHOLD

    static final int TRIM_VALUES_THRESHOLD
    Defines trimming constant for toString method that helps to limit logging of large values.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getClassName

    String getClassName()
    Returns a full name of Java class that this ExtendedType supports.

  - ### setJdbcObject

    void setJdbcObject(PreparedStatement statement, T value, int pos, int type, int scale) throws Exception
    Initializes a single parameter of a PreparedStatement with object value.
    Throws:
      `Exception`

  - ### materializeObject

    T materializeObject(ResultSet rs, int index, int type) throws Exception
    Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.
    Throws:
      `Exception` - if read error occurred, or an object can't be converted to a target Java class.

  - ### materializeObject

    T materializeObject(CallableStatement rs, int index, int type) throws Exception
    Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.
    Throws:
      `Exception` - if read error occurred, or an object can't be converted to a target Java class.

  - ### toString

    String toString(T value)
    Converts value of the supported type to a human-readable String representation.
    Parameters:
      `value` - a value to convert to String.
    Since:
      4.0