Spec-Zone.ru › OpenJDK 24

Класс SerialBlob

java.lang.Object
javax.sql.rowset.serial.SerialBlob
Все реализованные интерфейсы:
Serializable, Cloneable, Blob
public class SerialBlob extends Object implements Blob, Serializable, Cloneable
Сериализованное отображение в языке программирования Java значения SQL BLOB.

Класс SerialBlob предоставляет конструктор для создания экземпляра из объекта Blob. Обратите внимание, что объект Blob должен был передать данные значения SQL BLOB на клиент перед тем, как объект SerialBlob будет построен из него. Данные значения SQL BLOB могут быть материализованы на клиенте в виде массива байтов (используя метод Blob.getBytes) или в виде потока неинтерпретированных байтов (используя метод Blob.getBinaryStream).

Методы SerialBlob позволяют создать копию объекта SerialBlob в виде массива байтов или потока. Они также позволяют найти заданный шаблон байтов или объект Blob внутри объекта SerialBlob, а также обновить или усечить объект Blob.

Безопасность потоков

Объект SerialBlob не безопасен для использования несколькими одновременными потоками. Если SerialBlob будет использоваться более чем одним потоком, доступ к SerialBlob должен контролироваться соответствующей синхронизацией.

С:
1.5
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
SerialBlob(byte[] b)
Создает объект SerialBlob, являющийся сериализованной версией заданного массива byte.
SerialBlob(Blob blob)
Создает объект SerialBlob, являющийся сериализованной версией заданного объекта Blob.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()
Возвращает клон этого объекта SerialBlob.
boolean equals(Object obj)
Сравнивает этот SerialBlob с указанным объектом.
void free()
Этот метод освобождает объект SerialBlob и высвобождает ресурсы, которые он удерживает.
InputStream getBinaryStream()
Возвращает этот объект SerialBlob в виде входного потока.
InputStream getBinaryStream(long pos, long length)
Возвращает объект InputStream, содержащий частичное значение Blob, начиная с байта, указанного pos, длиной в length байтов.
byte[] getBytes(long pos, int length)
Копирует указанное количество байтов, начиная с заданной позиции, из этого объекта SerialBlob в другой массив байтов.
int hashCode()
Возвращает хэш-код для этого объекта SerialBlob.
long length()
Возвращает количество байтов в массиве байтов этого объекта SerialBlob.
long position(byte[] pattern, long start)
Возвращает позицию в этом объекте SerialBlob, где начинается заданный шаблон байтов, начиная поиск с указанной позиции.
long position(Blob pattern, long start)
Возвращает позицию в этом объекте SerialBlob, где начинается заданный объект Blob, начиная поиск с указанной позиции.
OutputStream setBinaryStream(long pos)
Возвращает поток, который можно использовать для записи в значение BLOB, которое представляет этот объект Blob.
int setBytes(long pos, byte[] bytes)
Записывает заданный массив байтов в значение BLOB, которое представляет этот объект Blob, начиная с позиции pos, и возвращает количество записанных байтов.
int setBytes(long pos, byte[] bytes, int offset, int length)
Записывает весь или часть заданного массива byte в значение BLOB, которое представляет этот объект Blob, и возвращает количество записанных байтов.
void truncate(long length)
Усекает значение BLOB, которое представляет этот объект Blob, до len байтов длиной.

Методы, объявленные в классе java.lang.Object

finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

SerialBlob

public SerialBlob(byte[] b) throws SerialException, SQLException
Создаёт объект SerialBlob, являющийся сериализованной версией заданного массива byte.

Новый объект SerialBlob инициализируется данными из массива byte, что позволяет отключенным объектам RowSet создавать сериализованные объекты Blob без обращения к источнику данных.

Параметры:
b - массив byte, содержащий данные для сериализуемого объекта Blob
Исключения:
SerialException - если при сериализации произошла ошибка
SQLException - если произошла ошибка SQL

SerialBlob

public SerialBlob(Blob blob) throws SerialException, SQLException
Создаёт объект SerialBlob, являющийся сериализованной версией заданного объекта Blob.

Новый объект SerialBlob инициализируется данными из объекта Blob; поэтому объект Blob должен был предварительно загрузить данные из SQL-значения BLOB на клиентскую сторону из базы данных. В противном случае новый объект SerialBlob не будет содержать данных.

Параметры:
blob - объект Blob, из которого должен быть создан этот объект SerialBlob; не может быть null.
Исключения:
SerialException - если при сериализации произошла ошибка
SQLException - если объект Blob, переданный в конструктор, является объектом null.
См. также:
  • Blob

Подробное описание методов

getBytes

