Spec-Zone.ru › OpenJDK 27

Интерфейс Array

Все суперинтерфейсы:
AutoCloseable
Все известные реализующие классы:
SerialArray
public interface Array extends AutoCloseable
Отображение в языке программирования Java типа SQL ARRAY. По умолчанию значение Array представляет собой ссылку на значение SQL ARRAY, действительную в течение транзакции. По умолчанию объект Array реализуется внутри с использованием SQL LOCATOR(array), что означает, что объект Array содержит логический указатель на данные в значении SQL ARRAY, а не сами данные значения ARRAY.

Интерфейс Array предоставляет методы для передачи данных значения SQL ARRAY клиенту в виде массива или объекта ResultSet. Если элементы SQL ARRAY имеют тип UDT, для них может быть задано пользовательское отображение. Для создания пользовательского отображения программист должен выполнить два действия:

  • создать класс, реализующий интерфейс SQLData для UDT, для которого нужно задать пользовательское отображение.
  • добавить запись в карту типов, содержащую
    • полное имя типа SQL для UDT
    • объект Class для класса, реализующего SQLData

Если методам getArray и getResultSet передана карта типов с записью для базового типа, содержащиеся в ней сведения будут использоваться для отображения элементов значения ARRAY. Если карта типов не передана, что обычно и происходит, по умолчанию используется карта типов соединения. Если в карте типов соединения или в карте типов, переданной методу, нет записи для базового типа, элементы отображаются согласно стандартному отображению.

Чтобы освободить ресурсы, используемые объектом Array, приложения должны вызвать метод free() или close(). Любая попытка вызвать метод, отличный от free() или close(), после закрытия объекта Array приведёт к выбрасыванию исключения SQLException.

Все методы интерфейса Array должны быть полностью реализованы, если драйвер JDBC поддерживает этот тип данных.

С версии:
1.2

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

Модификатор и тип Метод Описание
default void close()
Закрывает объект Array и освобождает удерживаемые им ресурсы.
void free()
Закрывает объект Array и освобождает удерживаемые им ресурсы.
Object getArray()
Извлекает содержимое значения SQL ARRAY, указанного этим объектом Array, в виде массива языка программирования Java.
Object getArray(long index, int count)
Извлекает срез значения SQL ARRAY, указанного этим объектом Array, начиная с заданного index и содержащий не более count следующих подряд элементов массива SQL.
Object getArray(long index, int count, Map<String,Class<?>> map)
Извлекает срез значения SQL ARRAY, указанного этим объектом Array, начиная с заданного index и содержащий не более count следующих подряд элементов массива SQL.
Object getArray(Map<String,Class<?>> map)
Извлекает содержимое значения SQL ARRAY, указанного этим объектом Array.
int getBaseType()
Извлекает тип JDBC элементов массива, указанного этим объектом Array.
String getBaseTypeName()
Извлекает имя типа SQL элементов массива, указанного этим объектом Array.
ResultSet getResultSet()
Извлекает результирующий набор, содержащий элементы значения SQL ARRAY, указанного этим объектом Array.
ResultSet getResultSet(long index, int count)
Извлекает результирующий набор с элементами подмассива, начинающегося с индекса index и содержащего не более count следующих подряд элементов.
ResultSet getResultSet(long index, int count, Map<String,Class<?>> map)
Извлекает результирующий набор с элементами подмассива, начинающегося с индекса index и содержащего не более count следующих подряд элементов.
ResultSet getResultSet(Map<String,Class<?>> map)
Извлекает результирующий набор, содержащий элементы значения SQL ARRAY, указанного этим объектом Array.

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

getBaseTypeName

String getBaseTypeName() throws SQLException
Извлекает имя типа SQL элементов массива, указанного этим объектом Array. Если элементы имеют встроенный тип, возвращается имя типа, используемое для этих элементов в конкретной базе данных. Если элементы имеют пользовательский тип (UDT), этот метод возвращает полное имя типа SQL.
Возвращает:
String — имя встроенного базового типа, используемое в конкретной базе данных; или полное имя типа SQL для базового типа UDT
Выбрасывает:
SQLException — если при попытке получить доступ к имени типа возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

getBaseType

int getBaseType() throws SQLException
Извлекает тип JDBC элементов массива, указанного этим объектом Array.
Возвращает:
константу из класса Types, представляющую код типа элементов массива, указанного этим объектом Array
Выбрасывает:
SQLException — если при попытке получить доступ к базовому типу возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

