OResourceNode.java
01 /**
02  
03  */
04 package gate.gui.ontology;
05 
06 import gate.creole.ontology.OResource;
07 
08 import java.awt.datatransfer.DataFlavor;
09 import java.awt.datatransfer.Transferable;
10 import java.awt.datatransfer.UnsupportedFlavorException;
11 import java.io.IOException;
12 
13 /**
14  @author niraj
15  
16  */
17 public class OResourceNode implements Transferable {
18 
19   /** flavor used for drag and drop */
20   final public static DataFlavor ORESOURCE_NODE_FLAVOR = new DataFlavor(
21           OResourceNode.class, "OResource Node");
22 
23   static DataFlavor flavors[] {ORESOURCE_NODE_FLAVOR};
24 
25   private OResource resource;
26 
27   public OResourceNode(OResource resource) {
28     super();
29     this.resource = resource;
30   }
31 
32   /*
33    * (non-Javadoc)
34    
35    * @see java.awt.datatransfer.Transferable#getTransferDataFlavors()
36    */
37   public DataFlavor[] getTransferDataFlavors() {
38     return flavors;
39   }
40 
41   /*
42    * (non-Javadoc)
43    
44    * @see java.awt.datatransfer.Transferable#isDataFlavorSupported(java.awt.datatransfer.DataFlavor)
45    */
46   public boolean isDataFlavorSupported(DataFlavor df) {
47     return df.equals(ORESOURCE_NODE_FLAVOR);
48   }
49 
50   /*
51    * (non-Javadoc)
52    
53    * @see java.awt.datatransfer.Transferable#getTransferData(java.awt.datatransfer.DataFlavor)
54    */
55   public Object getTransferData(DataFlavor df)
56           throws UnsupportedFlavorException, IOException {
57     if(df.equals(ORESOURCE_NODE_FLAVOR)) {
58       return this;
59     }
60     else throw new UnsupportedFlavorException(df);
61   }
62 
63   public OResource getResource() {
64     return resource;
65   }
66 
67 }