Язык

AbstractPreferences.Node(String) Метод

Определение

node Реализует метод согласно спецификацииPreferences#node(String).

[Android.Runtime.Register("node", "(Ljava/lang/String;)Ljava/util/prefs/Preferences;", "GetNode_Ljava_lang_String_Handler")]
public override Java.Util.Prefs.Preferences? Node(string? path);
[<Android.Runtime.Register("node", "(Ljava/lang/String;)Ljava/util/prefs/Preferences;", "GetNode_Ljava_lang_String_Handler")>]
override this.Node : string -> Java.Util.Prefs.Preferences

Параметры

path
String

Имя пути возвращаемого узла предпочтения.

Возвращаемое значение

указанный узел предпочтения.

Атрибуты

Комментарии

node Реализует метод согласно спецификацииPreferences#node(String).

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

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

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

Java документации по java.util.prefs.AbstractPreferences.node(java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к