Класс SerialClob
- Все реализованные интерфейсы:
-
Serializable,Cloneable,Clob
public class SerialClob extends Object implements Clob, Serializable, Cloneable
CLOB. Класс SerialClob предоставляет конструктор для создания экземпляра из объекта Clob. Обратите внимание, что объект Clob должен был передать данные значения SQL CLOB на клиент перед тем, как из него будет создан объект SerialClob. Данные значения SQL CLOB могут быть материализованы на клиенте в виде потока символов Юникода.
Методы SerialClob позволяют получить подстроку из объекта SerialClob или найти начало шаблона символов.
Безопасность потоков
Объект SerialClob не безопасен для использования несколькими потоками одновременно. Если SerialClob должен использоваться более чем одним потоком, то доступ к SerialClob должен контролироваться соответствующей синхронизацией.
- С тех пор:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SerialClob |
Создает объект SerialClob, который представляет сериализованную версию заданного массива char. |
SerialClob |
Создает объект SerialClob, который представляет сериализованную версию заданного объекта Clob. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Возвращает копию этого объекта SerialClob. |
boolean |
equals |
Сравнивает этот SerialClob с указанным объектом. |
void |
free() |
Этот метод освобождает объект SerialClob и освобождает ресурсы, которые он удерживает. |
InputStream |
getAsciiStream() |
Возвращает значение CLOB , указанное этим объектом SerialClob, в виде ASCII-потока. |
Reader |
getCharacterStream() |
Возвращает данные этого объекта SerialClob в виде потока символов Юникода. |
Reader |
getCharacterStream |
Возвращает объект Reader, содержащий частичное значение SerialClob, начиная с символа, указанного в pos, длина которого составляет length символов. |
String |
getSubString |
Возвращает копию подстроки, содержащейся в этом объекте SerialClob, начиная с заданной позиции и продолжая для указанного количества символов. |
int |
hashCode() |
Возвращает хэш-код для этого объекта SerialClob. |
long |
length() |
Возвращает количество символов в массиве символов этого объекта SerialClob. |
long |
position |
Возвращает позицию в этом объекте SerialClob, где начинается заданный объект String, начав поиск с указанной позиции. |
long |
position |
Возвращает позицию в этом объекте SerialClob, где начинается заданная подпись Clob, начав поиск с указанной позиции. |
OutputStream |
setAsciiStream |
Возвращает поток для записи символов ASCII в значение CLOB , которое представляет этот объект SerialClob, начиная с позиции pos. |
Writer |
setCharacterStream |
Возвращает поток для записи потока символов Юникода в значение CLOB , которое представляет этот объект SerialClob, на позиции pos. |
int |
setString |
Записывает заданное значение Java String в значение CLOB , которое представляет этот объект SerialClob, в позиции pos. |
int |
setString |
Записывает len символов str, начиная с символа offset, в значение CLOB , которое представляет этот объект Clob. |
void |
truncate |
Усекает значение CLOB , которое представляет этот объект SerialClob, так, чтобы его длина составляла len символа. |
Подробное описание конструкторов
SerialClob
public SerialClob(char[] ch) throws SerialException, SQLException
Новый объект SerialClob инициализируется данными из массива char, что позволяет отключённым объектам установить сериализованный объект SerialClob без доступа к источнику данных.
- Параметры:
-
ch- массив символов, представляющий сериализуемый объект - Исключения:
-
SerialException- если возникла ошибка во время сериализации -
SQLException- если возникла ошибка SQL
SerialClob
public SerialClob(Clob clob) throws SerialException, SQLException
Новый объект SerialClob инициализируется данными из объекта Clob. Объект Clob должен был предварительно загрузить данные SQL-значения CLOB на клиентскую сторону из базы данных. В противном случае новый объект SerialClob не будет содержать данных.
Примечание: Объект Clob, переданный в этот конструктор, должен возвращать не null для методов getCharacterStream() и length(). Этот конструктор не может сериализовать объект Clob в данном случае и выбросит исключение IllegalStateException.
- Параметры:
-
clob- объект Clob, из которого создаётся этот объект SerialClob; не может быть null - Исключения:
-
SerialException- если возникла ошибка во время сериализации -
SQLException- если возникает ошибка SQL при получении CLOB; если объект Clob null; или если методы getCharacterStream() и length() объекта Clob возвращают null - См. также:
Подробное описание методов
length
public long length() throws SerialException
- Унаследованно от:
-
lengthв интерфейсеClob - Возвращает:
- значение, указывающее длину в символах массива символов объекта SerialClob
- Исключения:
-
SerialException- если возникает ошибка; если метод length() был ранее вызван для этого объекта
getCharacterStream
public Reader getCharacterStream() throws SerialException
- Унаследованно от:
-
getCharacterStreamв интерфейсеClob - Возвращает:
- объект CharStream, содержащий данные этого объекта SerialClob
- Исключения:
-
SerialException- если возникает ошибка; если метод getCharacterStream() был ранее вызван для этого объекта - См. также:
getAsciiStream
public InputStream getAsciiStream() throws SerialException, SQLException
- Унаследованно от:
-
getAsciiStreamв интерфейсеClob - Возвращает:
- объект AsciiStream, содержащий данные этого объекта SerialClob
- Исключения:
-
SerialException- если объект SerialClob не был создан с использованием объекта Clob; если метод getAsciiStream() был ранее вызван для этого объекта -
SQLException- если возникает ошибка доступа к значению CLOB, представленному объектом Clob, использованным для создания этого объекта SerialClob - См. также:
getSubString
public String getSubString(long pos, int length) throws SerialException
- Унаследованно от:
-
getSubStringв интерфейсеClob - Параметры:
-
pos- позиция первого символа подстроки; первый символ объекта SerialClob находится на позиции 1; должно быть не меньше 1, и сумма начальной позиции и длины подстроки должна быть меньше длины объекта SerialClob -
length- количество символов в подстроке; не должно быть больше длины объекта SerialClob, и сумма начальной позиции и длины подстроки должна быть меньше длины объекта SerialClob - Возвращает:
- объект String, содержащий подстроку этого объекта SerialClob, начинающуюся с заданной позиции и содержащую указанное количество последовательных символов
- Исключения:
-
SerialException- если какой-либо из аргументов находится вне допустимого диапазона; если метод getSubString() был ранее вызван для этого объекта
position
public long position(String searchStr, long start) throws SerialException, SQLException
- Унаследованно от:
-
positionв интерфейсеClob - Параметры:
-
searchStr- строка, для поиска -
start- позиция в этом объекте SerialClob, с которой начать поиск; первая позиция - 1; не должно быть меньше 1 и не должно быть больше длины объекта SerialClob - Возвращает:
- позицию, с которой начинается заданная строка; -1, если заданная строка не найдена или начальная позиция находится вне допустимого диапазона; нумерация позиций возвращаемого значения начинается с 1
- Исключения:
-
SerialException- если метод position() был ранее вызван для этого объекта -
SQLException- если возникает ошибка доступа к значению CLOB из базы данных.
position
public long position(Clob searchStr, long start) throws SerialException, SQLException
- Унаследованно от:
-
positionв интерфейсеClob - Параметры:
-
searchStr- объект Clob для поиска -
start- позиция в этом объекте SerialClob, с которой начать поиск; первая позиция - 1; должно быть не меньше 1 и не должно быть больше длины объекта SerialClob - Возвращает:
- позицию, с которой начинается заданный объект Clob в этом объекте SerialClob, начиная с указанной начальной позиции
- Исключения:
-
SerialException- если возникает ошибка при поиске подстроки в Clob; если метод position() был ранее вызван для этого объекта -
SQLException- если возникает ошибка доступа к значению CLOB из базы данных.
setString
public int setString(long pos, String str) throws SerialException
- Унаследованно от:
-
setStringв интерфейсеClob - Параметры:
-
pos- позиция начала записи в значение CLOB; первая позиция - 1; не должно быть меньше 1 и не должно быть больше длины объекта SerialClob -
str- строка, записываемая в значение CLOB - Возвращает:
- количество записанных символов
- Исключения:
-
SerialException- если возникает ошибка доступа к значению CLOB; если задана недопустимая позиция; если задано недопустимое смещение; если количество записываемых байтов больше длины буфера CLOB; если суммарное значение длины и смещения превышает буфер CLOB; если метод setString() был ранее вызван для этого объекта
setString
public int setString(long pos, String str, int offset, int length) throws SerialException
len символов из str, начиная с символа offset, в значение CLOB, которое представляет этот Clob.- Specified by:
-
setStringв интерфейсеClob - Parameters:
-
pos- позиция, с которой начать запись в значениеCLOB, которое представляет этотSerialClobобъект; первая позиция —1; должна быть не меньше1и не больше длины этогоSerialClobобъекта -
str- строка, которая будет записана в значениеCLOB, которое представляет этотClobобъект -
offset- смещение вstrдля начала чтения символов, которые будут записаны -
length- количество символов, которые нужно записать - Returns:
- количество записанных символов
- Throws:
-
SerialException- если произошла ошибка при доступе к значениюCLOB; если установлена недопустимая позиция; если установлено недопустимое значение смещения; если количество байтов для записи больше, чем длинаSerialClob; или если комбинированные значения длины и смещения больше, чем буфер Clob; если методfreeбыл ранее вызван для этого объекта
setAsciiStream
public OutputStream setAsciiStream(long pos) throws SerialException, SQLException
CLOB, которое представляет этот SerialClob объект, начиная с позиции pos. Этот метод перенаправляет вызов setAsciiStream() к объекту Clob в том случае, если этот SerialClob объект инициализирован с объектом Clob. Если этот SerialClob объект инициализирован с массивом char, выбросится объект SerialException.- Specified by:
-
setAsciiStreamв интерфейсеClob - Parameters:
-
pos- позиция, с которой начать запись в объектCLOB - Returns:
- поток, в который можно записать символы ASCII
- Throws:
-
SerialException- если SerialClob не инициализирован с объектом Clob; если методfreeбыл ранее вызван для этого объекта -
SQLException- если произошла ошибка при доступе к значениюCLOB - See Also:
setCharacterStream
public Writer setCharacterStream(long pos) throws SerialException, SQLException
CLOB, которое представляет этот SerialClob объект, на позиции pos. Этот метод перенаправляет вызов setCharacterStream() к объекту Clob в том случае, если этот SerialClob объект инициализирован с объектом Clob. Если этот SerialClob объект инициализирован с массивом char, выбросится SerialException.- Specified by:
-
setCharacterStreamв интерфейсеClob - Parameters:
-
pos- позиция, с которой начать запись в значениеCLOB - Returns:
- поток, в который можно записать символы Unicode
- Throws:
-
SerialException- если SerialClob не инициализирован с объектом Clob; если методfreeбыл ранее вызван для этого объекта -
SQLException- если произошла ошибка при доступе к значениюCLOB - See Also:
truncate
public void truncate(long length) throws SerialException
CLOB, которое представляет этот SerialClob объект, так чтобы его длина составляла len символов. Усечение объекта SerialClob до длины 0 приводит к очистке его содержимого.
- Specified by:
-
truncateв интерфейсеClob - Parameters:
-
length- длина в байтах, до которой должно быть усечено значениеCLOB - Throws:
-
SerialException- если произошла ошибка при доступе к значениюCLOB; если методfreeбыл ранее вызван для этого объекта
getCharacterStream
public Reader getCharacterStream(long pos, long length) throws SQLException
Reader, содержащий частичное значение SerialClob, начиная с символа, указанного pos, длина которого составляет length символов.- Specified by:
-
getCharacterStreamв интерфейсеClob - Parameters:
-
pos- смещение до первого символа частичного значения, которое нужно получить. Первый символ вSerialClobнаходится на позиции 1. -
length- длина в символах частичного значения, которое нужно получить. - Returns:
-
Reader, через который можно прочитать частичное значениеSerialClob. - Throws:
-
SQLException- если pos меньше 1 или если pos больше количества символов вSerialClobили если pos + length больше количества символов вSerialClob; -
SerialException- если методfreeбыл ранее вызван для этого объекта - Since:
- 1.6
free
public void free() throws SQLException
SerialClob и высвобождает ресурсы, которые он удерживает. Объект считается недействительным после вызова метода free. Если free вызывается несколько раз, последующие вызовы free обрабатываются как no-op.
- Specified by:
-
freeв интерфейсеClob - Throws:
-
SQLException- если при высвобождении ресурсов Clob произошла ошибка - Since:
- 1.6
equals
public boolean equals(Object obj)
true тогда и только тогда, когда аргумент не null и является объектом
SerialClob , который представляет ту же последовательность символов, что и этот объект.- Overrides:
-
equalsв классеObject - Parameters:
-
obj- Объект для сравнения с этимSerialClob - Returns:
-
trueесли данный объект представляетSerialClobэквивалент этому SerialClob,falseв противном случае - See Also:
hashCode
public int hashCode()
SerialClob.- Overrides:
-
hashCodeв классеObject - Returns:
- значение кода хэша для этого объекта.
- See Also:
clone
public Object clone()
SerialClob. Копия будет содержать ссылку на клон внутреннего символьного массива, а не ссылку на исходный внутренний символьный массив этого объекта SerialClob . Объект Clob будет установлен в null.- Overrides:
-
cloneв классеObject - Returns:
- клон этого SerialClob
- See Also:
© 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/SerialClob.html