getArray

Object getArray() throws SQLException
Извлекает содержимое значения SQL ARRAY, указанного этим объектом Array, в виде массива языка программирования Java. Эта версия метода getArray использует карту типов, связанную с соединением, для настройки отображения типов.

Примечание: Если getArray используется для материализации базового типа, соответствующего примитивному типу данных, реализация определяет, будет ли возвращённый массив массивом этого примитивного типа данных или массивом Object.

Возвращает:
массив языка программирования Java, содержащий упорядоченные элементы значения SQL ARRAY, указанного этим объектом Array
Выбрасывает:
SQLException — если при попытке получить доступ к массиву возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

getArray

Object getArray(Map<String,Class<?>> map) throws SQLException
Извлекает содержимое значения SQL ARRAY, указанного этим объектом Array. Этот метод использует указанную map для настройки отображения типов, если только базовый тип массива не соответствует пользовательскому типу в map; в этом случае используется стандартное отображение. Эта версия метода getArray использует либо переданную карту типов, либо стандартное отображение; карта типов, связанная с соединением, не используется.

Примечание: Если getArray используется для материализации базового типа, соответствующего примитивному типу данных, реализация определяет, будет ли возвращённый массив массивом этого примитивного типа данных или массивом Object.

Параметры:
map — объект java.util.Map, содержащий отображения имён типов SQL в классы языка программирования Java
Возвращает:
массив языка программирования Java, содержащий упорядоченные элементы массива SQL, указанного этим объектом
Выбрасывает:
SQLException — если при попытке получить доступ к массиву возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

getArray

Object getArray(long index, int count) throws SQLException
Извлекает срез значения SQL ARRAY, указанного этим объектом Array, начиная с заданного index и содержащий не более count следующих подряд элементов массива SQL. Этот метод использует карту типов, связанную с соединением, для настройки отображения типов.

Примечание: Если getArray используется для материализации базового типа, соответствующего примитивному типу данных, реализация определяет, будет ли возвращённый массив массивом этого примитивного типа данных или массивом Object.

Параметры:
index — индекс первого извлекаемого элемента массива; индекс первого элемента равен 1
count — количество следующих подряд элементов массива SQL, которые нужно извлечь
Возвращает:
массив, содержащий до count последовательных элементов массива SQL, начиная с элемента index
Выбрасывает:
SQLException — если при попытке получить доступ к массиву возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

getArray

Object getArray(long index, int count, Map<String,Class<?>> map) throws SQLException
Извлекает срез значения SQL ARRAY, указанного этим объектом Array, начиная с заданного index и содержащий не более count следующих подряд элементов массива SQL.

Этот метод использует указанную map для настройки отображения типов, если только базовый тип массива не соответствует пользовательскому типу в map; в этом случае используется стандартное отображение. Эта версия метода getArray использует либо переданную карту типов, либо стандартное отображение; карта типов, связанная с соединением, не используется.

Примечание: Если getArray используется для материализации базового типа, соответствующего примитивному типу данных, реализация определяет, будет ли возвращённый массив массивом этого примитивного типа данных или массивом Object.

Параметры:
index — индекс первого извлекаемого элемента массива; индекс первого элемента равен 1
count — количество следующих подряд элементов массива SQL, которые нужно извлечь
map — объект java.util.Map, содержащий имена типов SQL и классы языка программирования Java, в которые они отображаются
Возвращает:
массив, содержащий до count последовательных элементов значения SQL ARRAY, указанного этим объектом Array, начиная с элемента index
Выбрасывает:
SQLException — если при попытке получить доступ к массиву возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

getResultSet

ResultSet getResultSet() throws SQLException
Извлекает результирующий набор, содержащий элементы значения SQL ARRAY, указанного этим объектом Array. Если это применимо, элементы массива отображаются с использованием карты типов соединения; в противном случае используется стандартное отображение.

Результирующий набор содержит по одной строке для каждого элемента массива и два столбца в каждой строке. Во втором столбце хранится значение элемента, а в первом — индекс этого элемента в массиве (индекс первого элемента массива равен 1). Строки расположены по возрастанию индексов.

