CompositeType
CompositeType (복합 타입)
CompositeData 값의 타입을 기술하는 오픈 타입 클래스예요. OpenType<CompositeData>를 상속해요.
본문
CompositeType은 항목 이름과 각 항목의 설명, 오픈 타입을 정의해요. 생성자는:
CompositeType(String typeName, String description, String[] itemNames, String[] itemDescriptions, OpenType<?>[] itemTypes)
세 배열 파라미터의 내용은 내부적으로 복사되므로, 호출자가 나중에 배열을 수정해도 구성된 CompositeType 인스턴스에는 영향이 없어요. 이 복합 타입이 나타내는 복합 데이터 값의 Java 클래스 이름(getClassName())은 CompositeData.class.getName()으로 설정돼요.
typeName이 null 또는 빈 문자열이거나, 설명이 null/빈 문자열이거나, 어느 배열이든 null이거나, 요소가 null/빈 문자열이거나, 배열 크기가 다르면 IllegalArgumentException이 발생해요.
주요 메서드는 다음과 같아요.
- containsKey(String itemName): 이 타입이 지정된 이름의 항목을 정의하는지 검사해요.
- getDescription(String itemName) / getType(String itemName): 지정된 항목의 설명/오픈 타입을 반환해요. 없으면
null을 반환해요. - keySet(): 모든 항목 이름의 수정 불가 Set 뷰를 반환해요. 오름차순으로 반환해요.
- isValue(Object obj):
obj가 이 타입으로 기술될 수 있는 값인지 검사해요.obj가CompositeData면 그CompositeType이 이 타입에서 할당 가능한지 검사해요.