Spec-Zone.ru › OpenJDK 27

Класс AbstractPreferences

java.lang.Object
java.util.prefs.Preferences
java.util.prefs.AbstractPreferences
public abstract class AbstractPreferences extends Preferences
Этот класс предоставляет базовую реализацию класса Preferences, значительно упрощая задачу его реализации.

Этот класс предназначен только для разработчиков реализаций Preferences. Обычным пользователям средства Preferences нет необходимости обращаться к этой документации. Достаточно документации Preferences.

Разработчики реализаций должны переопределить девять абстрактных методов интерфейса поставщика услуг (SPI): getSpi(String), putSpi(String,String), removeSpi(String), childSpi(String), removeNodeSpi(), keysSpi(), childrenNamesSpi(), syncSpi() и flushSpi(). Все конкретные методы точно определяют, как они реализуются на основе этих методов SPI. Разработчик реализации может по своему усмотрению переопределить один или несколько конкретных методов, если реализация по умолчанию по какой-либо причине, например из-за производительности, его не устраивает.

Методы SPI делятся на три группы в зависимости от поведения при возникновении исключений. Метод getSpi никогда не должен выбрасывать исключения, но это не имеет особого значения, поскольку любое исключение, выброшенное этим методом, будет перехвачено методом get(String,String), который вернет вызывающему коду указанное значение по умолчанию. Методы removeNodeSpi, keysSpi, childrenNamesSpi, syncSpi и flushSpi должны выбрасывать BackingStoreException; реализация обязана выбрасывать это проверяемое исключение, если не может выполнить операцию. Исключение распространяется наружу, приводя к сбою соответствующего метода API.

Оставшиеся методы SPI putSpi(String,String), removeSpi(String) и childSpi(String) имеют более сложное поведение при возникновении исключений. Они не должны выбрасывать BackingStoreException, поскольку обычно могут выполнять свои контракты, даже если хранилище недоступно. Это возможно потому, что они не возвращают никаких данных, а их эффекты не обязаны становиться постоянными до последующего вызова Preferences.flush() или Preferences.sync(). Как правило, эти методы SPI не должны выбрасывать исключения. В некоторых реализациях могут возникнуть обстоятельства, при которых эти вызовы не смогут даже поставить запрошенную операцию в очередь для последующей обработки. Даже в таких случаях обычно лучше просто проигнорировать вызов и вернуться, а не выбрасывать исключение. Однако в этих обстоятельствах последующий вызов flush() или sync не будет означать, что все предыдущие операции были успешно сделаны постоянными.

Есть одно обстоятельство, при котором putSpi, removeSpi and childSpi следует выбрасывать исключение: если у вызывающего кода недостаточно прав в базовой операционной системе для выполнения запрошенной операции. Например, это произойдет в большинстве систем, если пользователь без соответствующих привилегий попытается изменить системные настройки. (Необходимые привилегии зависят от реализации. В одних реализациях это право изменять содержимое некоторого каталога в файловой системе, в других — право изменять содержимое некоторого раздела реестра.) В таких обстоятельствах обычно нежелательно позволять программе продолжать выполнение так, будто эти операции станут постоянными позднее. Хотя реализации не обязаны выбрасывать исключение в этих обстоятельствах, делать это рекомендуется. Подходящим вариантом будет SecurityException.

Большинство методов SPI требуют, чтобы реализация считывала или записывала данные в узле настроек. Разработчику реализации следует учитывать, что другая виртуальная машина могла одновременно удалить этот узел из хранилища. Реализация отвечает за повторное создание узла, если он был удален.

Примечание по реализации: в реализациях Preferences по умолчанию от Sun идентификатор пользователя наследуется от базовой операционной системы и не меняется в течение всего времени работы виртуальной машины. Признается, что в серверных реализациях Preferences идентификатор пользователя может меняться от запроса к запросу и неявно передаваться методам Preferences посредством использования статического экземпляра ThreadLocal. Авторам таких реализаций настоятельно рекомендуется определять пользователя в момент обращения к настройкам (например, в методе get(String,String) или put(String,String)), а не связывать пользователя с каждым экземпляром Preferences навсегда. Последнее поведение противоречит обычному использованию Preferences и может привести к большой путанице.

Начиная с:
1.4
См. также:
  • Preferences

Краткое описание полей

Модификатор и тип Поле Описание
protected final Object lock
Объект, монитор которого используется для блокировки этого узла.
protected boolean newNode
Это поле должно быть true, если данный узел отсутствовал в хранилище до создания этого объекта.

Поля, объявленные в классе Preferences

MAX_KEY_LENGTH, MAX_NAME_LENGTH, MAX_VALUE_LENGTH
Модификатор и тип Поле Описание
static final int MAX_KEY_LENGTH
Максимальная длина строки, допустимой в качестве ключа (80 символов).
static final int MAX_NAME_LENGTH
Максимальная длина имени узла (80 символов).
static final int MAX_VALUE_LENGTH
Максимальная длина строки, допустимой в качестве значения (8192 символа).

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

AbstractPreferences(AbstractPreferences parent, String name)
Модификатор Конструктор Описание
protected
Создает узел настроек с указанным родительским узлом и указанным относительно него именем.

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