Возвращает:
объект ResultSet, содержащий по одной строке для каждого элемента массива, указанного этим объектом Array; строки расположены по возрастанию индексов.
Выбрасывает:
SQLException — если при попытке получить доступ к массиву возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

getResultSet

ResultSet getResultSet(Map<String,Class<?>> map) throws SQLException
Извлекает результирующий набор, содержащий элементы значения SQL ARRAY, указанного этим объектом Array. Этот метод использует указанную map для настройки отображения типов, если только базовый тип массива не соответствует пользовательскому типу в map; в этом случае используется стандартное отображение. Эта версия метода getResultSet использует либо переданную карту типов, либо стандартное отображение; карта типов, связанная с соединением, не используется.

Результирующий набор содержит по одной строке для каждого элемента массива и два столбца в каждой строке. Во втором столбце хранится значение элемента, а в первом — индекс этого элемента в массиве (индекс первого элемента массива равен 1). Строки расположены по возрастанию индексов.

Параметры:
map — содержит отображение пользовательских типов SQL в классы языка программирования Java
Возвращает:
объект ResultSet, содержащий по одной строке для каждого элемента массива, указанного этим объектом Array; строки расположены по возрастанию индексов.
Выбрасывает:
SQLException — если при попытке получить доступ к массиву возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

getResultSet

ResultSet getResultSet(long index, int count) throws SQLException
Извлекает результирующий набор с элементами подмассива, начинающегося с индекса index и содержащего не более count следующих подряд элементов. Этот метод использует карту типов соединения для отображения элементов массива, если карта содержит запись для базового типа. В противном случае используется стандартное отображение.

Результирующий набор содержит по одной строке для каждого элемента массива SQL, указанного этим объектом; первая строка содержит элемент с индексом index. Результирующий набор содержит не более count строк, расположенных по возрастанию индексов. В каждой строке два столбца: во втором хранится значение элемента, а в первом — индекс этого элемента в массиве.

Параметры:
index — индекс первого извлекаемого элемента массива; индекс первого элемента равен 1
count — количество следующих подряд элементов массива SQL, которые нужно извлечь
Возвращает:
объект ResultSet, содержащий до count последовательных элементов массива SQL, указанного этим объектом Array, начиная с индекса index.
Выбрасывает:
SQLException — если при попытке получить доступ к массиву возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

getResultSet

ResultSet getResultSet(long index, int count, Map<String,Class<?>> map) throws SQLException
Извлекает результирующий набор с элементами подмассива, начинающегося с индекса index и содержащего не более count следующих подряд элементов. Этот метод использует указанную map для настройки отображения типов, если только базовый тип массива не соответствует пользовательскому типу в map; в этом случае используется стандартное отображение. Эта версия метода getResultSet использует либо переданную карту типов, либо стандартное отображение; карта типов, связанная с соединением, не используется.

Результирующий набор содержит по одной строке для каждого элемента массива SQL, указанного этим объектом; первая строка содержит элемент с индексом index. Результирующий набор содержит не более count строк, расположенных по возрастанию индексов. В каждой строке два столбца: во втором хранится значение элемента, а в первом — индекс этого элемента в массиве.

Параметры:
index — индекс первого извлекаемого элемента массива; индекс первого элемента равен 1
count — количество следующих подряд элементов массива SQL, которые нужно извлечь
map — объект Map, содержащий отображение имён типов SQL в классы языка программирования Java(tm)
Возвращает:
объект ResultSet, содержащий до count последовательных элементов массива SQL, указанного этим объектом Array, начиная с индекса index.
Выбрасывает:
SQLException — если при попытке получить доступ к массиву возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.2

free

void free() throws SQLException
Закрывает объект Array и освобождает удерживаемые им ресурсы.

Если объект Array уже закрыт, вызов этого метода не оказывает никакого эффекта.

Выбрасывает:
SQLException — если при освобождении ресурсов Array возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
1.6
См. также:
  • close()

close

default void close() throws SQLException
Закрывает объект Array и освобождает удерживаемые им ресурсы.

Если объект Array уже закрыт, вызов этого метода не оказывает никакого эффекта.

Определено в:
close в интерфейсе AutoCloseable
Требования к реализации:
Реализация по умолчанию вызывает метод free().
Выбрасывает:
SQLException — если при освобождении ресурсов Array возникает ошибка
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
26
См. также:
  • free()

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, в том числе концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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