언어

AbstractPreferences.Node(String) 메서드

정의

의 사양nodePreferences#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

반환할 기본 설정 노드의 경로 이름입니다.

반품

지정된 기본 설정 노드입니다.

특성

설명

의 사양nodePreferences#node(String) 따라 메서드를 구현합니다.

이 구현은 이 기본 설정 노드의 잠금을 가져오고 노드가 제거되지 않은지 확인합니다. 이 노드 path""반환 path"/"되면 이 노드의 루트가 반환됩니다. 첫 번째 문자 path 가 없는 '/'경우 구현은 토큰으로 분리 path 되고 이 노드에서 명명된 노드로 경로를 재귀적으로 트래버스하여 순회의 각 단계에서 이름과 슬래시 path 를 "사용"합니다. 각 단계에서 현재 노드가 잠겨 있고 노드의 자식 캐시가 명명된 노드에 대해 확인됩니다. 찾을 수 없으면 이름이 선택되어 길이가 초과 MAX_NAME_LENGTH되지 않는지 확인합니다. 그런 다음 메서드가 #childSpi(String) 호출되고 결과가 이 노드의 자식 캐시에 저장됩니다. 새로 만든 Preferences 개체의 #newNode 필드가 true 있고 노드 변경 수신기가 있는 경우 이벤트 디스패치 스레드에서 처리하기 위해 알림 이벤트가 큐에 추가됩니다.

토큰이 더 이상 없으면 자식 캐시에서 찾거나 반환한 childSpi 마지막 값이 이 메서드에서 반환됩니다. 순회 중에 두 개의 "/" 토큰이 연속적으로 발생하거나 최종 토큰이 "/" 이름이 아닌 경우 적절한 IllegalArgumentException 토큰이 throw됩니다.

첫 번째 문자 path'/' 절대 경로 이름을 나타내는 경우 토큰에 침입 path 하기 전에 이 기본 설정 노드의 잠금이 삭제되고 이 메서드는 루트에서 시작하는 경로를 재귀적으로 트래버스합니다(이 노드에서 시작하지 않고). 통과는 상대 경로 이름에 대해 설명된 것과 동일하지 않습니다. 루트 노드에서 순회를 시작하기 전에 이 노드에 대한 잠금을 삭제하는 것은 교착 상태 #lock locking invariant의 가능성을 피하기 위해 필요합니다.

에 대한 java.util.prefs.AbstractPreferences.node(java.lang.String)Java 설명서

이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.

적용 대상