JavaTM Platform
Standard Ed. 6

java.text
클래스 CollationElementIterator

java.lang.Object 
  상위를 확장 java.text.CollationElementIterator


public final class CollationElementIterator
extends Object

CollationElementIterator 클래스는, 각국어 캐릭터 라인의 각 문자를 처리할 때의 반복자로서 사용합니다. 반복자는, 자리 매김을 하고 된 문자의 순서의 우선 순위를 돌려주는데 사용됩니다. 순서의 우선 순위 (키라고 부른다)는, 지정된 조합 객체에 대해, 어느 문자가 어떻게 조합되는지를 정의하는 것입니다.

스페인어의 예를 나타냅니다.

 "ca" -> 최초의 키는 ('c'), 2 번째의 키는 ('a')입니다.
 "cha" -> 최초의 키는 ('ch'), 2 번째의 키는 ('a')입니다.
 
게다가 독일어의 예를 나타냅니다.
 "äb" -> 최초의 키는 ('a'), 2 번째의 키는 ('e'),
 3 번째의 키는 ('b')입니다.
 
문자의 키는, 제 1 순서 (short), 제 2 순서 (byte), 제 3 순서 (byte)로부터 되는 정수입니다. Java 에서는, 그 기본 데이터형의 사이즈와 부호의 유무가 엄밀하게 정의됩니다. 따라서, static 함수 primaryOrder,secondaryOrder,tertiaryOrder 는, 키치의 정확성을 확보하기 위해서, 각각 int,short,short 를 돌려줍니다. 반복자의 사용예

반복자의 사용예


  String testString = "This is a test";
  RuleBasedCollator ruleBasedCollator = (RuleBasedCollator) Collator.getInstance();
  CollationElementIterator collationElementIterator = ruleBasedCollator.getCollationElementIterator(testString);
  int primaryOrder = CollationElementIterator.primaryOrder(collationElementIterator.next());
 

CollationElementIterator.next 는, 다음의 문자의 조합 순서를 돌려줍니다. 조합 순서는, 제 1 순서, 제 2 순서, 제 3 순서로부터 됩니다. 조합 순서의 데이터형은 int 입니다. 조합 순서의 최초의 16 비트가 그 제 1 순서, 다음의 8 비트가 제 2 순서, 마지막 8 비트가 제 3 순서입니다.

관련 항목:
Collator , RuleBasedCollator

필드의 개요
static int NULLORDER
          커서가 캐릭터 라인의 마지막에 이른 것을 나타내는 null 순서입니다.
 
메소드의 개요
 int getMaxExpansion (int order)
          지정된 비교 순서로 끝나는 모든 전개 순서의 최대 길이을 돌려줍니다.
 int getOffset ()
          다음의 조합 요소에 대응하는 원의 텍스트내의 문자 오프셋(offset)를 돌려줍니다.
 int next ()
          캐릭터 라인의 다음의 조합 요소를 가져옵니다.
 int previous ()
          캐릭터 라인의 전의 조합 요소를 가져옵니다.
static int primaryOrder (int order)
          조합 요소의 제 1 성분을 돌려줍니다.
 void reset ()
          커서를 캐릭터 라인의 선두에 리셋 합니다.
static short secondaryOrder (int order)
          조합 요소의 제 2 성분을 돌려줍니다.
 void setOffset (int newOffset)
          반복자가 지정된 문자에 대응하는 조합 요소를 나타내도록(듯이) 설정합니다.
 void setText (CharacterIterator  source)
          반복 처리의 대상이 되는 새로운 캐릭터 라인을 설정합니다.
 void setText (String  source)
          반복 처리의 대상이 되는 새로운 캐릭터 라인을 설정합니다.
static short tertiaryOrder (int order)
          조합 요소의 제 3 성분을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

NULLORDER

public static final int NULLORDER
커서가 캐릭터 라인의 마지막에 이른 것을 나타내는 null 순서입니다.

관련 항목:
정수 필드치
메소드의 상세

reset

public void reset()
커서를 캐릭터 라인의 선두에 리셋 합니다. next()를 다음에 호출하면(자), 캐릭터 라인의 최초의 조합 요소가 돌려주어집니다.


next

public int next()
캐릭터 라인의 다음의 조합 요소를 가져옵니다.

이 반복자는, 그 캐릭터 라인으로 작성된 조합 요소의 순서 대해 반복 처리를 실행합니다. 문자로부터 조합 요소에의 1 대 1 의 매핑이 반드시 존재하지 않기 때문에, 이것은, 「캐릭터 라인의 다음의 문자의 조합 요소 [순서의 우선 순위] 를 돌려준다」일과는 다릅니다.

