diff options
Diffstat (limited to 'server/src/com/vaadin/ui/Html5File.java')
-rw-r--r-- | server/src/com/vaadin/ui/Html5File.java | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/server/src/com/vaadin/ui/Html5File.java b/server/src/com/vaadin/ui/Html5File.java new file mode 100644 index 0000000000..aa3fb558fa --- /dev/null +++ b/server/src/com/vaadin/ui/Html5File.java @@ -0,0 +1,65 @@ +/* +@VaadinApache2LicenseForJavaFiles@ + */ +package com.vaadin.ui; + +import java.io.Serializable; + +import com.vaadin.event.dd.DropHandler; +import com.vaadin.terminal.StreamVariable; + +/** + * {@link DragAndDropWrapper} can receive also files from client computer if + * appropriate HTML 5 features are supported on client side. This class wraps + * information about dragged file on server side. + */ +public class Html5File implements Serializable { + + private String name; + private long size; + private StreamVariable streamVariable; + private String type; + + Html5File(String name, long size, String mimeType) { + this.name = name; + this.size = size; + type = mimeType; + } + + public String getFileName() { + return name; + } + + public long getFileSize() { + return size; + } + + public String getType() { + return type; + } + + /** + * Sets the {@link StreamVariable} that into which the file contents will be + * written. Usage of StreamVariable is similar to {@link Upload} component. + * <p> + * If the {@link StreamVariable} is not set in the {@link DropHandler} the + * file contents will not be sent to server. + * <p> + * <em>Note!</em> receiving file contents is experimental feature depending + * on HTML 5 API's. It is supported only by modern web browsers like Firefox + * 3.6 and above and recent webkit based browsers (Safari 5, Chrome 6) at + * this time. + * + * @param streamVariable + * the callback that returns stream where the implementation + * writes the file contents as it arrives. + */ + public void setStreamVariable(StreamVariable streamVariable) { + this.streamVariable = streamVariable; + } + + public StreamVariable getStreamVariable() { + return streamVariable; + } + +}
\ No newline at end of file |