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   @Override
38   public DataFlavor[] getTransferDataFlavors() {
39     return flavors;
40   }
41 
42   /*
43    * (non-Javadoc)
44    
45    * @see java.awt.datatransfer.Transferable#isDataFlavorSupported(java.awt.datatransfer.DataFlavor)
46    */
47   @Override
48   public boolean isDataFlavorSupported(DataFlavor df) {
49     return df.equals(ORESOURCE_NODE_FLAVOR);
50   }
51 
52   /*
53    * (non-Javadoc)
54    
55    * @see java.awt.datatransfer.Transferable#getTransferData(java.awt.datatransfer.DataFlavor)
56    */
57   @Override
58   public Object getTransferData(DataFlavor df)
59           throws UnsupportedFlavorException, IOException {
60     if(df.equals(ORESOURCE_NODE_FLAVOR)) {
61       return this;
62     }
63     else throw new UnsupportedFlavorException(df);
64   }
65 
66   public OResource getResource() {
67     return resource;
68   }
69 
70 }