CompositeDataSupport
CompositeDataSupport (복합 데이터 지원 클래스)
CompositeData 인터페이스를 구현하는 오픈 데이터 클래스예요. Serializable을 구현해요.
본문
CompositeDataSupport는 두 가지 생성자를 제공해요.
CompositeDataSupport(CompositeType compositeType, String[] itemNames, Object[] itemValues):itemValues[]의 값을itemNames[]의 순서대로 가진 인스턴스를 만들어요.CompositeType은 항목에 순서를 지정하지 않으므로itemNames[]가 값이 주어지는 순서를 지정해요. 항목은 내부적으로TreeMap에 저장되어 이름의 오름차순 사전 순으로 정렬돼 개별 항목 값을 빠르게 검색할 수 있어요.CompositeDataSupport(CompositeType compositeType, Map<String,?> items): 맵의 키-값을 문자열 배열/객체 배열로 변환해 위 생성자를 호출해요.
생성자는 각 파라미터에 대한 모든 제약을 검사하고 충족되지 않으면 적절한 예외를 던져요. compositeType이 null이거나, itemNames[]/itemValues[]가 null 또는 비어 있거나, itemNames[]의 요소가 null/빈 문자열이거나, 두 배열 크기가 다르면 IllegalArgumentException이 발생해요.
구현하는 메서드로는 getCompositeType(), get(String key), getAll(String[] keys), containsKey(String), containsValue(Object), values(), equals(Object), hashCode(), toString()이 있어요.