Класс 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 будет использоваться более чем одним потоком, доступ к SerialArray должен контролироваться соответствующей синхронизацией.- C момента:
- 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, содержащий все элементы в значении SQL 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 не может сериализовать нулевые значения массивов.
- Параметры:
-
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 обрабатываются как no-op.
- Определено в:
-
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. Возвращаемое значение является одной из констант в классе 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://download.java.net/java/early_access/jdk24/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialArray.html