diff options
Diffstat (limited to 'src/com/isode/stroke/serializer')
7 files changed, 204 insertions, 0 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsDisableSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsDisableSerializer.java new file mode 100644 index 0000000..94cb014 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsDisableSerializer.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file 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.CarbonsDisable; +import com.isode.stroke.base.NotNull; + +public class CarbonsDisableSerializer extends GenericPayloadSerializer<CarbonsDisable> { + + public CarbonsDisableSerializer() { + super(CarbonsDisable.class); + } + + public String serializePayload(CarbonsDisable payload) { + XMLElement element = new XMLElement("disable", "urn:xmpp:carbons:2"); + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsEnableSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsEnableSerializer.java new file mode 100644 index 0000000..f88e461 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsEnableSerializer.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file 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.CarbonsEnable; +import com.isode.stroke.base.NotNull; + +public class CarbonsEnableSerializer extends GenericPayloadSerializer<CarbonsEnable> { + + public CarbonsEnableSerializer() { + super(CarbonsEnable.class); + } + + public String serializePayload(CarbonsEnable payload) { + XMLElement element = new XMLElement("enable", "urn:xmpp:carbons:2"); + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsPrivateSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsPrivateSerializer.java new file mode 100644 index 0000000..eeb2c3f --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsPrivateSerializer.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file 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.CarbonsPrivate; +import com.isode.stroke.base.NotNull; + +public class CarbonsPrivateSerializer extends GenericPayloadSerializer<CarbonsPrivate> { + + public CarbonsPrivateSerializer() { + super(CarbonsPrivate.class); + } + + public String serializePayload(CarbonsPrivate payload) { + XMLElement element = new XMLElement("private", "urn:xmpp:carbons:2"); + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsReceivedSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsReceivedSerializer.java new file mode 100644 index 0000000..aa15010 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsReceivedSerializer.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file 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.PayloadSerializerCollection; +import com.isode.stroke.serializer.xml.XMLRawTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.CarbonsReceived; +import com.isode.stroke.base.NotNull; + +public class CarbonsReceivedSerializer extends GenericPayloadSerializer<CarbonsReceived> { + + private PayloadSerializerCollection serializers_; + + public CarbonsReceivedSerializer(PayloadSerializerCollection serializers) { + super(CarbonsReceived.class); + this.serializers_ = serializers; + } + + public String serializePayload(CarbonsReceived received) { + XMLElement element = new XMLElement("received", "urn:xmpp:carbons:2"); + if (received.getForwarded() != null) { + element.addNode(new XMLRawTextNode(new ForwardedSerializer(serializers_).serialize(received.getForwarded()))); + } + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsSentSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsSentSerializer.java new file mode 100644 index 0000000..ac4b47a --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsSentSerializer.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file 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.PayloadSerializerCollection; +import com.isode.stroke.serializer.xml.XMLRawTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.CarbonsSent; +import com.isode.stroke.base.NotNull; + +public class CarbonsSentSerializer extends GenericPayloadSerializer<CarbonsSent> { + + private PayloadSerializerCollection serializers_; + + public CarbonsSentSerializer(PayloadSerializerCollection serializers) { + super(CarbonsSent.class); + this.serializers_ = serializers; + } + + public String serializePayload(CarbonsSent sent) { + XMLElement element = new XMLElement("sent", "urn:xmpp:carbons:2"); + if (sent.getForwarded() != null) { + element.addNode(new XMLRawTextNode(new ForwardedSerializer(serializers_).serialize(sent.getForwarded()))); + } + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java index 9ad402c..64b17d1 100644 --- a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java +++ b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java @@ -20,6 +20,11 @@ public class FullPayloadSerializerCollection extends PayloadSerializerCollection addSerializer(new BodySerializer()); addSerializer(new SubjectSerializer()); addSerializer(new ChatStateSerializer()); + addSerializer(new CarbonsDisableSerializer()); + addSerializer(new CarbonsEnableSerializer()); + addSerializer(new CarbonsPrivateSerializer()); + addSerializer(new CarbonsReceivedSerializer(this)); + addSerializer(new CarbonsSentSerializer(this)); //addSerializer(new PrioritySerializer()); addSerializer(new ErrorSerializer()); addSerializer(new InBandRegistrationPayloadSerializer()); @@ -48,7 +53,9 @@ public class FullPayloadSerializerCollection extends PayloadSerializerCollection addSerializer(new StartSessionSerializer()); addSerializer(new SecurityLabelSerializer()); addSerializer(new SecurityLabelsCatalogSerializer()); + //addSerializer(new StreamInitiationFileInfoSerializer()); //addSerializer(new StreamInitiationSerializer()); + addSerializer(new ThreadSerializer()); addSerializer(new BytestreamsSerializer()); addSerializer(new VCardSerializer()); addSerializer(new VCardUpdateSerializer()); diff --git a/src/com/isode/stroke/serializer/payloadserializers/ThreadSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/ThreadSerializer.java new file mode 100644 index 0000000..93c6004 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/ThreadSerializer.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file 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.Thread; +import com.isode.stroke.base.NotNull; + +public class ThreadSerializer extends GenericPayloadSerializer<Thread> { + + public ThreadSerializer() { + super(Thread.class); + } + + public String serializePayload(Thread thread) { + XMLElement threadNode = new XMLElement("thread", "", thread.getText()); + if (thread.getParent().length() != 0) { + threadNode.setAttribute("parent", thread.getParent()); + } + return threadNode.serialize(); + } +}
\ No newline at end of file |