Spec-Zone.ru › OpenJDK 8

Класс 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 должен контролироваться соответствующей синхронизацией.

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

Конструкторы

Конструктор и описание
SerialBlob(Blob blob)

Создаёт объект SerialBlob , являющийся сериализованной версией данного объекта Blob.

SerialBlob(byte[] b)

Создаёт объект SerialBlob , являющийся сериализованной версией данного массива байтов byte.

Методы

Модификатор и тип Метод и описание
Object clone()

Возвращает копию этого SerialBlob.

boolean equals(Object obj)

Сравнивает этот SerialBlob с указанным объектом.

void free()

Этот метод освобождает объект SeriableBlob и освобождает ресурсы, которые он хранит.

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(Blob pattern, long start)

Возвращает позицию в этом объекте SerialBlob , где начинается указанный объект Blob , начиная поиск с указанной позиции.

long position(byte[] pattern, long start)

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

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 или больше числа байтов в Blob, или если pos + length больше числа байтов в Blob
SerialException - если метод free ранее был вызван для этого объекта
С:
1.6

free

public void free()
          throws SQLException

Этот метод освобождает объект SeriableBlob и высвобождает ресурсы, которые он удерживает. Объект становится недоступным после вызова метода free.

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

Указано в:
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.

Spec-Zone.ru

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