summaryrefslogtreecommitdiff
path: root/libjava/java/awt/datatransfer
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/awt/datatransfer')
-rw-r--r--libjava/java/awt/datatransfer/FlavorTable.java73
-rw-r--r--libjava/java/awt/datatransfer/MimeTypeParseException.java48
-rw-r--r--libjava/java/awt/datatransfer/Transferable.java83
-rw-r--r--libjava/java/awt/datatransfer/UnsupportedFlavorException.java43
4 files changed, 156 insertions, 91 deletions
diff --git a/libjava/java/awt/datatransfer/FlavorTable.java b/libjava/java/awt/datatransfer/FlavorTable.java
new file mode 100644
index 00000000000..23fa9fa1fc1
--- /dev/null
+++ b/libjava/java/awt/datatransfer/FlavorTable.java
@@ -0,0 +1,73 @@
+/* FlavorTable.java -- A relaxed mapping between flavors
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.datatransfer;
+
+import java.util.List;
+
+/**
+ * A FlavorMap which no longer requires a 1-to-1 mapping between flavors. Any
+ * native can map to multiple flavors, and any flavor can map to multiple
+ * natives; although the mappings are usually symmetric.
+ *
+ * @author Eric Blake <ebb9@email.byu.edu>
+ * @since 1.4
+ * @status updated to 1.4
+ */
+public interface FlavorTable extends FlavorMap
+{
+ /**
+ * Returns a list of String natives corresponding to the given flavor. The
+ * list should be sorted from best to worst. The list must be modifiable
+ * without affecting this table.
+ *
+ * @param flavor the flavor to look up, or null to return all natives
+ * @return the sorted list of natives
+ */
+ List getNativesForFlavor(DataFlavor flavor);
+
+ /**
+ * Returns a list of flavors corresponding to the given String native. The
+ * list should be sorted from best to worst. The list must be modifiable
+ * without affecting this table.
+ *
+ * @param native the native to look up, or null to return all flavors
+ * @return the sorted list of flavors
+ */
+ List getFlavorsForNative(String name);
+} // interface FlavorTable
diff --git a/libjava/java/awt/datatransfer/MimeTypeParseException.java b/libjava/java/awt/datatransfer/MimeTypeParseException.java
index 32bc8850b31..42aecac0528 100644
--- a/libjava/java/awt/datatransfer/MimeTypeParseException.java
+++ b/libjava/java/awt/datatransfer/MimeTypeParseException.java
@@ -1,5 +1,5 @@
-/* MimeTypeParseException.java -- Thrown when MIME string couldn't be parsed.
- Copyright (C) 2001 Free Software Foundation, Inc.
+/* MimeTypeParseException.java -- thrown when MIME string couldn't be parsed
+ Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -41,30 +41,30 @@ package java.awt.datatransfer;
/**
* MIME string couldn't be parsed correctly.
*
- * @author Mark Wielaard (mark@klomp.org)
+ * @author Mark Wielaard <mark@klomp.org>
+ * @status updated to 1.4
*/
-public class MimeTypeParseException extends Exception
+public class MimeTypeParseException extends Exception
{
+ /**
+ * Compatible with JDK 1.1+.
+ */
+ private static final long serialVersionUID = -5604407764691570741L;
-/**
- * Initializes a new instance of <code>MimeTypeParseException</code>
- * without any message.
- */
-public
-MimeTypeParseException()
-{
- super();
-}
-
-/**
- * Initializes a new instance of <code>MimeTypeParseException</code>
- * with a specified detailed error message.
- */
-public
-MimeTypeParseException(String message)
-{
- super(message);
-}
+ /**
+ * Create a new instance without any message.
+ */
+ public MimeTypeParseException()
+ {
+ }
+ /**
+ * Create a new instance with a specified detailed error message.
+ *
+ * @param message the message
+ */
+ public MimeTypeParseException(String message)
+ {
+ super(message);
+ }
} // class MimeTypeParseException
-
diff --git a/libjava/java/awt/datatransfer/Transferable.java b/libjava/java/awt/datatransfer/Transferable.java
index 52dac691e5b..ad957ed0868 100644
--- a/libjava/java/awt/datatransfer/Transferable.java
+++ b/libjava/java/awt/datatransfer/Transferable.java
@@ -1,5 +1,5 @@
/* Transferable.java -- Data transfer source
- Copyright (C) 1999 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -41,52 +41,41 @@ package java.awt.datatransfer;
import java.io.IOException;
/**
- * This interface is implemented by classes that can transfer data.
- *
- * @author Aaron M. Renn (arenn@urbanophile.com)
- */
+ * This interface is implemented by classes that can transfer data.
+ *
+ * @author Aaron M. Renn <arenn@urbanophile.com>
+ * @since 1.1
+ * @status updated to 1.4
+ */
public interface Transferable
{
-
-/**
- * Returns the data in the specified <code>DataFlavor</code>
- *
- * @param flavor The data flavor to return.
- *
- * @return The data in the appropriate flavor.
- *
- * @exception UnsupportedFlavorException If the flavor is not supported.
- * @exception IOException If the data is not available.
- */
-public abstract Object
-getTransferData(DataFlavor flavor) throws UnsupportedFlavorException,
- IOException;
-
-/*************************************************************************/
-
-/**
- * This method returns a list of available data flavors for the
- * data being transferred. The array returned will be sorted from most
- * preferred flavor at the beginning to least preferred at the end.
- *
- * @return A list of data flavors for this data.
- */
-public abstract DataFlavor[]
-getTransferDataFlavors();
-
-/*************************************************************************/
-
-/**
- * Tests whether or not this data can be delivered in the specified
- * data flavor.
- *
- * @param flavor The data flavor to test.
- *
- * @return <code>true</code> if the data flavor is supported,
- * <code>false</code> otherwise.
- */
-public abstract boolean
-isDataFlavorSupported(DataFlavor flavor);
-
+ /**
+ * This method returns a list of available data flavors for the data being
+ * transferred. The array returned will be sorted from most preferred
+ * flavor at the beginning to least preferred at the end.
+ *
+ * @return adA list of data flavors for this data
+ */
+ public abstract DataFlavor[] getTransferDataFlavors();
+
+ /**
+ * Tests whether or not this data can be delivered in the specified data
+ * flavor.
+ *
+ * @param flavor the data flavor to test
+ * @return true if the data flavor is supported
+ */
+ public abstract boolean isDataFlavorSupported(DataFlavor flavor);
+
+ /**
+ * Returns the data in the specified <code>DataFlavor</code>.
+ *
+ * @param flavor the data flavor to return
+ * @return the data in the appropriate flavor
+ * @throws UnsupportedFlavorException if the flavor is not supported
+ * @throws IOException if the data is not available
+ * @see DataFlavor#getRepresentationClass
+ */
+ public abstract Object getTransferData(DataFlavor flavor)
+ throws UnsupportedFlavorException, IOException;
} // interface Transferable
-
diff --git a/libjava/java/awt/datatransfer/UnsupportedFlavorException.java b/libjava/java/awt/datatransfer/UnsupportedFlavorException.java
index a31059ef23a..620452be6f8 100644
--- a/libjava/java/awt/datatransfer/UnsupportedFlavorException.java
+++ b/libjava/java/awt/datatransfer/UnsupportedFlavorException.java
@@ -1,5 +1,5 @@
-/* UnsupportedFlavorException.java -- Data flavor is not valid.
- Copyright (C) 1999 Free Software Foundation, Inc.
+/* UnsupportedFlavorException.java -- ata flavor is not valid
+ Copyright (C) 1999, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -39,24 +39,27 @@ exception statement from your version. */
package java.awt.datatransfer;
/**
- * The data flavor requested is not supported for the transfer data.
- *
- * @author Aaron M. Renn (arenn@urbanophile.com)
- */
-public class UnsupportedFlavorException extends Exception
+ * The data flavor requested is not supported for the transfer data.
+ *
+ * @author Aaron M. Renn <arenn@urbanophile.com>
+ * @see Transferable#getTransferData(DataFlavor)
+ * @status updated to 1.4
+ */
+public class UnsupportedFlavorException extends Exception
{
+ /**
+ * Compatible with JDK 1.1+.
+ */
+ private static final long serialVersionUID = 5383814944251665601L;
-/**
- * Initializes a new instance of <code>UnsupportedDataFlavor</code>
- * for the specified data flavor.
- *
- * @param flavor The data flavor that is not supported.
- */
-public
-UnsupportedFlavorException(DataFlavor flavor)
-{
- super(flavor.getHumanPresentableName());
-}
-
+ /**
+ * Initializes a new instance of <code>UnsupportedDataFlavor</code>
+ * for the specified data flavor.
+ *
+ * @param flavor the data flavor that is not supported
+ */
+ public UnsupportedFlavorException(DataFlavor flavor)
+ {
+ super(flavor == null ? null : flavor.getHumanPresentableName());
+ }
} // class UnsupportedFlavorException
-