Модификатор и тип Метод Описание
String absolutePath()
Реализует метод absolutePath в соответствии со спецификацией в Preferences.absolutePath().
void addNodeChangeListener(NodeChangeListener ncl)
Регистрирует указанный прослушиватель для получения событий изменения узла для этого узла.
void addPreferenceChangeListener(PreferenceChangeListener pcl)
Регистрирует указанный прослушиватель для получения событий изменения настроек для этого узла настроек.
protected final AbstractPreferences[] cachedChildren()
Возвращает все известные дочерние узлы этого узла, которые не были удалены.
String[] childrenNames()
Реализует метод children в соответствии со спецификацией в Preferences.childrenNames().
protected abstract String[] childrenNamesSpi()
Возвращает имена дочерних узлов этого узла настроек.
protected abstract AbstractPreferences childSpi(String name)
Возвращает дочерний узел с указанным именем, создавая его, если он еще не существует.
void clear()
Реализует метод clear в соответствии со спецификацией в Preferences.clear().
void exportNode(OutputStream os)
Реализует метод exportNode в соответствии со спецификацией в Preferences.exportNode(OutputStream).
void exportSubtree(OutputStream os)
Реализует метод exportSubtree в соответствии со спецификацией в Preferences.exportSubtree(OutputStream).
void flush()
Реализует метод flush в соответствии со спецификацией в Preferences.flush().
protected abstract void flushSpi()
Этот метод вызывается, когда данный узел заблокирован.
String get(String key, String def)
Реализует метод get в соответствии со спецификацией в Preferences.get(String,String).
boolean getBoolean(String key, boolean def)
Реализует метод getBoolean в соответствии со спецификацией в Preferences.getBoolean(String,boolean).
byte[] getByteArray(String key, byte[] def)
Реализует метод getByteArray в соответствии со спецификацией в Preferences.getByteArray(String,byte[]).
protected AbstractPreferences getChild(String nodeName)
Возвращает дочерний узел с указанным именем, если он существует, или null, если не существует.
double getDouble(String key, double def)
Реализует метод getDouble в соответствии со спецификацией в Preferences.getDouble(String,double).
float getFloat(String key, float def)
Реализует метод getFloat в соответствии со спецификацией в Preferences.getFloat(String,float).
int getInt(String key, int def)
Реализует метод getInt в соответствии со спецификацией в Preferences.getInt(String,int).
long getLong(String key, long def)
Реализует метод getLong в соответствии со спецификацией в Preferences.getLong(String,long).
protected abstract String getSpi(String key)
Возвращает значение, связанное с указанным ключом в этом узле настроек, или null, если для этого ключа нет соответствия либо в данный момент невозможно определить соответствие.
protected boolean isRemoved()
Возвращает true, если этот узел (или один из его предков) был удален методом removeNode().
boolean isUserNode()
Реализует метод isUserNode в соответствии со спецификацией в Preferences.isUserNode().
String[] keys()
Реализует метод keys в соответствии со спецификацией в Preferences.keys().
protected abstract String[] keysSpi()
Возвращает все ключи, которым в этом узле настроек соответствует значение.
String name()
Реализует метод name в соответствии со спецификацией в Preferences.name().
Preferences node(String path)
Реализует метод node в соответствии со спецификацией в Preferences.node(String).
boolean nodeExists(String path)
Реализует метод nodeExists в соответствии со спецификацией в Preferences.nodeExists(String).
Preferences parent()
Реализует метод parent в соответствии со спецификацией в Preferences.parent().
void put(String key, String value)
Реализует метод put в соответствии со спецификацией в Preferences.put(String,String).
void putBoolean(String key, boolean value)
Реализует метод putBoolean в соответствии со спецификацией в Preferences.putBoolean(String,boolean).
void putByteArray(String key, byte[] value)
Реализует метод putByteArray в соответствии со спецификацией в Preferences.putByteArray(String,byte[]).
void putDouble(String key, double value)
Реализует метод putDouble в соответствии со спецификацией в Preferences.putDouble(String,double).
void putFloat(String key, float value)
Реализует метод putFloat в соответствии со спецификацией в Preferences.putFloat(String,float).
void putInt(String key, int value)
Реализует метод putInt в соответствии со спецификацией в Preferences.putInt(String,int).
void putLong(String key, long value)
Реализует метод putLong в соответствии со спецификацией в Preferences.putLong(String,long).
protected abstract void putSpi(String key, String value)
Добавляет указанную пару «ключ-значение» в этот узел настроек.
void remove(String key)
Реализует метод remove(String) в соответствии со спецификацией в Preferences.remove(String).
void removeNode()
Реализует метод removeNode() в соответствии со спецификацией в Preferences.removeNode().
void removeNodeChangeListener(NodeChangeListener ncl)
Удаляет указанный NodeChangeListener, чтобы он больше не получал события изменения.
protected abstract void removeNodeSpi()
Удаляет этот узел настроек, делая его и все содержащиеся в нем настройки недействительными.
void removePreferenceChangeListener(PreferenceChangeListener pcl)
Удаляет указанный прослушиватель изменений настроек, чтобы он больше не получал события изменения настроек.
protected abstract void removeSpi(String key)
Удаляет соответствие (если оно существует) для указанного ключа в этом узле настроек.
void sync()
Реализует метод sync в соответствии со спецификацией в Preferences.sync().
protected abstract void syncSpi()
Этот метод вызывается, когда данный узел заблокирован.
String toString()
Возвращает абсолютный путь к этому узлу настроек.

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

importPreferences, systemNodeForPackage, systemRoot, userNodeForPackage, userRoot
Модификатор и тип Метод Описание
static void importPreferences(InputStream is)
Импортирует все настройки, представленные в документе XML в указанном входном потоке.
static Preferences systemNodeForPackage(Class<?> c)
Возвращает узел настроек из системного дерева настроек, связанный (по соглашению) с пакетом указанного класса.
static Preferences systemRoot()
Возвращает корневой узел системных настроек.
static Preferences userNodeForPackage(Class<?> c)
Возвращает узел настроек из дерева настроек вызывающего пользователя, связанный (по соглашению) с пакетом указанного класса.
static Preferences userRoot()
Возвращает корневой узел настроек вызывающего пользователя.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание полей

newNode

protected boolean newNode
Это поле должно быть true, если этот узел не существовал в базовом хранилище до создания данного объекта. Поле инициализируется значением false, но конструктор подкласса может присвоить ему значение true (после этого его не следует изменять). Это поле указывает, следует ли генерировать событие изменения узла по завершении его создания.

