/*
 * 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 PGobject can use to take advantage of more optimal binary encoding of the data type.
/** * 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.
Params:
  • value – data containing the binary representation of the value of the object
  • offset – the offset in the byte array where object data starts
Throws:
/** * 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.
Returns:the number of bytes needed to store this object
/** * 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.
Params:
  • bytes – the array to store the value, it is guaranteed to be at lest lengthInBytes in size.
  • offset – the offset in the byte array where object must be stored
/** * 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); }