AbstractPreferences.Node(String) Método

Definição

Implementa o node método de acordo com a especificação em 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

Parâmetros

path
String

o nome do caminho do nó de preferência a ser retornado.

Retornos

o nó de preferência especificado.

Atributos

Comentários

Implementa o node método de acordo com a especificação em Preferences#node(String).

Essa implementação obtém o bloqueio desse nó de preferência e verifica se o nó não foi removido. Se path for "", esse nó será retornado; se path for "/", a raiz desse nó será retornada. Se o primeiro caractere path não '/'estiver, a implementação dividirá path tokens e percorrerá recursivamente o caminho desse nó até o nó nomeado, "consumindo" um nome e uma barra de path cada etapa da passagem. Em cada etapa, o nó atual é bloqueado e o cache filho do nó é verificado para o nó nomeado. Se não for encontrado, o nome será verificado para garantir que seu comprimento não exceda MAX_NAME_LENGTH. Em seguida, o #childSpi(String) método é invocado e o resultado armazenado no cache filho desse nó. Se o campo do Preferences objeto recém-criado #newNode for true e houver ouvintes de alteração de nó, um evento de notificação será enfileirado para processamento pelo thread de expedição de eventos.

Quando não há mais tokens, o último valor encontrado no cache filho ou retornado por childSpi esse método é retornado. Se durante a passagem, dois "/" tokens ocorrerem consecutivamente ou o token final for "/" (em vez de um nome), um apropriado IllegalArgumentException será lançado.

Se o primeiro caractere for path'/' (indicando um nome de caminho absoluto) esse bloqueio do nó de preferência será descartado antes de invadir path tokens, e esse método percorrerá recursivamente o caminho a partir da raiz (em vez de começar desse nó). A passagem é idêntica à descrita para nomes de caminho relativos. Remover o bloqueio nesse nó antes de iniciar a passagem no nó raiz é essencial para evitar a possibilidade de deadlock, de acordo com o #lock locking invariant.

Java documentação para java.util.prefs.AbstractPreferences.node(java.lang.String).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Aplica-se a