/**
*
*/
package com.robonobo.gui.model;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
import java.util.List;
import com.robonobo.common.exceptions.SeekInnerCalmException;
public class StreamTransfer implements Transferable {
public static DataFlavor DATA_FLAVOR;
private static DataFlavor[] flavors;
static {
try {
DATA_FLAVOR = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType + ";class=com.robonobo.gui.model.StreamIdList");
flavors = new DataFlavor[1];
flavors[0] = DATA_FLAVOR;
} catch (ClassNotFoundException e) {
throw new SeekInnerCalmException();
}
}
private List<String> streamIds;
public StreamTransfer(List<String> streamIds) {
this.streamIds = streamIds;
}
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
if (flavor.equals(DATA_FLAVOR)) {
return streamIds;
} else
throw new UnsupportedFlavorException(flavor);
}
public List<String> getStreamIds() {
return streamIds;
}
public DataFlavor[] getTransferDataFlavors() {
return flavors;
}
public boolean isDataFlavorSupported(DataFlavor flavor) {
return (flavor.equals(DATA_FLAVOR));
}
}