summaryrefslogtreecommitdiffstats
blob: 3a6c2e92ab3638afe837b52e98a502c52fbfa270 (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
/*
 * Copyright (c) 2011 Tobias Markmann
 * Licensed under the simplified BSD license.
 * See Documentation/Licenses/BSD-simplified.txt 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.parser.payloadparsers;

import com.isode.stroke.parser.GenericPayloadParserFactory;
import com.isode.stroke.parser.PayloadParserFactoryCollection;
import com.isode.stroke.parser.payloadparsers.JingleParser;
import com.isode.stroke.parser.PayloadParserFactory;
import com.isode.stroke.parser.AttributeMap;
import com.isode.stroke.parser.PayloadParser;
import com.isode.stroke.base.NotNull;

public class JingleParserFactory implements PayloadParserFactory {

	private PayloadParserFactoryCollection factories;

	/**
	* JingleParserFactory();
	*/
	public JingleParserFactory(PayloadParserFactoryCollection factories) {
		this.factories = factories;
	}

	/**
	* @param attributes.
	* @param element, Not Null.
	* @param attributes, Not NUll.
	*/
	public boolean canParse(String element, String ns, AttributeMap attributes) {
		NotNull.exceptIfNull(element, "element");
		NotNull.exceptIfNull(ns, "ns");
		return element.equals("jingle") && ns.equals("urn:xmpp:jingle:1");
	}

	/**
	* @return PayloadParser()
	*/
	public PayloadParser createPayloadParser() {
		return new JingleParser(factories);
	}
}