lock

protected final Object lock
Объект, монитор которого используется для блокировки этого узла. Этот объект предпочтительнее самого узла, поскольку его использование снижает вероятность намеренного или случайного отказа в обслуживании из-за заблокированного узла. Во избежание взаимной блокировки поток никогда не блокирует узел, если он удерживает блокировку потомка этого узла.

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

AbstractPreferences

protected AbstractPreferences(AbstractPreferences parent, String name)
Создает узел настроек с указанным родительским узлом и указанным относительно него именем.
Параметры:
parent — родительский узел этого узла настроек или null, если это корневой узел.
name — имя этого узла настроек относительно его родительского узла или "", если это корневой узел.
Исключения:
IllegalArgumentException — если name содержит косую черту ('/') или parent имеет значение null, а name не равно "".

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

put

public void put(String key, String value)
Реализует метод put в соответствии со спецификацией, приведенной в Preferences.put(String,String).

Эта реализация проверяет допустимость ключа и значения, получает блокировку этого узла настроек, проверяет, что узел не был удален, вызывает putSpi(String,String) и, если имеются слушатели изменений настроек, помещает событие уведомления в очередь для обработки потоком диспетчеризации событий.

Определено в:
put в классе Preferences
Параметры:
key — ключ, с которым связывается указанное значение.
value — значение, связываемое с указанным ключом.
Исключения:
NullPointerException — если key или value равно null.
IllegalArgumentException — если key.length() превышает MAX_KEY_LENGTH или value.length превышает MAX_VALUE_LENGTH.
IllegalArgumentException — если key или value содержит нулевой управляющий символ с кодовой точкой U+0000.
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().

get

public String get(String key, String def)
Реализует метод get в соответствии со спецификацией, приведенной в Preferences.get(String,String).

Сначала эта реализация проверяет, равно ли key значению null; если это так, выбрасывается NullPointerException. Затем она получает блокировку этого узла настроек, проверяет, что узел не был удален, вызывает getSpi(String) и возвращает результат, если только вызов getSpi не возвращает null или не выбрасывает исключение; в этом случае данный вызов возвращает def.

Определено в:
get в классе Preferences
Параметры:
key — ключ, значение которого требуется вернуть.
def — значение, возвращаемое в том случае, если с key не связано никакое значение в этом узле настроек.
Возвращает:
значение, связанное с key, или def, если с key не связано никакое значение.
Исключения:
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
NullPointerException — если key равно null. (Значение по умолчанию null допускается.)
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.

remove

public void remove(String key)
Реализует метод remove(String) в соответствии со спецификацией, приведенной в Preferences.remove(String).

Эта реализация получает блокировку этого узла настроек, проверяет, что узел не был удален, вызывает removeSpi(String) и, если имеются слушатели изменений настроек, помещает событие уведомления в очередь для обработки потоком диспетчеризации событий.

Определено в:
remove в классе Preferences
Параметры:
key — ключ, сопоставление которого требуется удалить из узла настроек.
Исключения:
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
NullPointerException — если key имеет значение null.

clear

public void clear() throws BackingStoreException
Реализует метод clear в соответствии со спецификацией, приведенной в Preferences.clear().

Эта реализация получает блокировку этого узла настроек, вызывает keys() для получения массива ключей и перебирает массив, вызывая remove(String) для каждого ключа.

Определено в:
clear в классе Preferences
Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя базового хранилища или невозможности обмена данными с ним.
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
См. также:
  • Preferences.removeNode()

putInt

public void putInt(String key, int value)
Реализует метод putInt в соответствии со спецификацией, приведенной в Preferences.putInt(String,int).

Эта реализация преобразует value в строку с помощью Integer.toString(int) и передает результат методу put(String,String).

Определено в:
putInt в классе Preferences
Параметры:
key — ключ, с которым связывается строковое представление значения.
value — значение, строковое представление которого связывается с ключом.
Исключения:
NullPointerException — если key равно null.
IllegalArgumentException — если key.length() превышает MAX_KEY_LENGTH.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
См. также:
  • Preferences.getInt(String,int)

getInt

public int getInt(String key, int def)
Реализует метод getInt в соответствии со спецификацией, приведенной в Preferences.getInt(String,int).

Эта реализация вызывает get(key, null). Если возвращенное значение не равно null, реализация пытается преобразовать его в int с помощью Integer.parseInt(String). Если попытка успешна, этот метод возвращает полученное значение. В противном случае возвращается def.

Определено в:
getInt в классе Preferences
Параметры:
key — ключ, значение которого требуется вернуть как int.
def — значение, возвращаемое в том случае, если с key не связано никакое значение в этом узле настроек или если связанное значение невозможно интерпретировать как int.
Возвращает:
значение int, представленное строкой, связанной с key в этом узле настроек, или def, если связанное значение отсутствует либо его невозможно интерпретировать как int.
Исключения:
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
NullPointerException — если key имеет значение null.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
См. также:
  • Preferences.putInt(String,int)
  • Preferences.get(String,String)

putLong

public void putLong(String key, long value)
Реализует метод putLong в соответствии со спецификацией, приведенной в Preferences.putLong(String,long).

Эта реализация преобразует value в строку с помощью Long.toString(long) и передает результат методу put(String,String).

Определено в:
putLong в классе Preferences
Параметры:
key — ключ, с которым связывается строковое представление значения.
value — значение, строковое представление которого связывается с ключом.
Исключения:
NullPointerException — если key равно null.
IllegalArgumentException — если key.length() превышает MAX_KEY_LENGTH.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
См. также:
  • Preferences.getLong(String,long)

getLong

public long getLong(String key, long def)
Реализует метод getLong в соответствии со спецификацией, приведенной в Preferences.getLong(String,long).

