org.postgresql.util.PGBinaryObject Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jdbc-yugabytedb Show documentation
Show all versions of jdbc-yugabytedb Show documentation
Java JDBC 4.2 (JRE 8+) driver for YugaByte SQL database
/*
* Copyright (c) 2011, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package org.postgresql.util;
import java.sql.SQLException;
/**
* PGBinaryObject is a inteface that classes extending {@link PGobject} can use to take advantage of
* more optimal binary encoding of the data type.
*/
public interface PGBinaryObject {
/**
* This method is called to set the value of this object.
*
* @param value data containing the binary representation of the value of the object
* @param offset the offset in the byte array where object data starts
* @throws SQLException thrown if value is invalid for this type
*/
void setByteValue(byte[] value, int offset) throws SQLException;
/**
* This method is called to return the number of bytes needed to store this object in the binary
* form required by org.postgresql.
*
* @return the number of bytes needed to store this object
*/
int lengthInBytes();
/**
* This method is called the to store the value of the object, in the binary form required by
* org.postgresql.
*
* @param bytes the array to store the value, it is guaranteed to be at lest
* {@link #lengthInBytes} in size.
* @param offset the offset in the byte array where object must be stored
*/
void toBytes(byte[] bytes, int offset);
}