Spec-Zone.ru › OpenJDK 17

Класс 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)
Получает поток, который может использоваться для записи в значение SQL BLOB, которое представляет этот объект Blob.
int setBytes(long pos, byte[] bytes)
Записывает заданный массив байтов в значение SQL BLOB, которое представляет этот объект Blob, начиная с позиции pos, и возвращает количество записанных байтов.
int setBytes(long pos, byte[] bytes, int offset, int length)
Записывает весь или часть заданного массива byte в значение SQL BLOB, которое представляет этот объект Blob, и возвращает количество записанных байтов.
void truncate(long length)
Усекает значение SQL 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 или больше длины этого объекта 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 значении; len байтов из заданного массива байтов записываются.
Specified by:
setBytes в интерфейсе Blob
Parameters:
pos - позиция в BLOB объекте, с которой начать запись. Первая позиция — 1; должна быть не меньше 1 и не больше длины этого SerialBlob объекта.
bytes - массив байтов, которые будут записаны в BLOB значение
offset - смещение в массиве byte , с которого начинать чтение байтов. Первая позиция смещения — 0; должна быть не меньше 0 и не больше длины byte массива
length - количество байтов, которые будут записаны в BLOB значение из массива байтов bytes.
Returns:
количество записанных байтов
Throws:
SerialException - если произошла ошибка доступа к BLOB значению; если установлена некорректная позиция; если установлено некорректное значение смещения; если количество байтов для записи больше SerialBlob длины; или комбинированные значения длины и смещения превышают буфер Blob; если free ранее вызывался для этого объекта
SQLException - если произошла ошибка доступа к BLOB значению из базы данных.
See Also:
  • getBytes(long, int)

setBinaryStream

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

truncate

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

getBinaryStream

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

free

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

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

Specified by:
free в интерфейсе Blob
Throws:
SQLException - если при высвобождении ресурсов Blob произошла ошибка
Since:
1.6

equals

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

hashCode

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

clone

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

© 1993, 2021, 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/17/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialBlob.html

Spec-Zone.ru

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