Эта реализация вызывает get(key, null). Если возвращенное значение не равно null, реализация пытается преобразовать его в long с помощью Long.parseLong(String). Если попытка успешна, этот метод возвращает полученное значение. В противном случае возвращается def.

Определено в:
getLong в классе Preferences
Параметры:
key — ключ, значение которого требуется вернуть как long.
def — значение, возвращаемое в том случае, если с key не связано никакое значение в этом узле настроек или если связанное значение невозможно интерпретировать как long.
Возвращает:
значение long, представленное строкой, связанной с key в этом узле настроек, или def, если связанное значение отсутствует либо его невозможно интерпретировать как long.
Исключения:
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
NullPointerException — если key имеет значение null.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
См. также:
  • Preferences.putLong(String,long)
  • Preferences.get(String,String)

putBoolean

public void putBoolean(String key, boolean value)
Реализует метод putBoolean в соответствии со спецификацией, приведенной в Preferences.putBoolean(String,boolean).

Эта реализация преобразует value в строку с помощью String.valueOf(boolean) и передает результат методу put(String,String).

Определено в:
putBoolean в классе Preferences
Параметры:
key — ключ, с которым связывается строковое представление значения.
value — значение, строковое представление которого связывается с ключом.
Исключения:
NullPointerException — если key равно null.
IllegalArgumentException — если key.length() превышает MAX_KEY_LENGTH.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
См. также:
  • Preferences.getBoolean(String,boolean)
  • Preferences.get(String,String)

getBoolean

public boolean getBoolean(String key, boolean def)
Реализует метод getBoolean в соответствии со спецификацией, приведенной в Preferences.getBoolean(String,boolean).

Эта реализация вызывает get(key, null). Если возвращенное значение не равно null, оно сравнивается с "true" с помощью String.equalsIgnoreCase(String). Если сравнение возвращает true, этот вызов возвращает true. В противном случае исходное возвращенное значение сравнивается с "false", также с помощью String.equalsIgnoreCase(String). Если сравнение возвращает true, этот вызов возвращает false. В противном случае этот вызов возвращает def.

Определено в:
getBoolean в классе Preferences
Параметры:
key — ключ, значение которого требуется вернуть как boolean.
def — значение, возвращаемое в том случае, если с key не связано никакое значение в этом узле настроек или если связанное значение невозможно интерпретировать как boolean.
Возвращает:
значение boolean, представленное строкой, связанной с key в этом узле настроек, или def, если связанное значение отсутствует либо его невозможно интерпретировать как boolean.
Исключения:
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
NullPointerException — если key имеет значение null.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
См. также:
  • Preferences.get(String,String)
  • Preferences.putBoolean(String,boolean)

putFloat

public void putFloat(String key, float value)
Реализует метод putFloat в соответствии со спецификацией, приведенной в Preferences.putFloat(String,float).

Эта реализация преобразует value в строку с помощью Float.toString(float) и передает результат методу put(String,String).

Определено в:
putFloat в классе Preferences
Параметры:
key — ключ, с которым связывается строковое представление значения.
value — значение, строковое представление которого связывается с ключом.
Исключения:
NullPointerException — если key равно null.
IllegalArgumentException — если key.length() превышает MAX_KEY_LENGTH.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
См. также:
  • Preferences.getFloat(String,float)

getFloat

public float getFloat(String key, float def)
Реализует метод getFloat в соответствии со спецификацией, приведенной в Preferences.getFloat(String,float).

Эта реализация вызывает get(key, null). Если возвращенное значение не равно null, реализация пытается преобразовать его в float с помощью Float.parseFloat(String). Если попытка успешна, этот метод возвращает полученное значение. В противном случае возвращается def.

Определено в:
getFloat в классе Preferences
Параметры:
key — ключ, значение которого требуется вернуть как float.
def — значение, возвращаемое в том случае, если с key не связано никакое значение в этом узле настроек или если связанное значение невозможно интерпретировать как float.
Возвращает:
значение float, представленное строкой, связанной с key в этом узле настроек, или def, если связанное значение отсутствует либо его невозможно интерпретировать как float.
Исключения:
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
NullPointerException — если key имеет значение null.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
См. также:
  • Preferences.putFloat(String,float)
  • Preferences.get(String,String)

putDouble

public void putDouble(String key, double value)
Реализует метод putDouble в соответствии со спецификацией, приведенной в Preferences.putDouble(String,double).

Эта реализация преобразует value в строку с помощью Double.toString(double) и передает результат методу put(String,String).

Определено в:
putDouble в классе Preferences
Параметры:
key — ключ, с которым связывается строковое представление значения.
value — значение, строковое представление которого связывается с ключом.
Исключения:
NullPointerException — если key равно null.
IllegalArgumentException — если key.length() превышает MAX_KEY_LENGTH.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
См. также:
  • Preferences.getDouble(String,double)

getDouble

public double getDouble(String key, double def)
Реализует метод getDouble в соответствии со спецификацией, приведенной в Preferences.getDouble(String,double).

Эта реализация вызывает get(key, null). Если возвращенное значение не равно null, реализация пытается преобразовать его в double с помощью Double.parseDouble(String). Если попытка успешна, этот метод возвращает полученное значение. В противном случае возвращается def.

Определено в:
getDouble в классе Preferences
Параметры:
key — ключ, значение которого требуется вернуть как double.
def — значение, возвращаемое в том случае, если с key не связано никакое значение в этом узле настроек или если связанное значение невозможно интерпретировать как double.
Возвращает:
значение double, представленное строкой, связанной с key в этом узле настроек, или def, если связанное значение отсутствует либо его невозможно интерпретировать как double.
Исключения:
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
NullPointerException — если key имеет значение null.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
См. также:
  • Preferences.putDouble(String,double)
  • Preferences.get(String,String)

putByteArray

