/* * @(#)FlavorTable.java 1.5 04/05/05 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.awt.datatransfer; import java.util.List; /** * A FlavorMap which relaxes the traditional 1-to-1 restriction of a Map. A * flavor is permitted to map to any number of natives, and likewise a native * is permitted to map to any number of flavors. FlavorTables need not be * symmetric, but typically are. * * @author David Mendenhall * @version 1.5, 05/05/04 * * @since 1.4 */ public interface FlavorTable extends FlavorMap { /** * Returns a List of String natives to which the * specified DataFlavor corresponds. The List * will be sorted from best native to worst. That is, the first native will * best reflect data in the specified flavor to the underlying native * platform. The returned List is a modifiable copy of this * FlavorTable's internal data. Client code is free to modify * the List without affecting this object. * * @param flav the DataFlavor whose corresponding natives * should be returned. If null is specified, all * natives currently known to this FlavorTable are * returned in a non-deterministic order. * @return a java.util.List of java.lang.String * objects which are platform-specific representations of platform- * specific data formats */ List getNativesForFlavor(DataFlavor flav); /** * Returns a List of DataFlavors to which the * specified String corresponds. The List will be * sorted from best DataFlavor to worst. That is, the first * DataFlavor will best reflect data in the specified * native to a Java application. The returned List is a * modifiable copy of this FlavorTable's internal data. * Client code is free to modify the List without affecting * this object. * * @param nat the native whose corresponding DataFlavors * should be returned. If null is specified, all * DataFlavors currently known to this * FlavorTable are returned in a non-deterministic * order. * @return a java.util.List of DataFlavor * objects into which platform-specific data in the specified, * platform-specific native can be translated */ List getFlavorsForNative(String nat); }