Класс SerialArray
- java.lang.Object
-
- javax.sql.rowset.serial.SerialArray
- Все реализованные интерфейсы:
- Serializable, Cloneable, Array
public class SerialArray extends Object implements Array, Serializable, Cloneable
Сериализованная версия объекта Array, который является отображением в языке программирования Java значения SQL ARRAY.
Класс SerialArray предоставляет конструктор для создания экземпляра SerialArray из объекта Array, методы для получения базового типа и имени SQL для базового типа, а также методы для копирования всего или части объекта SerialArray.
Примечание: Для корректной работы этого класса необходимо наличие подключения к источнику данных, чтобы объект SQL Array был материализован (все его элементы были доставлены на клиентский сервер), если это необходимо. В настоящее время логические ссылки на данные в источнике данных, такие как локаторы, не поддерживаются.
Безопасность потоков
Объект SerialArray не является потокобезопасным. Если SerialArray будет использоваться более чем одной нитью, доступ к SerialArray должен контролироваться соответствующей синхронизацией.- См. также:
- Сериализованная форма
Конструкторы
| Конструктор и описание |
|---|
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) Возвращает набор результатов, содержащий элементы подмассива, начинающегося с индекса index и содержащего до count последовательных элементов. |
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 не может сериализовать значения пустых массивов.
- Параметры:
-
array- объектArrayдля сериализации - Исключения:
-
SerialException- если при сериализации объектаArrayпроизошла ошибка -
SQLException- если произошла ошибка доступа к базе данных или параметр array являетсяnull.
Методы
free
public void free()
throws SQLException Этот метод освобождает объект SeriableArray и освобождает ресурсы, которые он удерживает. Объект становится недействительным после вызова метода 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 Возвращает имя типа DBMS для элементов в этом объекте SerialArray.
- Определено в:
-
getBaseTypeNameв интерфейсеArray - Возвращает:
- имя SQL-типа, используемого DBMS для базового типа этого объекта
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.