001package com.plivo.api.xml;
002
003import java.util.ArrayList;
004import java.util.Arrays;
005import java.util.List;
006import javax.xml.bind.annotation.XmlElement;
007import javax.xml.bind.annotation.XmlElements;
008import javax.xml.bind.annotation.XmlRootElement;
009
010@XmlRootElement(name = "Response")
011public class Response extends PlivoXml {
012
013  @XmlElements({
014    @XmlElement(name = "Wait", type = Wait.class),
015    @XmlElement(name = "Dial", type = Dial.class),
016    @XmlElement(name = "Conference", type = Conference.class),
017    @XmlElement(name = "Message", type = Message.class),
018    @XmlElement(name = "Play", type = Play.class),
019    @XmlElement(name = "Speak", type = Speak.class),
020    @XmlElement(name = "DTMF", type = Dtmf.class),
021    @XmlElement(name = "PreAnswer", type = PreAnswer.class),
022    @XmlElement(name = "Hangup", type = Hangup.class),
023    @XmlElement(name = "Redirect", type = Redirect.class),
024    @XmlElement(name = "GetDigits", type = GetDigits.class),
025    @XmlElement(name = "GetInput", type = GetInput.class),
026    @XmlElement(name = "Record", type = Record.class),
027  })
028  private List<com.plivo.api.xml.XmlElement> children = new ArrayList<>();
029
030  public Response children(ResponseNestable... nestable) {
031    children.addAll(Arrays.asList(nestable));
032    return this;
033  }
034}