package de.thedevstack.conversationsplus.xmpp.filetransfer.http.upload; import de.thedevstack.conversationsplus.xml.Element; import de.thedevstack.conversationsplus.xmpp.stanzas.IqPacket; /** * */ public class HttpUploadSlotRequestPacket extends IqPacket { public static final String ELEMENT_NAME = "request"; public static final String FILENAME_ELEMENT_NAME = "filename"; public static final String FILESIZE_ELEMENT_NAME = "size"; public static final String MIME_ELEMENT_NAME = "content-type"; private Element requestElement; private String filename; private long filesize; private String mime; private HttpUploadSlotRequestPacket() { super(TYPE.GET); this.requestElement = super.addChild(HttpUploadSlotRequestPacket.ELEMENT_NAME, HttpUpload.NAMESPACE); } public HttpUploadSlotRequestPacket(String filename, long filesize, String mime) { this(); this.setFilename(filename); this.setFilesize(filesize); this.setMime(mime); } public void setFilename(String filename) { if (null == filename || filename.isEmpty()) { throw new IllegalArgumentException("filename must not be null or empty."); } this.filename = filename; this.requestElement.addChild(FILENAME_ELEMENT_NAME).setContent(filename); } public void setFilesize(long filesize) { if (0 >= filesize) { throw new IllegalArgumentException("filesize must not be null or empty."); } this.filesize = filesize; this.requestElement.addChild(FILESIZE_ELEMENT_NAME).setContent(String.valueOf(filesize)); } public void setMime(String mime) { if (null == mime || mime.isEmpty()) { mime = HttpUpload.DEFAULT_MIME_TYPE; } this.mime = mime; this.requestElement.addChild(MIME_ELEMENT_NAME).setContent(mime); } }