FlavorMap — 네이티브와 플레이버 사이의 양방향 맵 인터페이스
FlavorMap — 네이티브와 플레이버 사이의 양방향 맵 인터페이스
플랫폼마다 데이터 형식을 표현하는 방식이 달라요. 플랫폼 특화 형식은 '네이티브(native)' 문자열로, 플랫폼 독립 형식은 MIME 타입 기반의 '플레이버(flavor)'(DataFlavor)로 나타내죠. FlavorMap은 이 둘 사이의 양방향 맵을 정의하는 인터페이스예요.
플레이버는 DataFlavor(플랫폼 독립 MIME 타입)에, 네이티브는 String(플랫폼 특화 데이터 형식)에 대응해요.
본문
FlavorMap은 인터페이스예요.
public interface FlavorMap
정의된 메서드는 다음과 같아요.
Map<DataFlavor,String> getNativesForFlavors(DataFlavor[] flavors)
Map<String,DataFlavor> getFlavorsForNatives(String[] natives)
getNativesForFlavors(...)— 주어진 플레이버들에 대응하는 네이티브 문자열 목록을 돌려줘요.null을 넘기면 사용 가능한 모든 플레이버에 대한 정보를 돌려줘요.getFlavorsForNatives(...)— 주어진 네이티브 문자열들에 대응하는 플레이버 목록을 돌려줘요.null을 넘기면 사용 가능한 모든 네이티브에 대한 정보를 돌려줘요.
FlavorMap은 대칭일 필요는 없지만, 대개 대칭적으로 동작해요. 이 맵은 순수하게 식별을 위한 것이라, 그 값들이 실시간으로 전송 가능한 데이터를 의미하지는 않아요. java.awt.datatransfer 패키지에 속하는 이 인터페이스는 주로 클립보드·드래그 앤 드롭 시스템을 구현할 때 사용돼요.