Spec-Zone.ru › OpenJDK 25

Класс SerialArray

java.lang.Object
javax.sql.rowset.serial.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(Array array)
Создает новый объект SerialArray из заданного объекта Array.
SerialArray(Array array, Map<String,Class<?>> map)
Создает новый объект SerialArray из заданного объекта Array, используя заданную карту типов для пользовательского сопоставления каждого элемента, если элементы являются SQL UDT.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()
Возвращает клон этого объекта SerialArray.
boolean equals(Object obj)
Сравнивает этот SerialArray с указанным объектом.
void free()
Этот метод освобождает объект SerialArray и высвобождает удерживаемые им ресурсы.
Object getArray()
Возвращает новый массив, являющийся копией этого объекта SerialArray.
Object getArray(long index, int count)
Возвращает новый массив, являющийся копией среза этого объекта SerialArray, начиная с элемента с заданным индексом и включающего заданное количество последовательных элементов.
Object getArray(long index, int count, Map<String,Class<?>> map)
Возвращает новый массив, являющийся копией среза этого объекта SerialArray, начиная с элемента с заданным индексом и включающего заданное количество последовательных элементов.
Object getArray(Map<String,Class<?>> map)
Возвращает новый массив, являющийся копией этого объекта SerialArray, используя заданную карту типов для пользовательского сопоставления каждого элемента, если элементы являются SQL UDT.
int getBaseType()
Получает тип SQL элементов этого объекта SerialArray.
String getBaseTypeName()
Получает имя типа, специфичное для СУБД, для элементов этого объекта SerialArray.
ResultSet getResultSet()
Получает объект ResultSet, содержащий все элементы значения ARRAY, представленного этим объектом SerialArray.
ResultSet getResultSet(long index, int count)
Получает объект ResultSet, содержащий элементы подмассива, начинающегося с индекса index и включающего до count последовательных элементов.
ResultSet getResultSet(long index, int count, Map<String,Class<?>> map)
Получает набор результатов с элементами подмассива, начинающегося с Получает объект ResultSet, содержащий подмассив элементов этого объекта SerialArray, начиная с индекса index и включающий до count последовательных элементов.
ResultSet getResultSet(Map<String,Class<?>> map)
Получает объект ResultSet, содержащий все элементы значения SQL ARRAY, представленного этим объектом SerialArray.
int hashCode()
Возвращает хеш-код этого SerialArray.

Методы, объявленные в классе Object

finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

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
Получает тип SQL элементов этого объекта 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)
Сравнивает этот SerialArray с указанным объектом. Результат равен true тогда и только тогда, когда аргумент не равен null и является объектом SerialArray, элементы которого идентичны элементам этого объекта.
Переопределяет:
equals в классе Object
Параметры:
obj — объект, с которым нужно сравнить этот SerialArray
Возвращает:
true, если заданный объект представляет SerialArray, эквивалентный этому SerialArray; в противном случае — false
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хеш-код этого SerialArray. Хеш-код объекта SerialArray вычисляется с использованием хеш-кодов элементов объекта SerialArray.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

clone

public Object clone()
Возвращает клон этого объекта SerialArray. Копия будет содержать ссылку на клон массива базовых объектов, а не ссылку на исходный массив базовых объектов этого объекта SerialArray.
Переопределяет:
clone в классе Object
Возвращает:
клон этого SerialArray
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

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