public void putByteArray(String key, byte[] value)
Реализует метод putByteArray в соответствии со спецификацией, приведенной в Preferences.putByteArray(String,byte[]).
Определено в:
putByteArray в классе Preferences
Параметры:
key — ключ, с которым связывается строковое представление значения.
value — значение, строковое представление которого связывается с ключом.
Исключения:
NullPointerException — если key или value равно null.
IllegalArgumentException — если длина key превышает MAX_KEY_LENGTH или длина value превышает MAX_VALUE_LENGTH*3/4.
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
См. также:
  • Preferences.getByteArray(String,byte[])
  • Preferences.get(String,String)

getByteArray

public byte[] getByteArray(String key, byte[] def)
Реализует метод getByteArray в соответствии со спецификацией, приведенной в Preferences.getByteArray(String,byte[]).
Определено в:
getByteArray в классе Preferences
Параметры:
key — ключ, значение которого требуется вернуть как массив байтов.
def — значение, возвращаемое в том случае, если с key не связано никакое значение в этом узле настроек или если связанное значение невозможно интерпретировать как массив байтов.
Возвращает:
массив байтов, представленный строкой, связанной с key в этом узле настроек, или def, если связанное значение отсутствует либо его невозможно интерпретировать как массив байтов.
Исключения:
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().
NullPointerException — если key имеет значение null. (Значение null для def допускается.)
IllegalArgumentException — если key содержит нулевой управляющий символ с кодовой точкой U+0000.
См. также:
  • Preferences.get(String,String)
  • Preferences.putByteArray(String,byte[])

keys

public String[] keys() throws BackingStoreException
Реализует метод keys в соответствии со спецификацией, приведенной в Preferences.keys().

Эта реализация получает блокировку этого узла настроек, проверяет, что узел не был удален, и вызывает keysSpi().

Определено в:
keys в классе Preferences
Возвращает:
массив ключей, для которых в этом узле настроек заданы значения.
Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя базового хранилища или невозможности обмена данными с ним.
IllegalStateException — если этот узел (или его предок) был удален методом removeNode().

childrenNames

public String[] childrenNames() throws BackingStoreException
Реализует метод children в соответствии со спецификацией в Preferences.childrenNames().

Эта реализация получает блокировку данного узла настроек, проверяет, что узел не был удалён, создаёт TreeSet, инициализированный именами уже кэшированных потомков (потомков в «кэше потомков» этого узла), вызывает childrenNamesSpi() и добавляет в набор все имена потомков из возвращённого результата. Элементы древовидного набора помещаются в массив String с помощью метода toArray, после чего этот массив возвращается.

Определён в:
childrenNames в классе Preferences
Возвращает:
имена потомков этого узла настроек.
Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.
IllegalStateException — если этот узел (или его предок) был удалён с помощью метода removeNode().
См. также:
  • cachedChildren()

cachedChildren

protected final AbstractPreferences[] cachedChildren()
Возвращает всех известных неудалённых потомков этого узла.
Возвращает:
всех известных неудалённых потомков этого узла.

parent

public Preferences parent()
Реализует метод parent в соответствии со спецификацией в Preferences.parent().

Эта реализация получает блокировку данного узла настроек, проверяет, что узел не был удалён, и возвращает значение родительского узла, переданное конструктору этого узла.

Определён в:
parent в классе Preferences
Возвращает:
родительский узел этого узла настроек.
Исключения:
IllegalStateException — если этот узел (или его предок) был удалён с помощью метода removeNode().

node

public Preferences node(String path)
Реализует метод node в соответствии со спецификацией в Preferences.node(String).

Эта реализация получает блокировку данного узла настроек и проверяет, что узел не был удалён. Если path — "", возвращается этот узел; если path — "/", возвращается корневой узел этого узла. Если первый символ в path не является '/', реализация разбивает path на токены и рекурсивно проходит по пути от этого узла к указанному узлу, «потребляя» имя и косую черту из path на каждом шаге обхода. На каждом шаге блокируется текущий узел и проверяется, есть ли указанный узел в кэше потомков. Если он не найден, проверяется, что длина имени не превышает MAX_NAME_LENGTH. Затем вызывается метод childSpi(String), а результат сохраняется в кэше потомков этого узла. Если поле newNode недавно созданного объекта Preferences имеет значение true и имеются слушатели изменений узлов, в очередь помещается событие-уведомление для обработки потоком диспетчеризации событий.

Когда токенов больше не остаётся, этот метод возвращает последнее значение, найденное в кэше потомков или возвращённое методом childSpi. Если во время обхода встречаются два токена "/" подряд или последний токен — "/" (а не имя), выбрасывается соответствующее исключение IllegalArgumentException.

Если первый символ path — '/' (что указывает на абсолютное имя пути), блокировка этого узла настроек снимается до разбиения path на токены, и этот метод рекурсивно проходит по пути, начиная с корневого узла (а не с этого узла). В остальном обход выполняется так же, как и для относительных имён путей. Снятие блокировки этого узла до начала обхода от корневого узла необходимо для предотвращения возможной взаимной блокировки, согласно locking invariant.

Определён в:
node в классе Preferences
Параметры:
path — имя пути узла настроек, который нужно вернуть.
Возвращает:
указанный узел настроек.
Исключения:
IllegalArgumentException — если имя пути некорректно (то есть содержит несколько подряд идущих символов косой черты или заканчивается символом косой черты и имеет длину больше одного символа).
IllegalStateException — если этот узел (или его предок) был удалён с помощью метода removeNode().
См. также:
  • Preferences.flush()

nodeExists

public boolean nodeExists(String path) throws BackingStoreException
Реализует метод nodeExists в соответствии со спецификацией в Preferences.nodeExists(String).

Эта реализация очень похожа на node(String), за исключением того, что вместо childSpi(String) используется getChild(String).

