Interface SqlArrayType<T>

  • Type Parameters:
    T - the array element type
    All Known Implementing Classes:
    ByteaArrayType, SqlArrayTypeImpl

    public interface SqlArrayType<T>
    Strategy for converting elements of array-like arguments into SQL array elements.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      java.lang.Object convertArrayElement​(T element)
      Returns an equivalent value in a type supported by the JDBC vendor.
      default java.lang.Class<?> getArrayElementClass()
      Returns the element class that is used to create the backing array.
      java.lang.String getTypeName()
      Returns the vendor-specific SQL type name String for the element type T.
      static <T> SqlArrayType<T> of​(java.lang.String typeName, java.util.function.Function<T,​?> conversion)
      Create a SqlArrayType from the given type and convert function.
    • Method Detail

      • getTypeName

        java.lang.String getTypeName()
        Returns the vendor-specific SQL type name String for the element type T. This value will be passed to Connection.createArrayOf(String, Object[]) to create SQL arrays.
        Returns:
        the type name
      • convertArrayElement

        java.lang.Object convertArrayElement​(T element)
        Returns an equivalent value in a type supported by the JDBC vendor. If element type T is already supported by the JDBC vendor, this method may return element without modification.
        Parameters:
        element - the element to convert
        Returns:
        the converted element
      • getArrayElementClass

        default java.lang.Class<?> getArrayElementClass()
        Returns the element class that is used to create the backing array. By default, Object is used and the backing array is an Object[] array. Can be overridden if a more specific type is needed.
        Returns:
        A Class instance which is used with Array.newInstance(Class, int).
      • of

        static <T> SqlArrayType<T> of​(java.lang.String typeName,
                                      java.util.function.Function<T,​?> conversion)
        Create a SqlArrayType from the given type and convert function.
        Parameters:
        typeName - the vendor sql type to use
        conversion - convert the array element to the jdbc representation
        Returns:
        the created array type