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}