diff options
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(); + } +} |