package de.thedevstack.conversationsplus.xmpp.filetransfer.http.upload; import eu.siacs.conversations.xml.Element; import eu.siacs.conversations.xmpp.stanzas.IqPacket; /** * */ public class SlotRequestPacket 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 SlotRequestPacket() { super(TYPE.GET); this.requestElement = super.addChild(SlotRequestPacket.ELEMENT_NAME, HttpUpload.NAMESPACE); } public SlotRequestPacket(String filename, long filesize) { this(); this.setFilename(filename); this.setFilesize(filesize); } 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()) { throw new IllegalArgumentException("mime type must not be null or empty."); } this.mime = mime; this.requestElement.addChild(MIME_ELEMENT_NAME).setContent(mime); } }