public byte[] getBytes(long pos, int length) throws SerialException
Копирует указанное количество байтов, начиная с заданной позиции, из этого объекта SerialBlob в другой массив байтов.

Обратите внимание, что если заданное количество байтов для копирования больше, чем длина массива байтов этого объекта SerialBlob, заданное число будет сокращено до длины массива.

Определено в:
getBytes в интерфейсе Blob
Параметры:
pos - порядковый номер первой позиции байта в этом объекте SerialBlob для копирования; нумерация начинается с 1; не должно быть меньше 1 и должно быть меньше или равно длине этого объекта SerialBlob
length - количество байтов для копирования
Возвращает:
массив байтов, являющийся копией области этого объекта SerialBlob, начиная с заданной позиции и содержащий заданное количество последовательных байтов
Исключения:
SerialException - если заданная начальная позиция находится вне границ; если метод free был ранее вызван для этого объекта
См. также:
  • Blob.setBytes(long, byte[])

length

public long length() throws SerialException
Возвращает количество байтов в массиве байтов этого объекта SerialBlob.
Определено в:
length в интерфейсе Blob
Возвращает:
значение long, указывающее длину в байтах массива байтов этого объекта SerialBlob
Исключения:
SerialException - если произошла ошибка; если метод free был ранее вызван для этого объекта

getBinaryStream

public InputStream getBinaryStream() throws SerialException
Возвращает этот объект SerialBlob в виде потока ввода. В отличие от связанного метода setBinaryStream, поток создается независимо от того, был ли объект SerialBlob создан с объектом Blob или массивом byte.
Определено в:
getBinaryStream в интерфейсе Blob
Возвращает:
объект java.io.InputStream, который содержит массив байтов этого объекта SerialBlob
Исключения:
SerialException - если произошла ошибка; если метод free был ранее вызван для этого объекта
См. также:
  • setBinaryStream(long)

position

public long position(byte[] pattern, long start) throws SerialException, SQLException
Возвращает позицию в этом объекте SerialBlob, где начинается заданная последовательность байтов, начиная поиск с указанной позиции.
Определено в:
position в интерфейсе Blob
Параметры:
pattern - последовательность байтов, которую нужно найти
start - позиция байта в этом объекте SerialBlob, с которой следует начать поиск; первая позиция — 1; не должно быть меньше 1 и не должно быть больше длины этого объекта SerialBlob
Возвращает:
позицию в этом объекте SerialBlob, где начинается заданная последовательность, начиная с указанной позиции; -1, если последовательность не найдена или заданная начальная позиция находится вне границ; нумерация позиций для возвращаемого значения начинается с 1
Исключения:
SerialException - если при сериализации blob произошла ошибка; если метод free был ранее вызван для этого объекта
SQLException - если при доступе к значению BLOB из базы данных произошла ошибка

position

public long position(Blob pattern, long start) throws SerialException, SQLException
Возвращает позицию в этом объекте SerialBlob, где начинается заданный объект Blob, начиная поиск с указанной позиции.
Определено в:
position в интерфейсе Blob
Параметры:
pattern - объект Blob, который нужно найти;
start - позиция байта в этом объекте SerialBlob, с которой следует начать поиск; первая позиция — 1; не должно быть меньше 1 и не должно быть больше длины этого объекта SerialBlob
Возвращает:
позицию в этом объекте SerialBlob, где начинается заданный объект Blob, начиная с указанной позиции; -1, если последовательность не найдена или заданная начальная позиция находится вне границ; нумерация позиций для возвращаемого значения начинается с 1
Исключения:
SerialException - если при сериализации blob произошла ошибка; если метод free был ранее вызван для этого объекта
SQLException - если при доступе к значению BLOB из базы данных произошла ошибка

setBytes

public int setBytes(long pos, byte[] bytes) throws SerialException, SQLException
Записывает заданный массив байтов в значение BLOB, которое представляет этот объект Blob, начиная с позиции pos, и возвращает количество записанных байтов.
Определено в:
setBytes в интерфейсе Blob
Параметры:
pos - позиция в значении SQL BLOB, с которой начать запись. Первая позиция — 1; не должно быть меньше 1 и не должно быть больше длины + 1 этого объекта SerialBlob.
bytes - массив байтов, который необходимо записать в значение BLOB, представляемое этим объектом Blob
Возвращает:
количество записанных байтов
Исключения:
SerialException - если при доступе к значению BLOB произошла ошибка; или если установлена недопустимая позиция; если метод free был ранее вызван для этого объекта
SQLException - если при доступе к значению BLOB из базы данных произошла ошибка
См. также:
  • getBytes(long, int)

setBytes

