home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / TransferHandler$PropertyTransferable.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.0 KB  |  55 lines

  1. package javax.swing;
  2.  
  3. import java.awt.datatransfer.DataFlavor;
  4. import java.awt.datatransfer.Transferable;
  5. import java.awt.datatransfer.UnsupportedFlavorException;
  6. import java.beans.PropertyDescriptor;
  7. import java.io.IOException;
  8. import java.lang.reflect.Method;
  9. import sun.reflect.misc.MethodUtil;
  10.  
  11. class TransferHandler$PropertyTransferable implements Transferable {
  12.    JComponent component;
  13.    PropertyDescriptor property;
  14.  
  15.    TransferHandler$PropertyTransferable(PropertyDescriptor var1, JComponent var2) {
  16.       this.property = var1;
  17.       this.component = var2;
  18.    }
  19.  
  20.    public DataFlavor[] getTransferDataFlavors() {
  21.       DataFlavor[] var1 = new DataFlavor[1];
  22.       Class var2 = this.property.getPropertyType();
  23.       String var3 = "application/x-java-jvm-local-objectref;class=" + var2.getName();
  24.  
  25.       try {
  26.          var1[0] = new DataFlavor(var3);
  27.       } catch (ClassNotFoundException var5) {
  28.          var1 = new DataFlavor[0];
  29.       }
  30.  
  31.       return var1;
  32.    }
  33.  
  34.    public boolean isDataFlavorSupported(DataFlavor var1) {
  35.       Class var2 = this.property.getPropertyType();
  36.       return "application".equals(var1.getPrimaryType()) && "x-java-jvm-local-objectref".equals(var1.getSubType()) && var1.getRepresentationClass().isAssignableFrom(var2);
  37.    }
  38.  
  39.    public Object getTransferData(DataFlavor var1) throws UnsupportedFlavorException, IOException {
  40.       if (!this.isDataFlavorSupported(var1)) {
  41.          throw new UnsupportedFlavorException(var1);
  42.       } else {
  43.          Method var2 = this.property.getReadMethod();
  44.          Object var3 = null;
  45.  
  46.          try {
  47.             var3 = MethodUtil.invoke(var2, this.component, (Object[])null);
  48.             return var3;
  49.          } catch (Exception var5) {
  50.             throw new IOException("Property read failed: " + this.property.getName());
  51.          }
  52.       }
  53.    }
  54. }
  55.