136 @Override
137 public DataFlavor[] getTransferDataFlavors() {
138 return flavors.clone();
139 }
140
141 @Override
142 public boolean isDataFlavorSupported(DataFlavor flavor) {
143 return flavorsToData.containsKey(flavor);
144 }
145
146 @Override
147 public Object getTransferData(DataFlavor flavor)
148 throws UnsupportedFlavorException, IOException
149 {
150 if (!isDataFlavorSupported(flavor)) {
151 throw new UnsupportedFlavorException(flavor);
152 }
153 Object ret = flavorsToData.get(flavor);
154 if (ret instanceof IOException) {
155 // rethrow IOExceptions generated while fetching data
156 throw (IOException)ret;
157 } else if (ret instanceof DataFactory) {
158 // Now we can render the data
159 DataFactory factory = (DataFactory)ret;
160 ret = factory.getTransferData(flavor);
161 }
162 return ret;
163 }
164
165 }
|
136 @Override
137 public DataFlavor[] getTransferDataFlavors() {
138 return flavors.clone();
139 }
140
141 @Override
142 public boolean isDataFlavorSupported(DataFlavor flavor) {
143 return flavorsToData.containsKey(flavor);
144 }
145
146 @Override
147 public Object getTransferData(DataFlavor flavor)
148 throws UnsupportedFlavorException, IOException
149 {
150 if (!isDataFlavorSupported(flavor)) {
151 throw new UnsupportedFlavorException(flavor);
152 }
153 Object ret = flavorsToData.get(flavor);
154 if (ret instanceof IOException) {
155 // rethrow IOExceptions generated while fetching data
156 throw new IOException("Exception fetching data: ", (IOException)ret);
157 } else if (ret instanceof DataFactory) {
158 // Now we can render the data
159 DataFactory factory = (DataFactory)ret;
160 ret = factory.getTransferData(flavor);
161 }
162 return ret;
163 }
164
165 }
|