MediaBuilder.java

 1package eu.siacs.conversations.xmpp.jingle;
 2
 3import com.google.common.base.Joiner;
 4import com.google.common.collect.Multimap;
 5
 6import java.util.List;
 7
 8public class MediaBuilder {
 9    private String media;
10    private int port;
11    private String protocol;
12    private String format;
13    private String connectionData;
14    private Multimap<String, String> attributes;
15
16    public MediaBuilder setMedia(String media) {
17        this.media = media;
18        return this;
19    }
20
21    public MediaBuilder setPort(int port) {
22        this.port = port;
23        return this;
24    }
25
26    public MediaBuilder setProtocol(String protocol) {
27        this.protocol = protocol;
28        return this;
29    }
30
31    public MediaBuilder setFormats(final List<Integer> formats) {
32        this.format = Joiner.on(' ').join(formats);
33        return this;
34    }
35
36    public MediaBuilder setFormat(final String format) {
37        this.format = format;
38        return this;
39    }
40
41    public MediaBuilder setConnectionData(String connectionData) {
42        this.connectionData = connectionData;
43        return this;
44    }
45
46    public MediaBuilder setAttributes(Multimap<String, String> attributes) {
47        this.attributes = attributes;
48        return this;
49    }
50
51    public SessionDescription.Media createMedia() {
52        return new SessionDescription.Media(
53                media, port, protocol, format, connectionData, attributes);
54    }
55}