Определён в:
nodeExists в классе Preferences
Параметры:
path — имя пути узла, существование которого нужно проверить.
Возвращает:
true, если указанный узел существует.
Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.
IllegalArgumentException — если имя пути некорректно (то есть содержит несколько подряд идущих символов косой черты или заканчивается символом косой черты и имеет длину больше одного символа).
IllegalStateException — если этот узел (или его предок) был удалён с помощью метода removeNode(), а pathname не является пустой строкой ("").

removeNode

public void removeNode() throws BackingStoreException
Реализует метод removeNode() в соответствии со спецификацией в Preferences.removeNode().

Эта реализация проверяет, является ли данный узел корневым; если да, выбрасывается соответствующее исключение. Затем блокируется родительский узел, и вызывается рекурсивный вспомогательный метод, обходящий поддерево с корнем в этом узле. Рекурсивный метод блокирует узел, для которого он был вызван, проверяет, не был ли тот уже удалён, а затем гарантирует, что все его потомки кэшированы: вызывается метод childrenNamesSpi(), и для каждого возвращённого имени потомка проверяется, содержится ли оно в кэше потомков. Если потомок ещё не кэширован, вызывается метод childSpi(String), чтобы создать для него экземпляр Preferences, после чего этот экземпляр помещается в кэш потомков. Затем вспомогательный метод рекурсивно вызывает себя для каждого узла в кэше потомков. Далее он вызывает removeNodeSpi(), помечает себя как удалённый и удаляет себя из кэша потомков родительского узла. Наконец, если имеются слушатели изменений узлов, в очередь помещается событие-уведомление для обработки потоком диспетчеризации событий.

Обратите внимание, что вспомогательный метод всегда вызывается, когда заблокированы все предки вплоть до «ближайшего неудалённого предка».

Определён в:
removeNode в классе Preferences
Исключения:
IllegalStateException — если этот узел (или его предок) уже был удалён с помощью метода removeNode().
UnsupportedOperationException — если этот метод вызван для корневого узла.
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.
См. также:
  • Preferences.flush()

name

public String name()
Реализует метод name в соответствии со спецификацией в Preferences.name().

Эта реализация просто возвращает имя, переданное конструктору этого узла.

Определён в:
name в классе Preferences
Возвращает:
имя этого узла настроек относительно его родительского узла.

absolutePath

public String absolutePath()
Реализует метод absolutePath в соответствии со спецификацией в Preferences.absolutePath().

Эта реализация просто возвращает абсолютное имя пути, вычисленное при создании этого узла (на основе имени, переданного конструктору этого узла, и имён, переданных конструкторам его предков).

Определён в:
absolutePath в классе Preferences
Возвращает:
абсолютное имя пути этого узла настроек.

isUserNode

public boolean isUserNode()
Реализует метод isUserNode в соответствии со спецификацией в Preferences.isUserNode().

Эта реализация сравнивает корневой узел данного узла (хранящийся в закрытом поле) со значением, возвращённым методом Preferences.userRoot(). Если ссылки на два объекта идентичны, этот метод возвращает true.

Определён в:
isUserNode в классе Preferences
Возвращает:
true, если этот узел настроек находится в дереве пользовательских настроек; false, если он находится в дереве системных настроек.

addPreferenceChangeListener

public void addPreferenceChangeListener(PreferenceChangeListener pcl)
Описание скопировано из класса: Preferences
Регистрирует указанный слушатель для получения событий изменения настроек этого узла настроек. Событие изменения настроек генерируется, когда настройка добавляется в этот узел, удаляется из него или изменяется значение, связанное с настройкой. (События изменения настроек не генерируются методом Preferences.removeNode(), который генерирует событие изменения узла. События изменения настроек генерируются методом clear.)

События гарантируются только для изменений, выполненных в той же JVM, что и зарегистрированный слушатель, хотя некоторые реализации могут генерировать события для изменений, выполненных вне этой JVM. События могут генерироваться до сохранения изменений. События не генерируются при изменении настроек в потомках этого узла; чтобы получать такие события, вызывающий код должен зарегистрировать слушатель в каждом потомке.

Определён в:
addPreferenceChangeListener в классе Preferences
Параметры:
pcl — слушатель изменений настроек, который нужно добавить.
См. также:
  • Preferences.removePreferenceChangeListener(PreferenceChangeListener)
  • Preferences.addNodeChangeListener(NodeChangeListener)

removePreferenceChangeListener

public void removePreferenceChangeListener(PreferenceChangeListener pcl)
Описание скопировано из класса: Preferences
Удаляет указанный слушатель изменений настроек, чтобы он больше не получал события изменения настроек.
Определён в:
removePreferenceChangeListener в классе Preferences
Параметры:
pcl — слушатель изменений настроек, который нужно удалить.
См. также:
  • Preferences.addPreferenceChangeListener(PreferenceChangeListener)

addNodeChangeListener

public void addNodeChangeListener(NodeChangeListener ncl)
Описание скопировано из класса: Preferences
Регистрирует указанный слушатель для получения событий изменения узлов этого узла. Событие изменения узла генерируется, когда дочерний узел добавляется в этот узел или удаляется из него. (Один вызов Preferences.removeNode() приводит к нескольким событиям изменения узлов — по одному для каждого узла в поддереве с корнем в удалённом узле.)

События гарантируются только для изменений, выполненных в той же JVM, что и зарегистрированный слушатель, хотя некоторые реализации могут генерировать события для изменений, выполненных вне этой JVM. События могут генерироваться до того, как изменения станут постоянными. События не генерируются при добавлении или удалении непрямых потомков этого узла; чтобы получать такие события, вызывающий код должен зарегистрировать слушатель в каждом потомке.

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

Определён в:
addNodeChangeListener в классе Preferences
Параметры:
ncl — слушатель NodeChangeListener, которого нужно добавить.
См. также:
  • Preferences.removeNodeChangeListener(NodeChangeListener)
  • Preferences.addPreferenceChangeListener(PreferenceChangeListener)

