Класс 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 следует контролировать с помощью соответствующей синхронизации.- С:
- 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 обрабатываются как операция без действия.
- Определено в:
-
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 объекте.- Specified by:
-
getBaseTypeNameв интерфейсеArray - Возвращает:
- имя SQL типа, используемое DBMS для базового типа этого
SerialArrayобъекта - Имеет исключения:
-
SerialException- если произошла ошибка; еслиfreeранее был вызван для этого объекта
getResultSet
public ResultSet getResultSet(long index, int count) throws SerialException
ResultSet объект, содержащий элементы подмассива, начинающегося с индекса index и содержащего до count последовательных элементов. Этот метод использует карту типов подключения для сопоставления элементов массива, если в карте есть запись для базового типа. В противном случае используется стандартное сопоставление.- Specified by:
-
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 использует либо заданную карту типов, либо стандартное сопоставление; она никогда не использует карту типов, связанную с подключением.- Specified by:
-
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 объект. При необходимости элементы массива сопоставляются с использованием карты типов подключения; в противном случае используется стандартное сопоставление.- Specified by:
-
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 использует либо заданную карту типов, либо стандартное сопоставление; она никогда не использует карту типов, связанную с подключением.- Specified by:
-
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 объектом, элементы которого идентичны элементам этого объекта.- Overrides:
-
equalsв классеObject - Параметры:
-
obj- Объект для сравнения с этимSerialArray - Возвращает:
-
true, если заданный объект представляетSerialArrayэквивалент этому SerialArray,falseв противном случае - См. также:
hashCode
public int hashCode()
SerialArray объекта вычисляется с использованием хеш-кодов элементов SerialArray объекта- Overrides:
-
hashCodeв классеObject - Возвращает:
- значение хеш-кода для этого объекта.
- См. также:
clone
public Object clone()
SerialArray. Копия будет содержать ссылку на клон массива базовых объектов, а не ссылку на исходный массив базовых объектов этого SerialArray объекта.- Overrides:
-
cloneв классеObject - Возвращает:
- клон этого SerialArray
- См. также:
© 1993, 2023, 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/21/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialArray.html