Класс SerialArray
- Все реализуемые интерфейсы:
Serializable, Cloneable, Array
public class SerialArray extends Object implements Array, Serializable, Cloneable
Array, представляющего собой сопоставление значения SQL ARRAY в языке программирования Java. Класс SerialArray предоставляет конструктор для создания экземпляра SerialArray из объекта Array, методы для получения базового типа и имени SQL для базового типа, а также методы для копирования всего объекта SerialArray или его части.
Примечание. Для корректной работы этого класса при необходимости материализации объекта SQL Array (переноса всех его элементов на клиентский сервер) должно быть доступно подключение к источнику данных. В настоящее время логические указатели на данные в источнике данных, например локаторы, не поддерживаются.
Потокобезопасность
Объект SerialArray небезопасен для использования несколькими параллельными потоками. Если объект SerialArray используется более чем одним потоком, доступ к нему следует контролировать с помощью соответствующей синхронизации.- Начиная с версии:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SerialArray |
Создает новый объект SerialArray из заданного объекта Array. |
SerialArray |
Создает новый объект SerialArray из заданного объекта Array, используя заданную карту типов для пользовательского сопоставления каждого элемента, если элементы являются SQL UDT. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Возвращает клон этого объекта SerialArray. |
boolean |
equals |
Сравнивает этот SerialArray с указанным объектом. |
void |
free() |
Этот метод освобождает объект SerialArray и высвобождает удерживаемые им ресурсы. |
Object |
getArray() |
Возвращает новый массив, являющийся копией этого объекта SerialArray. |
Object |
getArray |
Возвращает новый массив, являющийся копией среза этого объекта SerialArray, начиная с элемента с заданным индексом и включающего заданное количество последовательных элементов. |
Object |
getArray |
Возвращает новый массив, являющийся копией среза этого объекта SerialArray, начиная с элемента с заданным индексом и включающего заданное количество последовательных элементов. |
Object |
getArray |
Возвращает новый массив, являющийся копией этого объекта SerialArray, используя заданную карту типов для пользовательского сопоставления каждого элемента, если элементы являются SQL UDT. |
int |
getBaseType() |
Получает тип SQL элементов этого объекта SerialArray. |
String |
getBaseTypeName() |
Получает имя типа, специфичное для СУБД, для элементов этого объекта SerialArray. |
ResultSet |
getResultSet() |
Получает объект ResultSet, содержащий все элементы значения ARRAY, представленного этим объектом SerialArray. |
ResultSet |
getResultSet |
Получает объект ResultSet, содержащий элементы подмассива, начинающегося с индекса index и включающего до count последовательных элементов. |
ResultSet |
getResultSet |
Получает набор результатов с элементами подмассива, начинающегося с Получает объект ResultSet, содержащий подмассив элементов этого объекта SerialArray, начиная с индекса index и включающий до count последовательных элементов. |
ResultSet |
getResultSet |
Получает объект ResultSet, содержащий все элементы значения SQL ARRAY, представленного этим объектом SerialArray. |
int |
hashCode() |
Возвращает хеш-код этого SerialArray. |
Подробное описание конструкторов
SerialArray
public SerialArray(Array array, Map<String,Class<?>> map) throws SerialException, SQLException
SerialArray из заданного объекта Array, используя заданную карту типов для пользовательского сопоставления каждого элемента, если элементы являются SQL UDT. Этот метод выполняет пользовательское сопоставление, если элементы массива являются UDT и заданная карта типов содержит запись для этого UDT. Пользовательское сопоставление выполняется рекурсивно: например, если элемент структурированного типа SQL сам является структурированным типом SQL, содержащим элемент, который также является структурированным типом SQL, каждый структурированный тип с пользовательским сопоставлением будет сопоставлен в соответствии с заданной картой типов.
Новый объект SerialArray содержит те же элементы, что и объект Array, на основе которого он создан, за исключением случаев, когда базовым типом является тип SQL STRUCT, ARRAY, BLOB, CLOB, DATALINK или JAVA_OBJECT. В этом случае каждый элемент нового объекта SerialArray представляет собой соответствующую сериализованную форму, то есть объект SerialStruct, SerialArray, SerialBlob, SerialClob, SerialDatalink или SerialJavaObject.
Примечание (1). Объект Array, на основе которого создается объект SerialArray, должен материализовать данные значения SQL ARRAY на клиенте до передачи конструктору. В противном случае новый объект SerialArray не будет содержать данных.
Примечание (2). Если объект Array содержит типы java.sql.Types.JAVA_OBJECT, вызывается конструктор SerialJavaObject, который проверяет сериализуемость этого объекта.
Примечание (3). Объект Array, переданный этому конструктору, не может возвращать null для каких-либо методов Array.getArray(). SerialArray не может сериализовать значения null массива.
- Параметры:
-
array— объектArray, который нужно сериализовать -
map— объектjava.util.Map, в котором каждая запись состоит из 1) объектаString, содержащего полное имя UDT (структурированного или различимого типа SQL), и 2) объектаClassдля реализацииSQLData, определяющей способ сопоставления UDT. Параметр map не влияет на типыBlob,Clob,DATALINKилиJAVA_OBJECT. - Исключения:
-
SerialException— если при сериализации объектаArrayпроизошла ошибка -
SQLException— если произошла ошибка доступа к базе данных или значения array либо map равныnull
SerialArray
public SerialArray(Array array) throws SerialException, SQLException
SerialArray из заданного объекта Array. Этот конструктор не выполняет пользовательское сопоставление. Если базовый тип массива является структурированным типом SQL и требуется пользовательское сопоставление, следует использовать конструктор SerialArray(Array array, Map map).
Новый объект SerialArray содержит те же элементы, что и объект Array, на основе которого он создан, за исключением случаев, когда базовым типом является тип SQL BLOB, CLOB, DATALINK или JAVA_OBJECT. В этом случае каждый элемент нового объекта SerialArray представляет собой соответствующую сериализованную форму, то есть объект SerialBlob, SerialClob, SerialDatalink или SerialJavaObject.
Примечание (1). Объект Array, на основе которого создается объект SerialArray, должен материализовать данные значения SQL ARRAY на клиенте до передачи конструктору. В противном случае новый объект SerialArray не будет содержать данных.
Примечание (2). Объект Array, переданный этому конструктору, не может возвращать null для каких-либо методов Array.getArray(). SerialArray не может сериализовать значения массива null.
- Параметры:
-
array— объектArray, который нужно сериализовать - Исключения:
-
SerialException— если при сериализации объектаArrayпроизошла ошибка -
SQLException— если произошла ошибка доступа к базе данных или параметр array равенnull.
Подробное описание методов
free
public void free() throws SQLException
SerialArray и высвобождает удерживаемые им ресурсы. После вызова метода free объект становится недействительным. Если метод free вызывается несколько раз, последующие вызовы free не выполняют никаких действий.
- Определено в:
-
freeв интерфейсеArray - Исключения:
-
SQLException— если при освобождении ресурсов SerialArray произошла ошибка - Начиная с версии:
- 1.6
getArray
public Object getArray() throws SerialException
SerialArray.- Определено в:
-
getArrayв интерфейсеArray - Возвращает:
- копию этого объекта
SerialArrayв виде массиваObjectв языке программирования Java - Исключения:
-
SerialException— если произошла ошибка; если для этого объекта ранее был вызван методfree
getArray
public Object getArray(Map<String,Class<?>> map) throws SerialException
SerialArray, используя заданную карту типов для пользовательского сопоставления каждого элемента, если элементы являются SQL UDT. Этот метод выполняет пользовательское сопоставление, если элементы массива являются UDT и заданная карта типов содержит запись для этого UDT. Пользовательское сопоставление выполняется рекурсивно: например, если элемент структурированного типа SQL сам является структурированным типом SQL, содержащим элемент, который также является структурированным типом SQL, каждый структурированный тип с пользовательским сопоставлением будет сопоставлен в соответствии с заданной картой типов.
- Определено в:
-
getArrayв интерфейсеArray - Параметры:
-
map— объектjava.util.Map, в котором каждая запись состоит из 1) объектаString, содержащего полное имя UDT, и 2) объектаClassдля реализацииSQLData, определяющей способ сопоставления UDT - Возвращает:
- копию этого объекта
SerialArrayв виде массиваObjectв языке программирования Java - Исключения:
-
SerialException— если произошла ошибка; если для этого объекта ранее был вызван методfree
getArray
public Object getArray(long index, int count) throws SerialException
SerialArray, начиная с элемента с заданным индексом и включающего заданное количество последовательных элементов.- Определено в:
-
getArrayв интерфейсеArray - Параметры:
-
index— индекс первого копируемого элемента в этом объектеSerialArray; индекс первого элемента равен0 -
count— количество последовательных элементов, которые нужно скопировать, начиная с заданного индекса - Возвращает:
- копию указанных элементов этого объекта
SerialArrayв виде массиваObjectв языке программирования Java - Исключения:
-
SerialException— если произошла ошибка; если для этого объекта ранее был вызван методfree
getArray
public Object getArray(long index, int count, Map<String,Class<?>> map) throws SerialException
SerialArray, начиная с элемента с заданным индексом и включающего заданное количество последовательных элементов. Этот метод выполняет пользовательское сопоставление, если элементы массива являются UDT и заданная карта типов содержит запись для этого UDT. Пользовательское сопоставление выполняется рекурсивно: например, если элемент структурированного типа SQL сам является структурированным типом SQL, содержащим элемент, который также является структурированным типом SQL, каждый структурированный тип с пользовательским сопоставлением будет сопоставлен в соответствии с заданной картой типов.
- Определено в:
-
getArrayв интерфейсеArray - Параметры:
-
index— индекс первого копируемого элемента в этом объектеSerialArray; индекс первого элемента массива равен0 -
count— количество последовательных элементов, которые нужно скопировать, начиная с заданного индекса -
map— объектjava.util.Map, в котором каждая запись состоит из 1) объектаString, содержащего полное имя UDT, и 2) объектаClassдля реализацииSQLData, определяющей способ сопоставления UDT - Возвращает:
- копию указанных элементов этого объекта
SerialArrayв виде массиваObjectв языке программирования Java - Исключения:
-
SerialException— если произошла ошибка; если для этого объекта ранее был вызван методfree
getBaseType
public int getBaseType() throws SerialException
SerialArray. Возвращаемое значение int является одной из констант класса java.sql.Types.- Определено в:
-
getBaseTypeв интерфейсеArray - Возвращает:
- одну из констант
java.sql.Types, указывающую тип SQL элементов этого объектаSerialArray - Исключения:
-
SerialException— если произошла ошибка; если для этого объекта ранее был вызван методfree
getBaseTypeName
public String getBaseTypeName() throws SerialException
SerialArray.- Определено в:
-
getBaseTypeNameв интерфейсеArray - Возвращает:
- имя типа SQL, используемое СУБД для базового типа этого объекта
SerialArray - Исключения:
-
SerialException— если произошла ошибка; если для этого объекта ранее был вызван методfree
getResultSet
public ResultSet getResultSet(long index, int count) throws SerialException
ResultSet, содержащий элементы подмассива, который начинается с индекса index и включает до count последовательных элементов. Этот метод использует карту типов соединения для сопоставления элементов массива, если карта содержит запись для базового типа. В противном случае используется стандартное сопоставление.- Определено в:
-
getResultSetв интерфейсеArray - Параметры:
-
index— индекс первого копируемого элемента в этом объектеSerialArray; индекс первого элемента массива равен0 -
count— количество последовательных элементов, которые нужно скопировать, начиная с заданного индекса - Возвращает:
- объект
ResultSet, содержащий указанные элементы этого объектаSerialArray, с отдельной строкой для каждого элемента - Исключения:
-
SerialException— если вызван с причиной, установленной вUnsupportedOperationException
getResultSet
public ResultSet getResultSet(Map<String,Class<?>> map) throws SerialException
ResultSet, содержащий все элементы значения SQL ARRAY, представленного этим объектом SerialArray. Этот метод использует указанную карту для настройки сопоставления типов, если базовый тип массива соответствует определяемому пользователем типу (UDT) в map; в противном случае используется стандартное сопоставление. Эта версия метода getResultSet использует либо заданную карту типов, либо стандартное сопоставление; карта типов, связанная с соединением, не используется.- Определено в:
-
getResultSetв интерфейсеArray - Параметры:
-
map— объектjava.util.Map, в котором каждая запись состоит из 1) объектаString, содержащего полное имя UDT, и 2) объектаClassдля реализацииSQLData, определяющей способ сопоставления UDT - Возвращает:
- объект
ResultSet, содержащий все элементы этого объектаSerialArray, с отдельной строкой для каждого элемента - Исключения:
-
SerialException— если вызван с причиной, установленной вUnsupportedOperationException
getResultSet
public ResultSet getResultSet() throws SerialException
ResultSet, содержащий все элементы значения ARRAY, представленного этим объектом SerialArray. Если это уместно, элементы массива сопоставляются с использованием карты типов соединения; в противном случае используется стандартное сопоставление.- Определено в:
-
getResultSetв интерфейсеArray - Возвращает:
- объект
ResultSet, содержащий все элементы этого объектаSerialArray, с отдельной строкой для каждого элемента - Исключения:
-
SerialException— если вызван с причиной, установленной вUnsupportedOperationException
getResultSet
public ResultSet getResultSet(long index, int count, Map<String,Class<?>> map) throws SerialException
ResultSet, содержащий подмассив элементов этого объекта SerialArray, начиная с индекса index и включающий до count последовательных элементов. Этот метод использует указанную карту для настройки сопоставления типов, если базовый тип массива соответствует определяемому пользователем типу (UDT) в map; в противном случае используется стандартное сопоставление. Эта версия метода getResultSet использует либо заданную карту типов, либо стандартное сопоставление; карта типов, связанная с соединением, не используется.- Определено в:
-
getResultSetв интерфейсеArray - Параметры:
-
index— индекс первого копируемого элемента в этом объектеSerialArray; индекс первого элемента массива равен0 -
count— количество последовательных элементов, которые нужно скопировать, начиная с заданного индекса -
map— объектjava.util.Map, в котором каждая запись состоит из 1) объектаString, содержащего полное имя UDT, и 2) объектаClassдля реализацииSQLData, определяющей способ сопоставления UDT - Возвращает:
- объект
ResultSet, содержащий указанные элементы этого объектаSerialArray, с отдельной строкой для каждого элемента - Исключения:
-
SerialException— если вызван с причиной, установленной вUnsupportedOperationException
equals
public boolean equals(Object obj)
true тогда и только тогда, когда аргумент не равен null и является объектом
SerialArray, элементы которого идентичны элементам этого объекта.hashCode
clone
© 1993, 2025, 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/25/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialArray.html