FlavorTable — 일대다 관계를 허용하는 FlavorMap 인터페이스

FlavorTable — 일대다 관계를 허용하는 FlavorMap 인터페이스

FlavorMap은 전통적인 맵의 1:1 제약을 따르지만, 실제 세상의 데이터 형식은 서로 여러 개가 대응되는 경우가 많아요. FlavorTable전통적인 1:1 제약을 완화한 FlavorMap 인터페이스예요.

하나의 플레이버가 여러 네이티브에, 하나의 네이티브가 여러 플레이버에 대응할 수 있어요.

출처: Java API Reference

본문

FlavorTableFlavorMap을 확장한 인터페이스예요.

public interface FlavorTable extends FlavorMap

정의된 메서드는 다음과 같아요.

List<String> getNativesForFlavor(DataFlavor flavor)
List<DataFlavor> getFlavorsForNative(String nat)
  • getNativesForFlavor(DataFlavor flavor) — 주어진 플레이버에 대응하는 모든 네이티브 문자열 목록을 돌려줘요. 여러 개일 수 있어요.
  • getFlavorsForNative(String nat) — 주어진 네이티브에 대응하는 모든 플레이버 목록을 돌려줘요.

FlavorMap과 달리 이 인터페이스는 특정 플레이버 하나 → 네이티브 여러 개, 특정 네이티브 하나 → 플레이버 여러 개의 관계를 조회할 수 있어요. 매개변수에 null이 들어가면 사용 가능한 전체 집합에 해당하는 결과를 돌려줘요.

대칭일 필요는 없지만 대개 대칭적으로 구현돼요. java.awt.datatransfer 패키지에 속하는 이 인터페이스는 클립보드·드래그 앤 드롭의 형식 매핑을 유연하게 다룰 때 사용돼요.

더 알아보기 (Learn more)