001package com.plivo.api.xml;
002
003import java.util.ArrayList;
004import java.util.Arrays;
005import java.util.List;
006import javax.xml.bind.annotation.XmlAttribute;
007import javax.xml.bind.annotation.XmlElement;
008import javax.xml.bind.annotation.XmlElements;
009import javax.xml.bind.annotation.XmlRootElement;
010
011@XmlRootElement(name = "GetInput")
012public class GetInput extends PlivoXml implements ResponseNestable {
013
014  @XmlAttribute
015  private String action;
016
017  @XmlAttribute
018  private String method;
019
020  @XmlAttribute
021  private String inputType;
022
023  @XmlAttribute
024  private Integer executionTimeout;
025
026  @XmlAttribute
027  private Integer digitEndTimeout;
028
029  @XmlAttribute
030  private Integer speechEndTimeout;
031
032  @XmlAttribute
033  private String finishOnKey;
034
035  @XmlAttribute
036  private Integer numDigits;
037
038  @XmlAttribute
039  private String speechModel;
040
041  @XmlAttribute
042  private String hints;
043
044  @XmlAttribute
045  private String language;
046
047  @XmlAttribute
048  private String interimSpeechResultsCallback;
049
050  @XmlAttribute
051  private String interimSpeechResultsCallbackMethod;
052
053  @XmlAttribute
054  private Boolean redirect;
055
056  @XmlAttribute
057  private Boolean log;
058
059  @XmlAttribute
060  private Boolean profanityFilter;
061
062  @XmlElements({
063    @XmlElement(name = "Speak", type = Speak.class),
064    @XmlElement(name = "Wait", type = Wait.class),
065    @XmlElement(name = "Play", type = Play.class)
066  })
067  private List<GetInputNestable> children = new ArrayList<>();
068
069  public String action() {
070    return this.action;
071  }
072
073  public String method() {
074    return this.method;
075  }
076
077  public String inputType() {
078    return this.inputType;
079  }
080
081  public Integer executionTimeout() {
082    return this.executionTimeout;
083  }
084
085  public Integer digitEndTimeout() {
086    return this.digitEndTimeout;
087  }
088
089  public Integer speechEndTimeout() {
090    return this.speechEndTimeout;
091  }
092
093  public String finishOnKey() {
094    return this.finishOnKey;
095  }
096
097  public Integer numDigits() {
098    return this.numDigits;
099  }
100
101  public String speechModel() {
102    return this.speechModel;
103  }
104
105  public String hints() {
106    return this.hints;
107  }
108
109  public String language() {
110    return this.language;
111  }
112
113  public String interimSpeechResultsCallback() {
114    return this.interimSpeechResultsCallback;
115  }
116
117  public String interimSpeechResultsCallbackMethod() {
118    return this.interimSpeechResultsCallbackMethod;
119  }
120
121  public Boolean redirect() {
122    return this.redirect;
123  }
124
125  public Boolean log() {
126    return this.log;
127  }
128
129  public Boolean profanityFilter() {
130    return this.profanityFilter;
131  }
132
133  public List<GetInputNestable> children() {
134    return this.children;
135  }
136
137  public GetInput action(final String action) {
138    this.action = action;
139    return this;
140  }
141
142  public GetInput method(final String method) {
143    this.method = method;
144    return this;
145  }
146
147  public GetInput inputType(final String inputType) {
148    this.inputType = inputType;
149    return this;
150  }
151
152  public GetInput executionTimeout(final Integer executionTimeout) {
153    this.executionTimeout = executionTimeout;
154    return this;
155  }
156
157  public GetInput digitEndTimeout(final Integer digitEndTimeout) {
158    this.digitEndTimeout = digitEndTimeout;
159    return this;
160  }
161
162  public GetInput speechEndTimeout(final Integer speechEndTimeout) {
163    this.speechEndTimeout = speechEndTimeout;
164    return this;
165  }
166
167  public GetInput finishOnKey(final String finishOnKey) {
168    this.finishOnKey = finishOnKey;
169    return this;
170  }
171
172  public GetInput numDigits(final Integer numDigits) {
173    this.numDigits = numDigits;
174    return this;
175  }
176
177  public GetInput speechModel(final String speechModel) {
178    this.speechModel = speechModel;
179    return this;
180  }
181
182  public GetInput hints(final String hints) {
183    this.hints = hints;
184    return this;
185  }
186
187  public GetInput language(final String language) {
188    this.language = language;
189    return this;
190  }
191
192  public GetInput interimSpeechResultsCallback(final String interimSpeechResultsCallback) {
193    this.interimSpeechResultsCallback = interimSpeechResultsCallback;
194    return this;
195  }
196
197  public GetInput interimSpeechResultsCallbackMethod(final String interimSpeechResultsCallbackMethod) {
198    this.interimSpeechResultsCallbackMethod = interimSpeechResultsCallbackMethod;
199    return this;
200  }
201
202  public GetInput redirect(final Boolean redirect) {
203    this.redirect = redirect;
204    return this;
205  }
206
207  public GetInput log(final Boolean log) {
208    this.log = log;
209    return this;
210  }
211
212  public GetInput profanityFilter(final Boolean profanityFilter) {
213    this.profanityFilter = profanityFilter;
214    return this;
215  }
216
217  public GetInput children(GetInputNestable... children) {
218    this.children.addAll(Arrays.asList(children));
219    return this;
220  }
221}