home *** CD-ROM | disk | FTP | other *** search
- package java.awt.dnd;
-
- import java.awt.datatransfer.DataFlavor;
- import java.awt.datatransfer.Transferable;
- import java.awt.datatransfer.UnsupportedFlavorException;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
-
- public class DropTargetContext$TransferableProxy implements Transferable {
- protected Transferable transferable;
- protected boolean isLocal;
- // $FF: synthetic field
- private final DropTargetContext this$0;
-
- DropTargetContext$TransferableProxy(DropTargetContext var1, Transferable var2, boolean var3) {
- this.this$0 = var1;
- this.transferable = var2;
- this.isLocal = var3;
- }
-
- public synchronized DataFlavor[] getTransferDataFlavors() {
- return this.transferable.getTransferDataFlavors();
- }
-
- public synchronized boolean isDataFlavorSupported(DataFlavor var1) {
- DataFlavor[] var2 = this.getTransferDataFlavors();
- if (var2 != null && var2.length != 0) {
- for(int var3 = 0; var3 < var2.length; ++var3) {
- if (var2[var3].equals(var1)) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- public synchronized Object getTransferData(DataFlavor var1) throws UnsupportedFlavorException, IOException {
- if (!this.isDataFlavorSupported(var1)) {
- throw new UnsupportedFlavorException(var1);
- } else {
- Object var3 = null;
-
- Object var2;
- try {
- var2 = this.transferable.getTransferData(var1);
- } catch (Exception var8) {
- throw new IOException(var8.getClass() + ":" + ((Throwable)var8).getMessage() + " caught while getting Data");
- }
-
- if (this.isLocal && var1.isFlavorSerializedObjectType()) {
- ByteArrayOutputStream var4 = new ByteArrayOutputStream();
- (new ObjectOutputStream(var4)).writeObject(var2);
- ByteArrayInputStream var5 = new ByteArrayInputStream(var4.toByteArray());
-
- try {
- var2 = (new ObjectInputStream(var5)).readObject();
- } catch (ClassNotFoundException var7) {
- throw new IOException(((Throwable)var7).getMessage());
- }
- }
-
- return var2;
- }
- }
- }
-