이 함수는, 반복자가 현재 가리키고 있는 조합 요소를 돌려주고 나서, 내부 포인터를 갱신해 다음의 요소를 나타냅니다. 그에 대해, previous()는 최초로 포인터를 갱신하고 나서 요소를 돌려줍니다. 이것은, 반복 처리중으로 방향을 변경하는 경우 (즉, next()를 호출하고 나서 previous()를 호출하는지, previous()를 호출하고 나서 next()를 호출한다), 같은 요소를 2 회 되돌리는 것을 의미합니다.


previous

public int previous()
캐릭터 라인의 전의 조합 요소를 가져옵니다.

이 반복자는, 그 캐릭터 라인으로 작성된 조합 요소의 순서 대해 반복 처리를 실행합니다. 문자로부터 조합 요소에의 1 대 1 의 매핑이 반드시 존재하지 않기 때문에, 이것은, 「캐릭터 라인의 1 개전의 문자의 조합 요소 [순서의 우선 순위] 를 돌려준다」일과는 다릅니다.

이 함수는, 반복자의 내부 포인터를 갱신해 현재 가리키고 있는 조합 요소의 전의 조합 요소를 나타내고 나서, 요소를 돌려줍니다. 그에 대해, next()는 현재의 요소를 돌려주고 나서 포인터를 갱신합니다. 이것은, 반복 처리중으로 방향을 변경하는 경우 (즉, next()를 호출하고 나서 previous()를 호출하는지, previous()를 호출하고 나서 next()를 호출한다), 같은 요소를 2 회 되돌리는 것을 의미합니다.

도입된 버젼:
1.2

primaryOrder

public static final int primaryOrder(int order)
조합 요소의 제 1 성분을 돌려줍니다.

파라미터:
order - 조합 요소
반환값:
요소의 제 1 성분

secondaryOrder

public static final short secondaryOrder(int order)
조합 요소의 제 2 성분을 돌려줍니다.

파라미터:
order - 조합 요소
반환값:
요소의 제 2 성분

tertiaryOrder

public static final short tertiaryOrder(int order)
조합 요소의 제 3 성분을 돌려줍니다.

파라미터:
order - 조합 요소
반환값:
요소의 제 3 성분

setOffset

public void setOffset(int newOffset)
반복자가 지정된 문자에 대응하는 조합 요소를 나타내도록(듯이) 설정합니다. 파라미터는, 원의 캐릭터 라인의 문자 오프셋(offset)이며, 조합 요소의 대응하는 순서에의 오프셋(offset)가 아닙니다. next()의 다음의 호출로 반환되는 값은, 텍스트내의 지정된 위치에 대응하는 조합 요소가 됩니다. 그 위치가 축소 문자 순서안에 있는 경우, next()를 다음에 호출한 결과는, 그 순서의 조합 요소가 됩니다. 즉, getOffset()는, setOffset()를 앞에 두고 호출 때에게 건네진 값과 같은 값을 돌려주지 않는 경우가 있습니다.

파라미터:
newOffset - 원의 텍스트에의 새로운 문자 오프셋(offset)
도입된 버젼:
1.2

getOffset

public int getOffset()
다음의 조합 요소에 대응하는 원의 텍스트내의 문자 오프셋(offset)를 돌려줍니다. 즉, getOffset()는, next()의 다음의 호출로 반환되는 조합 요소에 대응하는 텍스트내의 위치를 돌려줍니다. 이 값은 항상 조합 요소에 대응하는 최초의 문자의 인덱스가 됩니다 (2 개(살) 이상의 모든 문자가 같은 조합 요소에 대응하는 경우는 축소 문자 순서). 즉, setOffset(x)의 직후에 getOffset()를 실행하면(자), getOffset()는 x 를 돌려주지 않는 경우도 있습니다.

반환값:
next()의 다음의 호출로 반환되는 조합 요소에 대응한다 원의 텍스트내의 문자 오프셋(offset)
도입된 버젼:
1.2

getMaxExpansion

public int getMaxExpansion(int order)
지정된 비교 순서로 끝나는 모든 전개 순서의 최대 길이을 돌려줍니다.

파라미터:
order - previous 또는 next 가 돌려주는 조합 순서
반환값:
지정된 순서로 끝난다 모든 전개 순서의 최대 길이
도입된 버젼:
1.2

setText

public void setText(String  source)
반복 처리의 대상이 되는 새로운 캐릭터 라인을 설정합니다.

파라미터:
source - 새로운 소스 텍스트
도입된 버젼:
1.2

setText

public void setText(CharacterIterator  source)
반복 처리의 대상이 되는 새로운 캐릭터 라인을 설정합니다.

파라미터:
source - 새로운 소스 텍스트
도입된 버젼:
1.2

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.