//*****************************************************************************
//*
//* (c) Copyright 2004. Glub Tech, Incorporated. All Rights Reserved.
//*
//* $Id: LocalFileTransfer.java 273 2010-07-25 15:12:56Z gary $
//*
//*****************************************************************************
package com.glub.secureftp.client.gui;
import java.awt.datatransfer.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
/**
* Local File Transfer class
*/
public class LocalFileTransfer implements Transferable {
JTable table = null;
LocalPanel localPanel = null;
public LocalFileTransfer( LocalPanel localPanel, JTable table ) {
super();
this.localPanel = localPanel;
this.table = table;
}
public synchronized DataFlavor[] getTransferDataFlavors() {
DataFlavor flavor =
new DataFlavor( DataFlavor.javaJVMLocalObjectMimeType +
"; class=java.io.File", "File" );
flavor.setHumanPresentableName("LocalFile");
DataFlavor[] df = {
flavor
};
return df;
}
public boolean isDataFlavorSupported( DataFlavor flavor ) {
boolean result = flavor.equals( DataFlavor.javaFileListFlavor );
return result;
}
public synchronized Object getTransferData( DataFlavor flavor )
throws UnsupportedFlavorException,
IOException {
ArrayList result = null;
if ( flavor.equals(DataFlavor.javaFileListFlavor) ) {
result = new ArrayList();
int[] rows = table.getSelectedRows();
for ( int i = 0; i < rows.length; i++ ) {
if ( rows[i] >= 0 ) {
File file =
(File)table.getValueAt( rows[i], LocalFileTable.FILE_COLUMN );
result.add( file );
}
}
}
else {
throw new UnsupportedFlavorException( flavor );
}
return result;
}
}