KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > gui > config > filter > ObjectArrayTransfer


1 /*
2  * Created on 2003-nov-11
3  */

4 package org.columba.mail.gui.config.filter;
5
6 import java.awt.datatransfer.DataFlavor JavaDoc;
7 import java.awt.datatransfer.Transferable JavaDoc;
8 import java.awt.datatransfer.UnsupportedFlavorException JavaDoc;
9 import java.io.IOException JavaDoc;
10
11 import javax.swing.JComponent JavaDoc;
12
13
14 /**
15  * An Object array transfer.
16  *
17  *
18  * @author redsolo
19  */

20 public class ObjectArrayTransfer implements Transferable JavaDoc {
21     /** The only <code>DataFlavor</code> that this transfer allows. */
22     public static DataFlavor JavaDoc FLAVOR;
23
24     static {
25         try {
26             FLAVOR = new DataFlavor JavaDoc(DataFlavor.javaJVMLocalObjectMimeType);
27         } catch (Exception JavaDoc ex) {
28             ex.printStackTrace();
29         }
30     }
31
32     /** The JComponent that created this Transferable */
33     private JComponent JavaDoc source;
34
35     /** The data that is being transfered */
36     private Object JavaDoc[] objectArray;
37
38     /**
39  * Creates an object array transfer from the specified source.
40  * @param comp source component.
41  * @param arr the object array.
42  */

43     public ObjectArrayTransfer(JComponent JavaDoc comp, Object JavaDoc[] arr) {
44         source = comp;
45         objectArray = arr;
46     }
47
48     /** {@inheritDoc}
49  * @return this object (ObjectArrayTransfer) */

50     public Object JavaDoc getTransferData(DataFlavor JavaDoc flavor)
51         throws UnsupportedFlavorException JavaDoc, IOException JavaDoc {
52         if (!isDataFlavorSupported(flavor)) {
53             throw new UnsupportedFlavorException JavaDoc(flavor);
54         }
55
56         return this;
57     }
58
59     /** {@inheritDoc} */
60     public boolean isDataFlavorSupported(DataFlavor JavaDoc flavor) {
61         return FLAVOR.equals(flavor);
62     }
63
64     /** {@inheritDoc} */
65     public DataFlavor JavaDoc[] getTransferDataFlavors() {
66         return new DataFlavor JavaDoc[] { FLAVOR };
67     }
68
69     /**
70  * Returns the source of this transfer.
71  * @return the source of this transfer.
72  */

73     public JComponent JavaDoc getSource() {
74         return source;
75     }
76
77     /**
78  * Returns the object array.
79  * @return the object array.
80  */

81     public Object JavaDoc[] getData() {
82         return objectArray;
83     }
84 }
85
Popular Tags