public int setBytes(long pos, byte[] bytes, int offset, int length) throws SerialException, SQLException
Записывает весь или часть заданного массива byte в значение BLOB, которое представляет этот объект Blob, и возвращает количество записанных байтов. Запись начинается с позиции pos в значении BLOB; записывается length байта из заданного массива байтов.
Указано в:
setBytes в интерфейсе Blob
Параметры:
pos - позиция в объекте BLOB, с которой начать запись. Первая позиция - 1; не должна быть меньше 1 и больше длины + 1 этого объекта SerialBlob.
bytes - массив байтов, которые будут записаны в значение BLOB.
offset - смещение в массиве byte, с которого начинать чтение байтов для установки. Первая позиция смещения - 0; не должна быть меньше 0 и больше длины массива byte.
length - количество байтов, которые будут записаны в значение BLOB из массива байтов byte.
Возвращает:
количество записанных байтов
Исключения:
SerialException - если возникла ошибка доступа к значению BLOB; если установлена неверная позиция; если установлено неверное значение смещения; или комбинированные значения length и offset больше длины byte; если метод free был ранее вызван для этого объекта.
SQLException - если возникла ошибка доступа к значению BLOB из базы данных.
См. также:
  • getBytes(long, int)

setBinaryStream

public OutputStream setBinaryStream(long pos) throws SerialException, SQLException
Получает поток, который можно использовать для записи в значение BLOB, которое представляет этот объект Blob. Поток начинается с позиции pos. Этот метод передает вызов setBinaryStream() методу основного Blob в случае, если этот объект SerialBlob создан с Blob. Если этот объект SerialBlob создан с массивом byte, генерируется исключение SerialException.
Указано в:
setBinaryStream в интерфейсе Blob
Параметры:
pos - позиция в значении BLOB, с которой начать запись
Возвращает:
объект java.io.OutputStream, в который можно записать данные
Исключения:
SQLException - если возникла ошибка доступа к значению BLOB.
SerialException - если SerialBlob не создан с объектом Blob, который поддерживает setBinaryStream(); если метод free был ранее вызван для этого объекта.
См. также:
  • getBinaryStream()

truncate

public void truncate(long length) throws SerialException
Усекает значение BLOB, которое представляет этот объект Blob, до длины len байт.
Указано в:
truncate в интерфейсе Blob
Параметры:
length - длина в байтах, до которой должно быть усечено значение BLOB, которое представляет этот объект Blob.
Исключения:
SerialException - если возникла ошибка доступа к значению Blob; или длина усечения больше длины SerialBlob; если метод free был ранее вызван для этого объекта.

getBinaryStream

public InputStream getBinaryStream(long pos, long length) throws SQLException
Возвращает объект InputStream, который содержит частичное значение Blob, начиная с байта, указанного в pos, длиной в length байт.
Указано в:
getBinaryStream в интерфейсе Blob
Параметры:
pos - смещение до первого байта частичного значения для извлечения. Первый байт в Blob находится на позиции 1.
length - длина в байтах частичного значения для извлечения.
Возвращает:
объект InputStream, через который можно прочитать частичное значение Blob.
Исключения:
SQLException - если pos меньше 1 или если pos больше количества байтов в Blob, или если pos + length больше количества байтов в Blob.
SerialException - если метод free был ранее вызван для этого объекта.
С момента:
1.6

free

public void free() throws SQLException
Этот метод освобождает объект SerialBlob и высвобождает ресурсы, которые он удерживает. Объект становится недействительным после вызова метода free.

Если free вызывается несколько раз, последующие вызовы free обрабатываются как no-op.

Указано в:
free в интерфейсе Blob
Исключения:
SQLException - если возникла ошибка при высвобождении ресурсов Blob
С момента:
1.6

equals

public boolean equals(Object obj)
Сравнивает этот SerialBlob с указанным объектом. Результат равен true тогда и только тогда, когда аргумент не null и является объектом SerialBlob, представляющим ту же последовательность байтов, что и этот объект.
Переопределяет:
equals в классе Object
Параметры:
obj - Объект для сравнения с этим SerialBlob
Возвращает:
true, если заданный объект представляет эквивалент SerialBlob этого SerialBlob, false в противном случае
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хэш-код для этого SerialBlob.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

clone

public Object clone()
Возвращает копию этого SerialBlob. Копия будет содержать ссылку на клон внутреннего массива байтов, а не на ссылку на исходный внутренний массив байтов этого объекта SerialBlob. Внутренний объект Blob будет установлен в null.
Переопределяет:
clone в классе Object
Возвращает:
клон этого SerialBlob
См. также:
  • Cloneable

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialBlob.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API