Класс SerialClob
- java.lang.Object
-
- javax.sql.rowset.serial.SerialClob
- Все реализованные интерфейсы:
- Serializable, Cloneable, Clob
public class SerialClob extends Object implements Clob, Serializable, Cloneable
Сериализованное отображение в языке программирования Java значения SQL CLOB.
Класс SerialClob предоставляет конструктор для создания экземпляра из объекта Clob. Обратите внимание, что объект Clob должен был загрузить данные значения SQL CLOB на клиент перед тем, как из него будет построен объект SerialClob. Данные значения SQL CLOB могут быть реализованы на клиенте как поток символов Юникода.
SerialClob методы позволяют получить подстроку из объекта SerialClob или найти начало шаблона символов.
Безопасность потоков
Объект SerialClob не является потокобезопасным. Если SerialClob будет использоваться более чем одной нитью, доступ к SerialClob должен контролироваться соответствующей синхронизацией.
- См. также:
- Сериализованная форма
Конструкторы
| Конструктор и описание |
|---|
SerialClob(char[] ch) Создает объект |
SerialClob(Clob clob) Создает объект |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Object |
clone() Возвращает клон этого |
boolean |
equals(Object obj) Сравнивает этот SerialClob с заданным объектом. |
void |
free() Этот метод освобождает объект |
InputStream |
getAsciiStream() Возвращает значение |
Reader |
getCharacterStream() Возвращает данные этого объекта |
Reader |
getCharacterStream(long pos,
long length) Возвращает объект |
String |
getSubString(long pos,
int length) Возвращает копию подстроки, содержащейся в этом объекте |
int |
hashCode() Возвращает хэш-код для этого |
long |
length() Возвращает количество символов в массиве символов этого объекта |
long |
position(Clob searchStr,
long start) Возвращает позицию в этом объекте |
long |
position(String searchStr,
long start) Возвращает позицию в этом объекте |
OutputStream |
setAsciiStream(long pos) Возвращает поток, который используется для записи символов ASCII в значение |
Writer |
setCharacterStream(long pos) Возвращает поток, который используется для записи потока символов Юникода в значение |
int |
setString(long pos,
String str) Записывает данный Java |
int |
setString(long pos,
String str,
int offset,
int length) Записывает |
void |
truncate(long length) Усекает значение |
Методы, унаследованные от класса java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait Конструкторы
SerialClob
public SerialClob(char[] ch)
throws SerialException,
SQLException Создаёт объект SerialClob, являющийся сериализованной версией заданного массива char.
Новый объект SerialClob инициализируется данными из массива char, что позволяет отключённым объектам RowSet создать сериализованный объект Clob без обращения к источнику данных.
- Параметры:
-
ch— массив char, представляющий сериализуемый объектClob - Исключения:
-
SerialException— если произошла ошибка во время сериализации -
SQLException— если произошла ошибка SQL
SerialClob
public SerialClob(Clob clob)
throws SerialException,
SQLException Создаёт объект SerialClob, являющийся сериализованной версией заданного объекта Clob.
Новый объект SerialClob инициализируется данными из объекта Clob , следовательно, объект Clob должен был ранее получить данные SQL значения CLOB со стороны базы данных на клиент. В противном случае новый объект SerialClob будет пустым.
Примечание: объект Clob , переданный в этот конструктор, должен возвращать ненулевые значения для методов Clob.getCharacterStream() и Clob.getAsciiStream . Этот конструктор SerialClob не может сериализовать объект Clob в этом случае и выбросит исключение SQLException.
- Параметры:
-
clob— объектClob, из которого должен быть создан объектSerialClob; не может быть null - Исключения:
-
SerialException— если произошла ошибка во время сериализации -
SQLException— если произошла ошибка SQL при получении значения CLOB; если объектClobравен null; или если методыClob.getCharacterStream()иClob.getAsciiStream()объектаClobвозвращают null - См. также:
Clob
Методы
length
public long length()
throws SerialException Возвращает количество символов в массиве символов объекта SerialClob.
- Определено в:
-
lengthв интерфейсеClob - Возвращает:
- значение
long, указывающее на длину в символах массива символов объектаSerialClob - Исключения:
-
SerialException— если произошла ошибка; если методfreeбыл ранее вызван для этого объекта
getCharacterStream
public Reader getCharacterStream()
throws SerialException Возвращает данные этого объекта SerialClob в виде потока символов Юникода. В отличие от родственного метода getAsciiStream, поток создаётся независимо от того, был ли объект SerialClob создан с использованием объекта Clob или массива char.
- Определено в:
-
getCharacterStreamв интерфейсеClob - Возвращает:
- объект
java.io.Reader, содержащий данные этого объектаSerialClob - Исключения:
-
SerialException— если произошла ошибка; если методfreeбыл ранее вызван для этого объекта - См. также:
Clob.setCharacterStream(long)
getAsciiStream
public InputStream getAsciiStream()
throws SerialException,
SQLException Возвращает значение CLOB , обозначенное этим объектом SerialClob , в виде потока ASCII. Этот метод передаёт вызов getAsciiStream базовому объекту Clob , если этот объект SerialClob создан с использованием объекта Clob . Если этот объект SerialClob создан с использованием массива char , выбрасывается исключение SerialException.
- Определено в:
-
getAsciiStreamв интерфейсеClob - Возвращает:
- объект
java.io.InputStream, содержащий данные этого объектаSerialClob - Исключения:
-
SerialException— если этот объектSerialClobне был создан с использованием объектаClob; если методfreeбыл ранее вызван для этого объекта -
SQLException— если при доступе к значениюCLOB, представленному объектомClob, используемым для создания этого объектаSerialClob, произошла ошибка - См. также:
Clob.setAsciiStream(long)
getSubString
public String getSubString(long pos,
int length)
throws SerialException Возвращает копию подстроки, содержащейся в этом объекте SerialClob , начиная с заданной позиции и продолжая на указанное число символов.
- Определено в:
-
getSubStringв интерфейсеClob - Параметры:
-
pos— позиция первого символа подстроки для копирования; первый символ объектаSerialClobнаходится на позиции1; не должно быть меньше1, а сумма начальной позиции и длины подстроки должна быть меньше длины объектаSerialClob -
length— количество символов в подстроке, которое должно быть возвращено; не должно быть больше длины объектаSerialClob, и сумма начальной позиции и длины подстроки должна быть меньше длины объектаSerialClob - Возвращает:
- объект
String, содержащий подстроку этого объектаSerialClob, начиная с заданной позиции и содержащий указанное количество последовательных символов - Исключения:
-
SerialException— если какой-либо из аргументов выходит за пределы допустимых значений; если методfreeбыл ранее вызван для этого объекта
position
public long position(String searchStr,
long start)
throws SerialException,
SQLException Возвращает позицию в этом объекте SerialClob , где начинается заданный объект String , начав поиск с указанной позиции. Возвращает -1 , если шаблон не найден.
- Определено в:
-
positionв интерфейсеClob - Параметры:
-
searchStr— объектStringдля поиска -
start— позиция в этом объектеSerialClob, с которой начать поиск; первая позиция —1; не должно быть меньше1ни больше длины объектаSerialClob - Возвращает:
- позицию, в которой начинается заданный объект
String, начав поиск с указанной позиции;-1, если заданный объектStringне найден или начальная позиция недопустима; нумерация позиций для возвращаемого значения начинается с1 - Исключения:
-
SerialException— если методfreeбыл ранее вызван для этого объекта -
SQLException— если произошла ошибка при доступе к значению CLOB из базы данных.
position
public long position(Clob searchStr,
long start)
throws SerialException,
SQLException Возвращает позицию в этом объекте SerialClob , где начинается заданный объект Clob , начав поиск с указанной позиции. Возвращает -1 , если шаблон не найден.
- Определено в:
-
positionв интерфейсеClob - Параметры:
-
searchStr— объектClobдля поиска -
start— позиция в этом объектеSerialClob, с которой начать поиск; первая позиция —1; не должно быть меньше1ни больше длины объектаSerialClob - Возвращает:
- позицию, в которой начинается заданный объект
Clobв этом объектеSerialClob, начиная с указанной начальной позиции. - Исключения:
-
SerialException— если произошла ошибка при поиске подписи CLOB; если методfreeбыл ранее вызван для этого объекта -
SQLException— если произошла ошибка при доступе к значению CLOB из базы данных
setString
public int setString(long pos,
String str)
throws SerialException Записывает заданную строку Java String в значение CLOB , представленное этим объектом SerialClob , по позиции pos.
- Определено в:
-
setStringв интерфейсеClob - Параметры:
-
pos— позиция, с которой начать запись в значениеCLOB, представленное этим объектомSerialClob; первая позиция —1; не должно быть меньше1ни больше длины объектаSerialClob -
str— строка, которая должна быть записана в значениеCLOB, представленное этим объектомSerialClob - Возвращает:
- количество записанных символов
- Исключения:
-
SerialException— если при доступе к значениюCLOBпроизошла ошибка; если задана недопустимая позиция; если установлено недопустимое смещение; если количество байтов для записи больше длиныSerialClob; или если объединённые значения длины и смещения больше буфера CLOB; если методfreeбыл ранее вызван для этого объекта
setString
public int setString(long pos,
String str,
int offset,
int length)
throws SerialException Записывает len символов из строки str, начиная с символа offset, в значение CLOB , представленное этим объектом Clob.
- Определено в:
-
setStringв интерфейсеClob - Параметры:
-
pos- позиция для начала записи в значениеCLOB, представляемое этим объектомSerialClob; первая позиция —1; не должно быть меньше1и больше длины этого объектаSerialClob -
str- строка, которая будет записана в значениеCLOB, представляемое этим объектомClob -
offset- смещение вstrдля начала чтения символов для записи -
length- количество символов для записи - Возвращает:
- количество записанных символов
- Выбрасывает:
-
SerialException- если возникла ошибка доступа к значениюCLOB; если установлена недопустимая позиция; если установлено недопустимое смещение; если количество байтов для записи больше длиныSerialClob; или если суммарное значение длины и смещения больше буфера Clob; если методfreeбыл ранее вызван для этого объекта
setAsciiStream
public OutputStream setAsciiStream(long pos)
throws SerialException,
SQLException Получает поток для записи символов Ascii в значение CLOB, представляемое этим объектом SerialClob, начиная с позиции pos. Этот метод перенаправляет вызов setAsciiStream() к объекту Clob в случае, если этот объект SerialClob создан с объектом Clob. Если этот объект SerialClob создан с массивом char, выбрасывается объект SerialException.
- Определено в:
-
setAsciiStreamв интерфейсеClob - Параметры:
-
pos- позиция для начала записи в объектCLOB - Возвращает:
- поток, в который можно записывать символы, закодированные в ASCII
- Выбрасывает:
-
SerialException- если SerialClob не создан с объектом Clob; если методfreeбыл ранее вызван для этого объекта -
SQLException- если возникла ошибка доступа к значениюCLOB - См. также:
getAsciiStream()
setCharacterStream
public Writer setCharacterStream(long pos)
throws SerialException,
SQLException Получает поток для записи потока символов Unicode в значение CLOB, представляемое этим объектом SerialClob, на позиции pos. Этот метод перенаправляет вызов setCharacterStream() к объекту Clob в случае, если этот объект SerialClob создан с объектом Clob. Если этот объект SerialClob создан с массивом char, выбрасывается SerialException.
- Определено в:
-
setCharacterStreamв интерфейсеClob - Параметры:
-
pos- позиция для начала записи в значениеCLOB - Возвращает:
- поток, в который можно записывать символы, закодированные в Unicode
- Выбрасывает:
-
SerialException- если SerialClob не создан с объектом Clob; если методfreeбыл ранее вызван для этого объекта -
SQLException- если возникла ошибка доступа к значениюCLOB - См. также:
getCharacterStream()
truncate
public void truncate(long length)
throws SerialException Усекает значение CLOB, представляемое этим объектом SerialClob, так, чтобы его длина составляла len символов.
Усечение объекта SerialClob до длины 0 приводит к очистке его содержимого.
- Определено в:
-
truncateв интерфейсеClob - Параметры:
-
length- длина в байтах, до которой следует усечь значениеCLOB - Выбрасывает:
-
SerialException- если возникла ошибка доступа к значениюCLOB; если методfreeбыл ранее вызван для этого объекта
getCharacterStream
public Reader getCharacterStream(long pos,
long length)
throws SQLException Возвращает объект Reader, содержащий частичное значение SerialClob, начиная с символа, указанного pos, длина которого равна length.
- Определено в:
-
getCharacterStreamв интерфейсеClob - Параметры:
-
pos- смещение до первого символа частичного значения для извлечения. Первый символ вSerialClobнаходится на позиции 1. -
length- длина в символах частичного значения для извлечения. - Возвращает:
-
Readerдля чтения частичного значенияSerialClob. - Выбрасывает:
-
SQLException- если pos меньше 1 или если pos больше количества символов вSerialClobили если pos + length больше количества символов вSerialClob; -
SerialException- если методfreeбыл ранее вызван для этого объекта - С:
- 1.6
free
public void free()
throws SQLException Этот метод освобождает объект SeriableClob и освобождает ресурсы, которые он удерживает. Объект становится недоступным после вызова метода free.
Если free вызывается несколько раз, последующие вызовы free обрабатываются как no-op.
- Определено в:
-
freeв интерфейсеClob - Выбрасывает:
-
SQLException- если произошла ошибка при освобождении ресурсов Clob - С:
- 1.6
equals
public boolean equals(Object obj)
Сравнивает этот SerialClob с указанным объектом. Результат — true, если и только если аргумент не null и является объектом SerialClob, представляющим ту же последовательность символов, что и этот объект.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- Объект для сравнения с этим объектомSerialClob - Возвращает:
-
trueесли данный объект представляет эквивалентSerialClobэтого SerialClob,falseв противном случае - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает хэш-код для этого SerialClob.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
clone
public Object clone()
Возвращает копию этого объекта SerialClob. Копия будет содержать ссылку на копию внутреннего символьного массива, а не на ссылку на исходный внутренний символьный массив этого объекта SerialClob . Внутренний объект Clob будет установлен в null.
© 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.