home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / java / awt / dnd / DropTargetContext$TransferableProxy.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.1 KB  |  70 lines

  1. package java.awt.dnd;
  2.  
  3. import java.awt.datatransfer.DataFlavor;
  4. import java.awt.datatransfer.Transferable;
  5. import java.awt.datatransfer.UnsupportedFlavorException;
  6. import java.io.ByteArrayInputStream;
  7. import java.io.ByteArrayOutputStream;
  8. import java.io.IOException;
  9. import java.io.ObjectInputStream;
  10. import java.io.ObjectOutputStream;
  11.  
  12. public class DropTargetContext$TransferableProxy implements Transferable {
  13.    protected Transferable transferable;
  14.    protected boolean isLocal;
  15.    // $FF: synthetic field
  16.    private final DropTargetContext this$0;
  17.  
  18.    DropTargetContext$TransferableProxy(DropTargetContext var1, Transferable var2, boolean var3) {
  19.       this.this$0 = var1;
  20.       this.transferable = var2;
  21.       this.isLocal = var3;
  22.    }
  23.  
  24.    public synchronized DataFlavor[] getTransferDataFlavors() {
  25.       return this.transferable.getTransferDataFlavors();
  26.    }
  27.  
  28.    public synchronized boolean isDataFlavorSupported(DataFlavor var1) {
  29.       DataFlavor[] var2 = this.getTransferDataFlavors();
  30.       if (var2 != null && var2.length != 0) {
  31.          for(int var3 = 0; var3 < var2.length; ++var3) {
  32.             if (var2[var3].equals(var1)) {
  33.                return true;
  34.             }
  35.          }
  36.       }
  37.  
  38.       return false;
  39.    }
  40.  
  41.    public synchronized Object getTransferData(DataFlavor var1) throws UnsupportedFlavorException, IOException {
  42.       if (!this.isDataFlavorSupported(var1)) {
  43.          throw new UnsupportedFlavorException(var1);
  44.       } else {
  45.          Object var3 = null;
  46.  
  47.          Object var2;
  48.          try {
  49.             var2 = this.transferable.getTransferData(var1);
  50.          } catch (Exception var8) {
  51.             throw new IOException(var8.getClass() + ":" + ((Throwable)var8).getMessage() + " caught while getting Data");
  52.          }
  53.  
  54.          if (this.isLocal && var1.isFlavorSerializedObjectType()) {
  55.             ByteArrayOutputStream var4 = new ByteArrayOutputStream();
  56.             (new ObjectOutputStream(var4)).writeObject(var2);
  57.             ByteArrayInputStream var5 = new ByteArrayInputStream(var4.toByteArray());
  58.  
  59.             try {
  60.                var2 = (new ObjectInputStream(var5)).readObject();
  61.             } catch (ClassNotFoundException var7) {
  62.                throw new IOException(((Throwable)var7).getMessage());
  63.             }
  64.          }
  65.  
  66.          return var2;
  67.       }
  68.    }
  69. }
  70.