Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2007-03-21 06:53:22 +0000
committerslewis2007-03-21 06:53:22 +0000
commit2efb43721a73539f269f665e4504153b36d4f07c (patch)
tree62260809f1a6d76e85120873fcff81508d5d0efc /framework/bundles/org.eclipse.ecf.filetransfer
parentdf4303058d1e35634473ae683364aaa66126055e (diff)
downloadorg.eclipse.ecf-2efb43721a73539f269f665e4504153b36d4f07c.tar.gz
org.eclipse.ecf-2efb43721a73539f269f665e4504153b36d4f07c.tar.xz
org.eclipse.ecf-2efb43721a73539f269f665e4504153b36d4f07c.zip
Changes to IOutgoingFileTransfer interfaces and classes. Additions to xmpp provider implementation and added test code in org.eclipse.ecf.tests.filetransfer
Diffstat (limited to 'framework/bundles/org.eclipse.ecf.filetransfer')
-rw-r--r--framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/FileTransferInfo.java (renamed from framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/BaseFileTransferInfo.java)32
-rw-r--r--framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/IFileTransferInfo.java13
2 files changed, 41 insertions, 4 deletions
diff --git a/framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/BaseFileTransferInfo.java b/framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/FileTransferInfo.java
index 212124b83..1a5bb5815 100644
--- a/framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/BaseFileTransferInfo.java
+++ b/framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/FileTransferInfo.java
@@ -10,6 +10,7 @@ package org.eclipse.ecf.filetransfer;
import java.io.File;
import java.io.Serializable;
+import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;
@@ -22,7 +23,7 @@ import org.eclipse.ecf.internal.filetransfer.Messages;
* {@link IFileTransferRequestEvent#getFileTransferInfo()}
*
*/
-public class BaseFileTransferInfo implements IFileTransferInfo, Serializable {
+public class FileTransferInfo implements IFileTransferInfo, Serializable {
private static final long serialVersionUID = 8354226751625912190L;
@@ -32,20 +33,27 @@ public class BaseFileTransferInfo implements IFileTransferInfo, Serializable {
protected String description;
- public BaseFileTransferInfo(File file) {
+ protected String mimeType = null;
+
+ public FileTransferInfo(File file) {
this(file, null);
}
- public BaseFileTransferInfo(File file, Map properties) {
+ public FileTransferInfo(File file, Map properties) {
this(file, properties, null);
}
- public BaseFileTransferInfo(File file, Map properties, String description) {
+ public FileTransferInfo(File file, Map properties, String description) {
+ this(file,properties,description,null);
+ }
+
+ public FileTransferInfo(File file, Map properties, String description, String mimeType) {
if (file == null)
throw new NullPointerException(Messages.BaseFileTransferInfo_File_Not_Null);
this.file = file;
this.properties = (properties == null) ? new HashMap() : properties;
this.description = description;
+ this.mimeType = mimeType;
}
/*
@@ -83,4 +91,20 @@ public class BaseFileTransferInfo implements IFileTransferInfo, Serializable {
public Object getAdapter(Class adapter) {
return null;
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.filetransfer.IFileTransferInfo#getFileSize()
+ */
+ public long getFileSize() {
+ return file.length();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.filetransfer.IFileTransferInfo#getMimeType()
+ */
+ public String getMimeType() {
+ if (mimeType == null)
+ return URLConnection.guessContentTypeFromName(file.getAbsolutePath());
+ return mimeType;
+ }
}
diff --git a/framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/IFileTransferInfo.java b/framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/IFileTransferInfo.java
index 1e1064dfc..644709a38 100644
--- a/framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/IFileTransferInfo.java
+++ b/framework/bundles/org.eclipse.ecf.filetransfer/src/org/eclipse/ecf/filetransfer/IFileTransferInfo.java
@@ -29,6 +29,13 @@ public interface IFileTransferInfo extends IAdaptable {
public File getFile();
/**
+ * Get the file size (in bytes).
+ *
+ * @return long file size (in bytes). If file size is unknown, will return -1.
+ */
+ public long getFileSize();
+
+ /**
* Get any properties associated with this file transfer. The map keys and
* values are assumed to be Strings.
*
@@ -45,4 +52,10 @@ public interface IFileTransferInfo extends IAdaptable {
*/
public String getDescription();
+ /**
+ * Get the mime type string for this file transfer info.
+ *
+ * @return String mime type. May return <code>null</code> if mime type is not known.
+ */
+ public String getMimeType();
}

Back to the top