home *** CD-ROM | disk | FTP | other *** search
- package javax.activation;
-
- import java.awt.datatransfer.DataFlavor;
- import java.awt.datatransfer.UnsupportedFlavorException;
- import java.io.IOException;
- import java.io.OutputStream;
-
- class ObjectDataContentHandler implements DataContentHandler {
- private DataFlavor[] transferFlavors = null;
- private Object obj;
- private String mimeType;
- private DataContentHandler dch = null;
-
- public ObjectDataContentHandler(DataContentHandler var1, Object var2, String var3) {
- this.obj = var2;
- this.mimeType = var3;
- this.dch = var1;
- }
-
- public DataContentHandler getDCH() {
- return this.dch;
- }
-
- public DataFlavor[] getTransferDataFlavors() {
- if (this.transferFlavors == null) {
- if (this.dch != null) {
- this.transferFlavors = this.dch.getTransferDataFlavors();
- } else {
- this.transferFlavors = new DataFlavor[1];
- this.transferFlavors[0] = new ActivationDataFlavor(this.obj.getClass(), this.mimeType, this.mimeType);
- }
- }
-
- return this.transferFlavors;
- }
-
- public Object getTransferData(DataFlavor var1, DataSource var2) throws UnsupportedFlavorException, IOException {
- if (this.dch != null) {
- return this.dch.getTransferData(var1, var2);
- } else if (var1.equals(this.transferFlavors[0])) {
- return this.obj;
- } else {
- throw new UnsupportedFlavorException(var1);
- }
- }
-
- public Object getContent(DataSource var1) {
- return this.obj;
- }
-
- public void writeTo(Object var1, String var2, OutputStream var3) throws IOException {
- if (this.dch != null) {
- this.dch.writeTo(var1, var2, var3);
- } else {
- throw new UnsupportedDataTypeException("no object DCH for MIME type " + this.mimeType);
- }
- }
- }
-