AttributedCharacterIterator

AttributedCharacterIterator (속성 정보 포함 문자 반복자)

텍스트와 관련 속성 정보를 함께 순회(iteration)할 수 있게 해 주는 인터페이스예요. 문자 하나하나를 보면서 그 문자에 붙은 속성까지 동시에 확인할 수 있어요.

출처: Java API Reference

본문

속성(attribute)은 키로 식별되는 키/값 쌍이에요. 같은 문자에 붙은 두 속성은 같은 키를 가질 수 없어요. 속성의 값은 불변이거나, 클라이언트나 저장소가 변경하지 않아야 해요. 값은 항상 참조로 전달되며 복제(clone)되지 않아요.

어떤 속성을 기준으로 한 'run'은 다음 조건을 만족하는 최대 텍스트 범위예요.

  • 그 범위 전체에서 속성이 정의되지 않았거나 null이거나
  • 속성값이 정의되어 있고 전체 범위에서 같은 비-null 값을 갖거나

속성의 집합을 기준으로 한 run은 각 멤버 속성에 대해 이 조건이 모두 성립하는 최대 범위를 말해요.

getRunStart()getRunLimit()처럼 속성을 명시하지 않으면, 같은 속성(같은 키/값 쌍 집합)을 가지는 연속 구간이라도 별도로 부여된 경우엔 서로 다른 run으로 취급돼요. 반환되는 인덱스는 반복자 범위 안으로 제한되고, 반환되는 속성 정보는 현재 문자를 포함하는 run으로 제한돼요. 속성 키는 AttributedCharacterIterator.Attribute와 그 하위 클래스(예: TextAttribute)의 인스턴스예요.

더 알아보기 (Learn more)

Java 공식 API