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 / activation / ObjectDataContentHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.9 KB  |  59 lines

  1. package javax.activation;
  2.  
  3. import java.awt.datatransfer.DataFlavor;
  4. import java.awt.datatransfer.UnsupportedFlavorException;
  5. import java.io.IOException;
  6. import java.io.OutputStream;
  7.  
  8. class ObjectDataContentHandler implements DataContentHandler {
  9.    private DataFlavor[] transferFlavors = null;
  10.    private Object obj;
  11.    private String mimeType;
  12.    private DataContentHandler dch = null;
  13.  
  14.    public ObjectDataContentHandler(DataContentHandler var1, Object var2, String var3) {
  15.       this.obj = var2;
  16.       this.mimeType = var3;
  17.       this.dch = var1;
  18.    }
  19.  
  20.    public DataContentHandler getDCH() {
  21.       return this.dch;
  22.    }
  23.  
  24.    public DataFlavor[] getTransferDataFlavors() {
  25.       if (this.transferFlavors == null) {
  26.          if (this.dch != null) {
  27.             this.transferFlavors = this.dch.getTransferDataFlavors();
  28.          } else {
  29.             this.transferFlavors = new DataFlavor[1];
  30.             this.transferFlavors[0] = new ActivationDataFlavor(this.obj.getClass(), this.mimeType, this.mimeType);
  31.          }
  32.       }
  33.  
  34.       return this.transferFlavors;
  35.    }
  36.  
  37.    public Object getTransferData(DataFlavor var1, DataSource var2) throws UnsupportedFlavorException, IOException {
  38.       if (this.dch != null) {
  39.          return this.dch.getTransferData(var1, var2);
  40.       } else if (var1.equals(this.transferFlavors[0])) {
  41.          return this.obj;
  42.       } else {
  43.          throw new UnsupportedFlavorException(var1);
  44.       }
  45.    }
  46.  
  47.    public Object getContent(DataSource var1) {
  48.       return this.obj;
  49.    }
  50.  
  51.    public void writeTo(Object var1, String var2, OutputStream var3) throws IOException {
  52.       if (this.dch != null) {
  53.          this.dch.writeTo(var1, var2, var3);
  54.       } else {
  55.          throw new UnsupportedDataTypeException("no object DCH for MIME type " + this.mimeType);
  56.       }
  57.    }
  58. }
  59.