CompoundName
CompoundName (복합 이름)
계층적 네임스페이스에서 온 이름을 나타내는 클래스입니다. 복합 이름의 각 컴포넌트는 원자적 이름입니다.
본문
컴포넌트 인덱스는 N개의 컴포넌트를 가진 이름에서 0부터 N 미만까지이며, 빈 복합 이름은 컴포넌트가 없습니다. 복합 이름의 구문은 속성 집합으로 지정됩니다. 예를 들어 파싱 방향(jndi.syntax.direction), 컴포넌트 구분자(jndi.syntax.separator), 대소문자 무시 여부(jndi.syntax.ignorecase), 이스케이프 문자열(jndi.syntax.escape), 따옴표 문자열(jndi.syntax.beginquote/endquote) 등이 있습니다.
따옴표나 이스케이프가 없는 문자열에서 구분자의 각 인스턴스는 두 원자적 이름을 구분합니다. 이스케이프된 구분자 또는 따옴표나 이스케이프 사이에 나타난 구분자는 보통 문자열로 취급됩니다. 선행 구분자는 선행 빈 원자 컴포넌트를, 후행 구분자는 후행 빈 원자 컴포넌트를, 인접 구분자는 빈 원자 컴포넌트를 나타냅니다.
복합 이름의 문자열 형태는 위 구문을 따르며, 컴포넌트를 문자열 표현으로 바꿀 때는 예약 구문 규칙(예: 내장 구분자 이스케이프/인용)이 적용되어 같은 문자열을 다시 파싱하면 원래 컴포넌트와 동일한 결과가 나옵니다.
CompoundName 인스턴스는 동시 다중 스레드 접근에 대해 동기화되지 않으므로, 여러 스레드가 하나의 CompoundName을 접근·수정하려면 객체를 잠가야 합니다.