diff options
author | slewis | 2007-03-21 06:53:22 +0000 |
---|---|---|
committer | slewis | 2007-03-21 06:53:22 +0000 |
commit | 2efb43721a73539f269f665e4504153b36d4f07c (patch) | |
tree | 62260809f1a6d76e85120873fcff81508d5d0efc /framework/bundles/org.eclipse.ecf.filetransfer | |
parent | df4303058d1e35634473ae683364aaa66126055e (diff) | |
download | org.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.java | 13 |
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(); } |