summaryrefslogtreecommitdiffstats
blob: 5cda8ecb873bf7d206707b2c11e453e8c8e81a60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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();
	}
}