removeNodeChangeListener

public void removeNodeChangeListener(NodeChangeListener ncl)
Описание скопировано из класса: Preferences
Удаляет указанный NodeChangeListener, чтобы он больше не получал события изменений.
Определён в:
removeNodeChangeListener в классе Preferences
Параметры:
ncl — NodeChangeListener, который нужно удалить.
См. также:
  • Preferences.addNodeChangeListener(NodeChangeListener)

putSpi

protected abstract void putSpi(String key, String value)
Помещает указанную пару «ключ-значение» в этот узел настроек. Гарантируется, что key и value не равны null и имеют допустимую длину. Также гарантируется, что этот узел не был удалён. (Реализующему классу не требуется проверять ни одно из этих условий.)

Этот метод вызывается при установленной блокировке данного узла.

Параметры:
key — ключ
value — значение

getSpi

protected abstract String getSpi(String key)
Возвращает значение, связанное с указанным ключом в этом узле настроек, либо null, если для этого ключа нет соответствия или его невозможно определить в данный момент. Гарантируется, что key не равен null. Также гарантируется, что этот узел не был удалён. (Реализующему классу не требуется проверять ни одно из этих условий.)

Как правило, этот метод не должен выбрасывать исключение ни при каких обстоятельствах. Однако если исключение всё же будет выброшено, оно будет перехвачено, а возвращаемым значением будет null.

Этот метод вызывается при установленной блокировке данного узла.

Параметры:
key — ключ
Возвращает:
значение, связанное с указанным ключом в этом узле настроек, либо null, если для этого ключа нет соответствия или его невозможно определить в данный момент.

removeSpi

protected abstract void removeSpi(String key)
Удаляет соответствие (если оно есть) для указанного ключа в этом узле настроек. Гарантируется, что key не равен null. Также гарантируется, что этот узел не был удалён. (Реализующему классу не требуется проверять ни одно из этих условий.)

Этот метод вызывается при установленной блокировке данного узла.

Параметры:
key — ключ

removeNodeSpi

protected abstract void removeNodeSpi() throws BackingStoreException
Удаляет этот узел настроек, делая недействительным его самого и все содержащиеся в нём настройки. На момент вызова этого метода у указанного дочернего узла не должно быть потомков (то есть метод Preferences.removeNode() вызывает этот метод несколько раз снизу вверх, удаляя всех потомков узла до удаления самого узла).

Этот метод вызывается при установленной блокировке этого узла и его родителя (а также всех предков, удаляемых в результате одного вызова Preferences.removeNode()).

Удаление узла может стать постоянным не сразу, а только после вызова метода flush для этого узла (или его предка).

Если этот узел выбрасывает BackingStoreException, исключение выйдет за пределы охватывающего вызова removeNode().

Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.

keysSpi

protected abstract String[] keysSpi() throws BackingStoreException
Возвращает все ключи, которым соответствует значение в этом узле настроек. (Если в узле нет настроек, возвращаемый массив будет пустым.) Гарантируется, что этот узел не был удалён.

Этот метод вызывается при установленной блокировке данного узла.

Если этот узел выбрасывает BackingStoreException, исключение выйдет за пределы охватывающего вызова keys().

Возвращает:
массив ключей, которым соответствует значение в этом узле настроек.
Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.

childrenNamesSpi

protected abstract String[] childrenNamesSpi() throws BackingStoreException
Возвращает имена потомков этого узла настроек. (Если у узла нет потомков, возвращаемый массив будет пустым.) Этот метод не обязан возвращать имена уже кэшированных узлов, но может это делать без каких-либо последствий.

Этот метод вызывается при установленной блокировке данного узла.

Если этот узел выбрасывает BackingStoreException, исключение выйдет за пределы охватывающего вызова childrenNames().

Возвращает:
массив, содержащий имена потомков этого узла настроек.
Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.

getChild

protected AbstractPreferences getChild(String nodeName) throws BackingStoreException
Возвращает указанного потомка, если он существует, или null, если не существует. Гарантируется, что nodeName не равен null, не пуст, не содержит символ косой черты ('/') и имеет длину не больше Preferences.MAX_NAME_LENGTH символов. Также гарантируется, что этот узел не был удалён. (Если реализующий класс переопределяет этот метод, ему не обязательно проверять ни одно из этих условий.)

Наконец, гарантируется, что указанный узел не возвращался предыдущим вызовом этого метода или childSpi(String) после последнего удаления этого узла. Иными словами, кэшированное значение всегда используется вместо вызова этого метода. (Если реализующий класс переопределяет этот метод, ему не обязательно вести собственный кэш ранее возвращённых потомков.)

Эта реализация получает блокировку данного узла настроек, вызывает childrenNames() для получения массива имён потомков этого узла и перебирает массив, сравнивая имя каждого потомка с указанным именем узла. Если имя дочернего узла совпадает, вызывается метод childSpi(String) и возвращается полученный узел. Если перебор завершается без обнаружения указанного имени, возвращается null.

Параметры:
nodeName — имя искомого потомка.
Возвращает:
указанного потомка, если он существует, или null, если не существует.
Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.

childSpi

protected abstract AbstractPreferences childSpi(String name)
Возвращает указанного потомка этого узла настроек, создавая его, если он ещё не существует. Гарантируется, что name не равен null, не пуст, не содержит символ косой черты ('/') и имеет длину не больше Preferences.MAX_NAME_LENGTH символов. Также гарантируется, что этот узел не был удалён. (Реализующему классу не требуется проверять ни одно из этих условий.)

Наконец, гарантируется, что указанный узел не возвращался предыдущим вызовом этого метода или getChild(String) после последнего удаления этого узла. Иными словами, кэшированное значение всегда используется вместо вызова этого метода. Подклассам не требуется вести собственный кэш ранее возвращённых потомков.

