summaryrefslogtreecommitdiffstats
blob: 80395ca40a9aa6ee35be4296682591cc85689847 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
 * Copyright (c) 2010 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.entity;

import com.isode.stroke.parser.PayloadParserFactory;
import com.isode.stroke.serializer.PayloadSerializer;
import com.isode.stroke.parser.payloadparsers.FullPayloadParserFactoryCollection;
import com.isode.stroke.serializer.payloadserializers.FullPayloadSerializerCollection;
import com.isode.stroke.parser.PayloadParserFactoryCollection;
import com.isode.stroke.serializer.PayloadSerializerCollection;

/** 
 * The base class for XMPP entities (Clients, Components).
 */
public class Entity {

	private FullPayloadParserFactoryCollection payloadParserFactories;
	private FullPayloadSerializerCollection payloadSerializers;

	public Entity() {
		payloadParserFactories = new FullPayloadParserFactoryCollection();
		payloadSerializers = new FullPayloadSerializerCollection();
	}

	public void addPayloadParserFactory(PayloadParserFactory payloadParserFactory) {
		payloadParserFactories.addFactory(payloadParserFactory);
	}

	public void removePayloadParserFactory(PayloadParserFactory payloadParserFactory) {
		payloadParserFactories.removeFactory(payloadParserFactory);
	}

	public void addPayloadSerializer(PayloadSerializer payloadSerializer) {
		payloadSerializers.addSerializer(payloadSerializer);
	}

	public void removePayloadSerializer(PayloadSerializer payloadSerializer) {
		payloadSerializers.removeSerializer(payloadSerializer);
	}

	protected PayloadParserFactoryCollection getPayloadParserFactories() {
		return payloadParserFactories;
	}

	protected PayloadSerializerCollection getPayloadSerializers() {
		return payloadSerializers;
	}
}