Spec-Zone.ru › OpenJDK 21

Класс 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 - смещение в массиве bytes, с которого начинать чтение байтов для установки. Первая позиция смещения - 0; не должно быть меньше 0 или больше длины массива bytes
length - количество байтов, которые нужно записать в BLOB значение из массива байтов bytes
Возвращает:
количество записанных байтов
Исключения:
SerialException - если возникла ошибка при доступе к BLOB значению; если установлена неверная позиция; если установлено неверное значение смещения; или комбинированные значения length и offset превышают длину bytes; если метод 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, 2023, 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://docs.oracle.com/en/java/javase/21/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialBlob.html

Spec-Zone.ru

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