Package oracle.sql

## Class VECTOR

- java.lang.Object
- - oracle.sql.Datum
  - - oracle.sql.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

### Field Summary

### Fields inherited from class oracle.sql.Datum

`ojiOracleDatumWithConnection, targetDatum`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `equals​(java.lang.Object object)` Checks if this VECTOR is equal to another VECTOR.
`static VECTOR` `fromData​(byte[] data)` Creates a `VECTOR` that contains the values encoded in the given `data`.
`OracleType` `getType()` Returns the type of this VECTOR, which is one of the following:
`int` `hashCode()` Returns a hash code computed from the type and values of this VECTOR.
`boolean` `isConvertibleTo​(java.lang.Class<?> cls)` Determines if datum object can be converted to a particular class
`java.lang.Object` `makeJdbcArray​(int arraySize)` Returns a JDBC array representation of the datum
`static VECTOR` `ofFloat32Values​(java.lang.Object values)` Converts the given `values` into a `VECTOR` of 32-bit floating point numbers.
`static VECTOR` `ofFloat64Values​(java.lang.Object values)` Converts the given `values` into a `VECTOR` of 64-bit floating point numbers.
`static VECTOR` `ofInt8Values​(java.lang.Object values)` Converts the given `values` into a `VECTOR` of signed 8-bit integers.
`java.lang.String` `stringValue()` Converts this VECTOR into String.
`boolean[]` `toBooleanArray()` Converts this VECTOR into an array of booleans.
`static boolean[]` `toBooleanArray​(byte[] data)` Converts the binary representation of a VECTOR into an array of booleans.
`byte[]` `toByteArray()` Converts this VECTOR into an array of bytes.
`static byte[]` `toByteArray​(byte[] data)` Converts the binary representation of a VECTOR into an array of bytes.
`<T> T` `toClass​(java.lang.Class<T> type)` Convert this datum to an instance of the specified type if possible.
`double[]` `toDoubleArray()` Converts this VECTOR into an array of doubles.
`static double[]` `toDoubleArray​(byte[] data)` Converts the binary representation of a VECTOR into an array of doubles.
`float[]` `toFloatArray()` Converts this VECTOR into an array of floats.
`static float[]` `toFloatArray​(byte[] data)` Converts the binary representation of a VECTOR into an array of floats.
`int[]` `toIntArray()` Converts this VECTOR into an array of ints.
`static int[]` `toIntArray​(byte[] data)` Converts the binary representation of a VECTOR into an array of ints.
`java.lang.Object` `toJdbc()` Returns the JDBC representation of the datum object
`long[]` `toLongArray()` Converts this VECTOR into an array of longs.
`static long[]` `toLongArray​(byte[] data)` Converts the binary representation of a VECTOR into an array of longs.
`short[]` `toShortArray()` Converts this VECTOR into an array of shorts.
`static short[]` `toShortArray​(byte[] data)` Converts the binary representation of a VECTOR into an array of shorts.
`java.lang.String` `toString()`

### Methods inherited from class oracle.sql.Datum

`asciiStreamValue, bigDecimalValue, binaryStreamValue, booleanValue, bytesEqual, bytesHashCode, byteValue, characterStreamValue, compareBytes, dateValue, doubleValue, floatValue, getBytes, getConnectionDuringExceptionHandling, getLength, getStream, intValue, isNull, longValue, setBytes, setShareBytes, shareBytes, stringValue, timestampValue, timestampValue, timeValue, timeValue`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### 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:

- `OracleType.VECTOR_FLOAT64`
- `OracleType.VECTOR_FLOAT32`
- `OracleType.VECTOR_INT8`

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