blob: 3dbc703c399e586f0d35ac4a00dc834a5fba84bf (
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
29
30
31
32
33
34
|
/*
* Copyright (c) 2010, Isode Limited, London, England.
* All rights reserved.
*/
/*
* Copyright (c) 2010, Remko Tronçon.
* All rights reserved.
*/
package com.isode.stroke.serializer;
import com.isode.stroke.elements.Payload;
public abstract class GenericPayloadSerializer<T extends Payload> extends PayloadSerializer {
private final Class class_;
public GenericPayloadSerializer(Class c) {
class_ = c;
}
@Override
public boolean canSerialize(Payload payload) {
return class_.isAssignableFrom(payload.getClass());
}
@Override
public String serialize(Payload payload) {
return serializePayload((T)payload);
}
protected abstract String serializePayload(T payload);
}
|