diff options
author | Alan Young <consult.awy@gmail.com> | 2015-07-06 07:52:25 (GMT) |
---|---|---|
committer | Alan Young <consult.awy@gmail.com> | 2015-07-07 09:50:25 (GMT) |
commit | cc8fc8685df570e5ab7cb0620f9f5836bd44ef7a (patch) | |
tree | 9c1f3101919d934e7e729d5322864dcbe2f8ca66 /src/com/isode/stroke/entity/GenericPayloadPersister.java | |
parent | d32bc2d8ab89f9f9787f417d71055e2b88a3b92b (diff) | |
download | stroke-cc8fc8685df570e5ab7cb0620f9f5836bd44ef7a.zip stroke-cc8fc8685df570e5ab7cb0620f9f5836bd44ef7a.tar.bz2 |
Add GenericPayloadLoader & GenericPayloadPersister classes.
Implemented as separate classes for Stroke, rather than as single
combined class in Swiften because of type-erasure.
Make VCardSerializer & DiscoInfoSerializer generally visible (public).
Change-Id: I9e93c71377c417949da1c70e4219d3813a066087
Diffstat (limited to 'src/com/isode/stroke/entity/GenericPayloadPersister.java')
-rw-r--r-- | src/com/isode/stroke/entity/GenericPayloadPersister.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/com/isode/stroke/entity/GenericPayloadPersister.java b/src/com/isode/stroke/entity/GenericPayloadPersister.java new file mode 100644 index 0000000..5cda8ec --- /dev/null +++ b/src/com/isode/stroke/entity/GenericPayloadPersister.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2015, Isode Limited. + * All rights reserved. + */ +package com.isode.stroke.entity; + +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; + +import com.isode.stroke.elements.Payload; +import com.isode.stroke.serializer.PayloadSerializer; + +public class GenericPayloadPersister<PayloadType extends Payload, Serializer extends PayloadSerializer> { + + private final Serializer serializer; + + public GenericPayloadPersister(Serializer serializer) { + this.serializer = serializer; + } + + public void savePayload(PayloadType payload, OutputStream os) throws IOException { + String s = serializer.serialize(payload); + OutputStreamWriter ow = new OutputStreamWriter(os, "UTF-8"); + ow.append(s); + ow.close(); + } +} |