diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-06-20 12:10:51 (GMT) |
---|---|---|
committer | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-06-30 13:23:04 (GMT) |
commit | ba7342e593920595af36fcd8e8e44ec206f8b561 (patch) | |
tree | fa8921599a20d85845d23d9a97bbc1cf230c7a51 /src/com/isode/stroke/serializer/payloadserializers/StreamInitiationFileInfoSerializer.java | |
parent | a673d269487fd86efe7f9c5f9b4cd1c00cab556d (diff) | |
download | stroke-ba7342e593920595af36fcd8e8e44ec206f8b561.zip stroke-ba7342e593920595af36fcd8e8e44ec206f8b561.tar.bz2 |
Add StreamInitiation Elements.
Adds StreamInitiationFileInfo Element, its Parser and Serializer.
Adds StreamInitiation Element, its Parser and Serializer.
Adds StreamError Parser and Serializer.
Updates StreamManagementEnabled Element.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Tests added for StreamInitiation Parser and Serializer, which passes.
Change-Id: I21a7de3f6a5ac0955b6e5aaae3c2607a30eae002
Diffstat (limited to 'src/com/isode/stroke/serializer/payloadserializers/StreamInitiationFileInfoSerializer.java')
-rw-r--r-- | src/com/isode/stroke/serializer/payloadserializers/StreamInitiationFileInfoSerializer.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/StreamInitiationFileInfoSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/StreamInitiationFileInfoSerializer.java new file mode 100644 index 0000000..1823dba --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/StreamInitiationFileInfoSerializer.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2011 Tobias Markmann + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.xml.XMLTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.StreamInitiationFileInfo; +import com.isode.stroke.base.NotNull; +import com.isode.stroke.base.DateTime; + +public class StreamInitiationFileInfoSerializer extends GenericPayloadSerializer<StreamInitiationFileInfo> { + + public StreamInitiationFileInfoSerializer() { + super(StreamInitiationFileInfo.class); + } + + public String serializePayload(StreamInitiationFileInfo fileInfo) { + XMLElement fileElement = new XMLElement("file", "http://jabber.org/protocol/si/profile/file-transfer"); + + if (fileInfo.getDate() != null) { + fileElement.setAttribute("date", DateTime.dateToString(fileInfo.getDate())); + } + fileElement.setAttribute("hash", fileInfo.getHash()); + if (!fileInfo.getAlgo().equals("md5")) { + fileElement.setAttribute("algo", fileInfo.getAlgo()); + } + if (fileInfo.getName().length() != 0) { + fileElement.setAttribute("name", fileInfo.getName()); + } + if (fileInfo.getSize() != 0) { + fileElement.setAttribute("size", Long.toString(fileInfo.getSize())); + } + if (fileInfo.getDescription().length() != 0) { + XMLElement desc = new XMLElement("desc", "", fileInfo.getDescription()); + fileElement.addNode(desc); + } + if (fileInfo.getSupportsRangeRequests()) { + XMLElement range = new XMLElement("range"); + if (fileInfo.getRangeOffset() != 0) { + range.setAttribute("offset", Long.toString(fileInfo.getRangeOffset())); + } + fileElement.addNode(range); + } + return fileElement.serialize(); + } +}
\ No newline at end of file |