Реализующий класс должен гарантировать, что возвращаемый узел не был удалён. Если ранее был удалён потомок этого узла с таким же именем, реализующий класс должен вернуть заново созданный узел AbstractPreferences; удалённый узел AbstractPreferences невозможно «оживить».

Если этот метод приводит к созданию узла, не гарантируется, что он будет сохранён постоянно до вызова метода flush для этого узла или одного из его предков (или потомков).

Этот метод вызывается при установленной блокировке данного узла.

Параметры:
name — имя дочернего узла, который нужно вернуть, относительно этого узла настроек.
Возвращает:
указанный дочерний узел.

toString

public String toString()
Возвращает абсолютное имя пути этого узла настроек.
Определён в:
toString в классе Preferences
Возвращает:
строковое представление объекта

sync

public void sync() throws BackingStoreException
Реализует метод sync в соответствии со спецификацией в Preferences.sync().

Эта реализация вызывает рекурсивный вспомогательный метод, который блокирует этот узел, вызывает для него syncSpi(), снимает блокировку и рекурсивно вызывает этот метод для каждого «кэшированного потомка». Кэшированный потомок — это потомок этого узла, созданный в данной виртуальной машине и впоследствии не удалённый. Фактически этот метод выполняет обход «кэшированного поддерева» с корнем в этом узле в глубину, вызывая syncSpi() для каждого узла поддерева, блокируя только этот узел. Обратите внимание, что syncSpi() вызывается сверху вниз.

Определён в:
sync в классе Preferences
Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.
IllegalStateException — если этот узел (или его предок) был удалён с помощью метода removeNode().
См. также:
  • flush()

syncSpi

protected abstract void syncSpi() throws BackingStoreException
Этот метод вызывается при заблокированном данном узле. Контракт этого метода требует синхронизировать любые кэшированные настройки, хранящиеся в этом узле, с настройками, хранящимися в резервном хранилище. Вполне возможно, что этот узел отсутствует в резервном хранилище: его мог удалить другой экземпляр виртуальной машины или он мог ещё не быть создан. Обратите внимание, что этот метод не должен синхронизировать настройки во вложенных узлах. Если резервное хранилище автоматически синхронизирует всё поддерево целиком, реализующему классу рекомендуется переопределить sync(), а не только этот метод.

Если этот узел выбрасывает BackingStoreException, исключение выйдет за пределы охватывающего вызова sync().

Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.

flush

public void flush() throws BackingStoreException
Реализует метод flush в соответствии со спецификацией в Preferences.flush().

Эта реализация вызывает рекурсивный вспомогательный метод, который блокирует этот узел, вызывает для него flushSpi(), снимает блокировку и рекурсивно вызывает этот метод для каждого «кэшированного потомка». Кэшированный потомок — это потомок этого узла, созданный в данной виртуальной машине и впоследствии не удалённый. Фактически этот метод выполняет обход «кэшированного поддерева» с корнем в этом узле в глубину, вызывая flushSpi() для каждого узла поддерева, блокируя только этот узел. Обратите внимание, что flushSpi() вызывается сверху вниз.

Если этот метод вызван для узла, удалённого с помощью метода removeNode(), flushSpi() вызывается для этого узла, но не для остальных.

Определён в:
flush в классе Preferences
Исключения:
BackingStoreException — если эту операцию невозможно завершить из-за сбоя в резервном хранилище или невозможности установить с ним связь.
См. также:
  • flush()

flushSpi

protected abstract void flushSpi() throws BackingStoreException
Этот метод вызывается, когда данный узел заблокирован. Контракт этого метода требует принудительно сохранить все кэшированные изменения содержимого данного узла настроек в базовом хранилище, гарантируя их сохранность. (Вполне возможно, что данный узел отсутствует в базовом хранилище: например, если он был удалён другой виртуальной машиной или ещё не был создан.) Обратите внимание, что этот метод не должен сбрасывать настройки во вложенных узлах данного узла. Если базовое хранилище по своей природе сбрасывает всё поддерево за один раз, рекомендуется переопределить flush(), а не только этот метод.

Если этот узел выбрасывает BackingStoreException, исключение распространится за пределы охватывающего вызова flush().

Выбрасывает:
BackingStoreException - если эту операцию невозможно завершить из-за сбоя базового хранилища или невозможности установить с ним связь.

isRemoved

protected boolean isRemoved()
Возвращает true тогда и только тогда, когда этот узел (или его предок) был удалён методом removeNode(). Перед возвратом содержимого закрытого поля, используемого для отслеживания этого состояния, этот метод блокирует данный узел.
Возвращает:
true тогда и только тогда, когда этот узел (или его предок) был удалён методом removeNode().

exportNode

public void exportNode(OutputStream os) throws IOException, BackingStoreException
Реализует метод exportNode согласно спецификации в Preferences.exportNode(OutputStream).
Определён в:
exportNode в классе Preferences
Параметры:
os - поток вывода, в который записывается документ XML.
Выбрасывает:
IOException - если запись в указанный поток вывода приводит к IOException.
BackingStoreException - если данные настроек невозможно прочитать из базового хранилища.
См. также:
  • Preferences.importPreferences(InputStream)

exportSubtree

public void exportSubtree(OutputStream os) throws IOException, BackingStoreException
Реализует метод exportSubtree согласно спецификации в Preferences.exportSubtree(OutputStream).
Определён в:
exportSubtree в классе Preferences
Параметры:
os - поток вывода, в который записывается документ XML.
Выбрасывает:
IOException - если запись в указанный поток вывода приводит к IOException.
BackingStoreException - если данные настроек невозможно прочитать из базового хранилища.
См. также:
  • Preferences.importPreferences(InputStream)
  • Preferences.exportNode(OutputStream)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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