Класс 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 будет использоваться более чем одним потоком, доступ к SerialArray должен контролироваться соответствующей синхронизацией.- С момента:
- 1.5
- См. также:
- Сериализованная форма
Конструкторы
| Конструктор | Описание |
|---|---|
SerialArray(Array array) | Создает новый объект |
SerialArray(Array array,
Map<String,Class<?>> map) | Создает новый объект |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object | clone() | Возвращает клон этого |
boolean | equals(Object obj) | Сравнивает этот SerialArray со заданным объектом. |
void | free() | Этот метод освобождает объект |
Object | getArray() | Возвращает новый массив, который является копией этого объекта |
Object | getArray(long index,
int count) | Возвращает новый массив, который является копией среза этого объекта |
Object | getArray(long index,
int count,
Map<String,Class<?>> map) | Возвращает новый массив, который является копией среза этого объекта |
Object | getArray(Map<String,Class<?>> map) | Возвращает новый массив, который является копией этого объекта |
int | getBaseType() | Возвращает тип SQL элементов в этом объекте |
String | getBaseTypeName() | Возвращает имя типа, специфичное для СУБД, для элементов в этом объекте |
ResultSet | getResultSet() | Возвращает объект |
ResultSet | getResultSet(long index,
int count) | Возвращает объект |
ResultSet | getResultSet(long index,
int count,
Map<String,Class<?>> map) | Возвращает набор результатов, содержащий элементы подмассива, начинающегося с Получает объект |
ResultSet | getResultSet(Map<String,Class<?>> map) | Возвращает объект |
int | hashCode() | Возвращает хэш-код для этого SerialArray. |
Методы, объявленные в классе java.lang.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 не может сериализовать нулевые значения массивов.
- Параметры:
-
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(java.lang.Object)
clone
public Object clone()
Возвращает копию этого SerialArray. Копия будет содержать ссылку на клон массива базовых объектов, а не на ссылку на исходный массив базовых объектов этого объекта SerialArray.
© 1993, 2020, 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/11/docs/api/java.sql.rowset/javax/sql/rowset/serial/SerialArray.html