Package oracle.sql

Class VECTOR

  • All Implemented Interfaces:
    java.io.Serializable

    public final class VECTOR
    extends Datum
    VECTOR Class

    The VECTOR class provides conversions between the Oracle VECTOR data type and Java classes:

    • double[]
    • float[]
    • long[]
    • int[]
    • short[]
    • byte[]
    • boolean[]
    • String

    Since:
    23.4
    See Also:
    Serialized Form
    • Method Detail

      • fromData

        public static VECTOR fromData​(byte[] data)
        Creates a VECTOR that contains the values encoded in the given data.
        Parameters:
        data - The binary representation of a VECTOR. Not null.
        Returns:
        A VECTOR that contains the encoded values. Not null.
        Throws:
        java.lang.NullPointerException - If encoding is null
      • ofFloat64Values

        public static VECTOR ofFloat64Values​(java.lang.Object values)
                                      throws java.sql.SQLException

        Converts the given values into a VECTOR of 64-bit floating point numbers. The values may be an instance of any class listed in the "Java to SQL Conversions" section of the JavaDoc for OracleType.VECTOR_FLOAT64. Lossy conversions specified in that JavaDoc also apply to this method.

        Parameters:
        values - Values contained in the returned VECTOR. Not null.
        Returns:
        A VECTOR that contains the values. Not null.
        Throws:
        java.lang.NullPointerException - If bytes is null
        java.sql.SQLException - If a VECTOR can not represent the given values, for instance because the values are not an instance of a supported class, or have a length that exceeds the maximum length of a VECTOR.
      • ofFloat32Values

        public static VECTOR ofFloat32Values​(java.lang.Object values)
                                      throws java.sql.SQLException

        Converts the given values into a VECTOR of 32-bit floating point numbers. The values may be an instance of any class listed in the "Java to SQL Conversions" section of the JavaDoc for OracleType.VECTOR_FLOAT32. Lossy conversions specified in that JavaDoc also apply to this method.

        Parameters:
        values - Values contained in the returned VECTOR. Not null.
        Returns:
        A VECTOR that contains the values. Not null.
        Throws:
        java.lang.NullPointerException - If bytes is null
        java.sql.SQLException - If a VECTOR can not represent the given values, for instance because the values are not an instance of a supported class, or have a length that exceeds the maximum length of a VECTOR.
      • ofInt8Values

        public static VECTOR ofInt8Values​(java.lang.Object values)
                                   throws java.sql.SQLException

        Converts the given values into a VECTOR of signed 8-bit integers. The values may be an instance of any class listed in the "Java to SQL Conversions" section of the JavaDoc for OracleType.VECTOR_INT8. Lossy conversions specified in that JavaDoc also apply to this method.

        Parameters:
        values - Values contained in the returned VECTOR. Not null.
        Returns:
        A VECTOR that contains the values. Not null.
        Throws:
        java.lang.NullPointerException - If bytes is null
        java.sql.SQLException - If a VECTOR can not represent the given values, for instance because the values are not an instance of a supported class, or have a length that exceeds the maximum length of a VECTOR.
      • getType

        public OracleType getType()
                           throws java.sql.SQLException

        Returns the type of this VECTOR, which is one of the following:

        This method will not return OracleType.VECTOR, which is only applicable to columns and parameters. Individual VECTOR values always have a specific numeric value type: FLOAT64, FLOAT32, or INT8.

        Returns:
        The type of this VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data this VECTOR was created with is not recognized as the binary encoding of a VECTOR.
      • toDoubleArray

        public double[] toDoubleArray()
                               throws java.sql.SQLException

        Converts this VECTOR into an array of doubles.

        This is a lossless conversion. The array returned by this method contains double values which store the same information as this VECTOR.

        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data this VECTOR was created with is not recognized as the binary encoding of a VECTOR.
      • toDoubleArray

        public static double[] toDoubleArray​(byte[] data)
                                      throws java.sql.SQLException

        Converts the binary representation of a VECTOR into an array of doubles.

        This method performs a lossless conversion. The array returned by this method contains double values which store the same information as the given VECTOR.

        Parameters:
        data - The binary representation of a VECTOR. Not null.
        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data is not recognized as the binary encoding of a VECTOR.
        java.lang.NullPointerException - If data is null.
      • toFloatArray

        public float[] toFloatArray()
                             throws java.sql.SQLException

        Converts this VECTOR into an array of floats.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data this VECTOR was created with is not recognized as the binary encoding of a VECTOR.
      • toFloatArray

        public static float[] toFloatArray​(byte[] data)
                                    throws java.sql.SQLException

        Converts the binary representation of a VECTOR into an array of floats.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Parameters:
        data - The binary representation of a VECTOR. Not null.
        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data is not recognized as the binary encoding of a VECTOR.
        java.lang.NullPointerException - If data is null.
      • toLongArray

        public long[] toLongArray()
                           throws java.sql.SQLException

        Converts this VECTOR into an array of longs.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data this VECTOR was created with is not recognized as the binary encoding of a VECTOR.
      • toLongArray

        public static long[] toLongArray​(byte[] data)
                                  throws java.sql.SQLException

        Converts the binary representation of a VECTOR into an array of longs.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Parameters:
        data - The binary representation of a VECTOR. Not null.
        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data is not recognized as the binary encoding of a VECTOR.
        java.lang.NullPointerException - If data is null.
      • toIntArray

        public int[] toIntArray()
                         throws java.sql.SQLException

        Converts this VECTOR into an array of ints.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data this VECTOR was created with is not recognized as the binary encoding of a VECTOR.
      • toIntArray

        public static int[] toIntArray​(byte[] data)
                                throws java.sql.SQLException

        Converts the binary representation of a VECTOR into an array of ints.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Parameters:
        data - The binary representation of a VECTOR. Not null.
        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data is not recognized as the binary encoding of a VECTOR.
        java.lang.NullPointerException - If data is null.
      • toShortArray

        public short[] toShortArray()
                             throws java.sql.SQLException

        Converts this VECTOR into an array of shorts.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data this VECTOR was created with is not recognized as the binary encoding of a VECTOR.
      • toShortArray

        public static short[] toShortArray​(byte[] data)
                                    throws java.sql.SQLException

        Converts the binary representation of a VECTOR into an array of shorts.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Parameters:
        data - The binary representation of a VECTOR. Not null.
        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data is not recognized as the binary encoding of a VECTOR.
        java.lang.NullPointerException - If data is null.
      • toByteArray

        public byte[] toByteArray()
                           throws java.sql.SQLException

        Converts this VECTOR into an array of bytes.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data this VECTOR was created with is not recognized as the binary encoding of a VECTOR.
      • toByteArray

        public static byte[] toByteArray​(byte[] data)
                                  throws java.sql.SQLException

        Converts the binary representation of a VECTOR into an array of bytes.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Parameters:
        data - The binary representation of a VECTOR. Not null.
        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data is not recognized as the binary encoding of a VECTOR.
        java.lang.NullPointerException - If data is null.
      • toBooleanArray

        public boolean[] toBooleanArray()
                                 throws java.sql.SQLException

        Converts this VECTOR into an array of booleans.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data this VECTOR was created with is not recognized as the binary encoding of a VECTOR.
      • toBooleanArray

        public static boolean[] toBooleanArray​(byte[] data)
                                        throws java.sql.SQLException

        Converts the binary representation of a VECTOR into an array of booleans.

        This method may perform lossy conversions as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Parameters:
        data - The binary representation of a VECTOR. Not null.
        Returns:
        An array containing the values (ie: "dimensions") of a VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data is not recognized as the binary encoding of a VECTOR.
        java.lang.NullPointerException - If data is null.
      • stringValue

        public java.lang.String stringValue()
                                     throws java.sql.SQLException

        Converts this VECTOR into String.

        This method returns a VARCHAR literal representation of this VECTOR, as specified in the "SQL to Java Conversions" section of the JavaDoc for OracleType.VECTOR

        Overrides:
        stringValue in class Datum
        Returns:
        The VARCHAR literal representation of this VECTOR. Not null.
        Throws:
        java.sql.SQLException - If the data this VECTOR was created with is not recognized as the binary encoding of a VECTOR.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • hashCode

        public int hashCode()
        Returns a hash code computed from the type and values of this VECTOR.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        A hash code for this VECTOR.
      • equals

        public boolean equals​(java.lang.Object object)

        Checks if this VECTOR is equal to another VECTOR. This method considers two vectors to be equal if both have the same type, and contain the same values (ie: "dimensions").

        This method returns false if the data that either VECTOR was created with is not recognized as the binary encoding of a VECTOR.

        Overrides:
        equals in class Datum
        Parameters:
        object - object to compare this with
        Returns:
        true if the given object is an equal VECTOR, or false if not.
      • toClass

        public <T> T toClass​(java.lang.Class<T> type)
                      throws java.sql.SQLException
        Description copied from class: Datum
        Convert this datum to an instance of the specified type if possible.
        Overrides:
        toClass in class Datum
        Parameters:
        type - targetDatum class
        Returns:
        an instance of the targetDatum class corresponding to this datum.
        Throws:
        java.sql.SQLException - if the conversion is not possible.
      • isConvertibleTo

        public boolean isConvertibleTo​(java.lang.Class<?> cls)
        Description copied from class: Datum
        Determines if datum object can be converted to a particular class
        Specified by:
        isConvertibleTo in class Datum
        Parameters:
        cls - Class to convert to
        Returns:
        true, if conversion to cls is permitted false, if conversion to cls is not permitted
      • toJdbc

        public java.lang.Object toJdbc()
                                throws java.sql.SQLException
        Returns the JDBC representation of the datum object

        THE BEHAVIOR OF THIS METHOD MAY CHANGE IN A FUTURE RELEASE.

        The behavior of this method may change if a future JDBC specification defines a mapping for VECTOR data. No such mapping is defined in JDBC 4.3, so this method is currently implemented to return this VECTOR.

        Specified by:
        toJdbc in class Datum
        Returns:
        an object containing the JDBC value
        Throws:
        java.sql.SQLException - if conversion to JDBC representation results in an error
      • makeJdbcArray

        public java.lang.Object makeJdbcArray​(int arraySize)
        Returns a JDBC array representation of the datum

        THE BEHAVIOR OF THIS METHOD MAY CHANGE IN A FUTURE RELEASE.

        The behavior of this method may change if a future JDBC specification defines a mapping for VECTOR data. No such mapping is defined in JDBC 4.3, so this method is currently implemented to return an array with the component type of oracle.sql.VECTOR.

        Specified by:
        makeJdbcArray in class Datum
        Parameters:
        arraySize - size of the array
        Returns:
        an object containing the JDBC array value