FlavorTable — 일대다 관계를 허용하는 FlavorMap 인터페이스
FlavorTable — 일대다 관계를 허용하는 FlavorMap 인터페이스
FlavorMap은 전통적인 맵의 1:1 제약을 따르지만, 실제 세상의 데이터 형식은 서로 여러 개가 대응되는 경우가 많아요. FlavorTable은 전통적인 1:1 제약을 완화한 FlavorMap 인터페이스예요.
하나의 플레이버가 여러 네이티브에, 하나의 네이티브가 여러 플레이버에 대응할 수 있어요.
본문
FlavorTable은 FlavorMap을 확장한 인터페이스예요.
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 패키지에 속하는 이 인터페이스는 클립보드·드래그 앤 드롭의 형식 매핑을 유연하게 다룰 때 사용돼요.