001package com.plivo.api.xml;
002
003import javax.xml.bind.annotation.XmlAttribute;
004import javax.xml.bind.annotation.XmlRootElement;
005import javax.xml.bind.annotation.XmlValue;
006
007@XmlRootElement(name = "Conference")
008public class Conference extends PlivoXml implements ResponseNestable {
009
010  @XmlAttribute
011  private Boolean muted;
012
013  @XmlAttribute
014  private String enterSound;
015
016  @XmlAttribute
017  private String exitSound;
018
019  @XmlAttribute
020  private Boolean startConferenceOnEnter;
021
022  @XmlAttribute
023  private Boolean endConferenceOnExit;
024
025  @XmlAttribute
026  private Boolean stayAlone;
027
028  @XmlAttribute
029  private String waitSound;
030
031  @XmlAttribute
032  private Integer maxMembers;
033
034  @XmlAttribute
035  private Boolean record;
036
037  @XmlAttribute
038  private String recordFileFormat;
039
040  @XmlAttribute
041  private Integer timeLimit;
042
043  @XmlAttribute
044  private Boolean hangupOnStar;
045
046  @XmlAttribute
047  private String action;
048
049  @XmlAttribute
050  private String method;
051
052  @XmlAttribute
053  private String callbackUrl;
054
055  @XmlAttribute
056  private String callbackMethod;
057
058  @XmlAttribute
059  private String digitsMatch;
060
061  @XmlAttribute
062  private Boolean floorEvent;
063
064  @XmlAttribute
065  private Boolean redirect;
066
067  @XmlAttribute(name = "relayDTMF")
068  private Boolean relayDtmf;
069
070  @XmlValue
071  private String conferenceName;
072
073  private Conference() {
074  }
075
076  public Conference(String conferenceName) {
077    if (conferenceName == null) {
078      throw new IllegalArgumentException("conferenceName cannot be null");
079    }
080
081    this.conferenceName = conferenceName;
082  }
083
084  public Boolean muted() {
085    return this.muted;
086  }
087
088  public String enterSound() {
089    return this.enterSound;
090  }
091
092  public String exitSound() {
093    return this.exitSound;
094  }
095
096  public Boolean startConferenceOnEnter() {
097    return this.startConferenceOnEnter;
098  }
099
100  public Boolean endConferenceOnExit() {
101    return this.endConferenceOnExit;
102  }
103
104  public Boolean stayAlone() {
105    return this.stayAlone;
106  }
107
108  public String waitSound() {
109    return this.waitSound;
110  }
111
112  public Integer maxMembers() {
113    return this.maxMembers;
114  }
115
116  public Boolean record() {
117    return this.record;
118  }
119
120  public String recordFileFormat() {
121    return this.recordFileFormat;
122  }
123
124  public Integer timeLimit() {
125    return this.timeLimit;
126  }
127
128  public Boolean hangupOnStar() {
129    return this.hangupOnStar;
130  }
131
132  public String action() {
133    return this.action;
134  }
135
136  public String method() {
137    return this.method;
138  }
139
140  public String callbackUrl() {
141    return this.callbackUrl;
142  }
143
144  public String callbackMethod() {
145    return this.callbackMethod;
146  }
147
148  public String digitsMatch() {
149    return this.digitsMatch;
150  }
151
152  public Boolean floorEvent() {
153    return this.floorEvent;
154  }
155
156  public Boolean redirect() {
157    return this.redirect;
158  }
159
160  public Boolean relayDtmf() {
161    return this.relayDtmf;
162  }
163
164  public Conference muted(final Boolean muted) {
165    this.muted = muted;
166    return this;
167  }
168
169  public Conference enterSound(final String enterSound) {
170    this.enterSound = enterSound;
171    return this;
172  }
173
174  public Conference exitSound(final String exitSound) {
175    this.exitSound = exitSound;
176    return this;
177  }
178
179  public Conference startConferenceOnEnter(final Boolean startConferenceOnEnter) {
180    this.startConferenceOnEnter = startConferenceOnEnter;
181    return this;
182  }
183
184  public Conference endConferenceOnExit(final Boolean endConferenceOnExit) {
185    this.endConferenceOnExit = endConferenceOnExit;
186    return this;
187  }
188
189  public Conference stayAlone(final Boolean stayAlone) {
190    this.stayAlone = stayAlone;
191    return this;
192  }
193
194  public Conference waitSound(final String waitSound) {
195    this.waitSound = waitSound;
196    return this;
197  }
198
199  public Conference maxMembers(final Integer maxMembers) {
200    this.maxMembers = maxMembers;
201    return this;
202  }
203
204  public Conference record(final Boolean record) {
205    this.record = record;
206    return this;
207  }
208
209  public Conference recordFileFormat(final String recordFileFormat) {
210    this.recordFileFormat = recordFileFormat;
211    return this;
212  }
213
214  public Conference timeLimit(final Integer timeLimit) {
215    this.timeLimit = timeLimit;
216    return this;
217  }
218
219  public Conference hangupOnStar(final Boolean hangupOnStar) {
220    this.hangupOnStar = hangupOnStar;
221    return this;
222  }
223
224  public Conference action(final String action) {
225    this.action = action;
226    return this;
227  }
228
229  public Conference method(final String method) {
230    this.method = method;
231    return this;
232  }
233
234  public Conference callbackUrl(final String callbackUrl) {
235    this.callbackUrl = callbackUrl;
236    return this;
237  }
238
239  public Conference callbackMethod(final String callbackMethod) {
240    this.callbackMethod = callbackMethod;
241    return this;
242  }
243
244  public Conference digitsMatch(final String digitsMatch) {
245    this.digitsMatch = digitsMatch;
246    return this;
247  }
248
249  public Conference floorEvent(final Boolean floorEvent) {
250    this.floorEvent = floorEvent;
251    return this;
252  }
253
254  public Conference redirect(final Boolean redirect) {
255    this.redirect = redirect;
256    return this;
257  }
258
259  public Conference relayDtmf(final Boolean relayDtmf) {
260    this.relayDtmf = relayDtmf;
261    return this;
262  }
263}