Класс 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 байтов из заданного массива байтов.

Определено в:
setBytes в интерфейсе Blob
Параметры:
pos - позиция в объекте BLOB, с которой следует начать запись. Первая позиция - 1; не должно быть меньше 1 и не должно быть больше длины этого SerialBlob объекта.
bytes - массив байтов, который нужно записать в значение BLOB
offset - смещение в массиве byte, с которого следует начать чтение байтов. Первая позиция смещения - 0; не должно быть меньше 0 и не должно быть больше длины массива byte
length - количество байтов, которые нужно записать в значение BLOB из массива байтов bytes.
Возвращает:
количество записанных байтов
Исключения:
SerialException - если произошла ошибка при доступе к значению BLOB; если установлена недопустимая позиция; если установлено недопустимое значение смещения; если количество байтов для записи больше, чем длина SerialBlob; или комбинированные значения длины и смещения превышают буфер Blob; если 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, 2020, 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/11/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialBlob.html

Spec-Zone .ru
спецификации, руководства, описания, API