com.twilio.twiml.voice.Say Maven / Gradle / Ivy
Show all versions of twilio Show documentation
/**
* This code was generated by
* \ / _ _ _| _ _
* | (_)\/(_)(_|\/| |(/_ v1.0.0
* / /
*/
package com.twilio.twiml.voice;
import com.twilio.twiml.TwiML;
import java.util.HashMap;
import java.util.Map;
/**
* TwiML wrapper for {@code }
*/
public class Say extends TwiML {
public enum Voice {
MAN("man"),
WOMAN("woman"),
ALICE("alice"),
POLLY_ADITI("Polly.Aditi"),
POLLY_AMY("Polly.Amy"),
POLLY_ASTRID("Polly.Astrid"),
POLLY_BIANCA("Polly.Bianca"),
POLLY_BRIAN("Polly.Brian"),
POLLY_CAMILA("Polly.Camila"),
POLLY_CARLA("Polly.Carla"),
POLLY_CARMEN("Polly.Carmen"),
POLLY_CELINE("Polly.Celine"),
POLLY_CHANTAL("Polly.Chantal"),
POLLY_CONCHITA("Polly.Conchita"),
POLLY_CRISTIANO("Polly.Cristiano"),
POLLY_DORA("Polly.Dora"),
POLLY_EMMA("Polly.Emma"),
POLLY_ENRIQUE("Polly.Enrique"),
POLLY_EWA("Polly.Ewa"),
POLLY_FILIZ("Polly.Filiz"),
POLLY_GERAINT("Polly.Geraint"),
POLLY_GIORGIO("Polly.Giorgio"),
POLLY_GWYNETH("Polly.Gwyneth"),
POLLY_HANS("Polly.Hans"),
POLLY_INES("Polly.Ines"),
POLLY_IVY("Polly.Ivy"),
POLLY_JACEK("Polly.Jacek"),
POLLY_JAN("Polly.Jan"),
POLLY_JOANNA("Polly.Joanna"),
POLLY_JOEY("Polly.Joey"),
POLLY_JUSTIN("Polly.Justin"),
POLLY_KARL("Polly.Karl"),
POLLY_KENDRA("Polly.Kendra"),
POLLY_KIMBERLY("Polly.Kimberly"),
POLLY_LEA("Polly.Lea"),
POLLY_LIV("Polly.Liv"),
POLLY_LOTTE("Polly.Lotte"),
POLLY_LUCIA("Polly.Lucia"),
POLLY_LUPE("Polly.Lupe"),
POLLY_MADS("Polly.Mads"),
POLLY_MAJA("Polly.Maja"),
POLLY_MARLENE("Polly.Marlene"),
POLLY_MATHIEU("Polly.Mathieu"),
POLLY_MATTHEW("Polly.Matthew"),
POLLY_MAXIM("Polly.Maxim"),
POLLY_MIA("Polly.Mia"),
POLLY_MIGUEL("Polly.Miguel"),
POLLY_MIZUKI("Polly.Mizuki"),
POLLY_NAJA("Polly.Naja"),
POLLY_NICOLE("Polly.Nicole"),
POLLY_PENELOPE("Polly.Penelope"),
POLLY_RAVEENA("Polly.Raveena"),
POLLY_RICARDO("Polly.Ricardo"),
POLLY_RUBEN("Polly.Ruben"),
POLLY_RUSSELL("Polly.Russell"),
POLLY_SALLI("Polly.Salli"),
POLLY_SEOYEON("Polly.Seoyeon"),
POLLY_TAKUMI("Polly.Takumi"),
POLLY_TATYANA("Polly.Tatyana"),
POLLY_VICKI("Polly.Vicki"),
POLLY_VITORIA("Polly.Vitoria"),
POLLY_ZEINA("Polly.Zeina"),
POLLY_ZHIYU("Polly.Zhiyu"),
POLLY_AMY_NEURAL("Polly.Amy-Neural"),
POLLY_EMMA_NEURAL("Polly.Emma-Neural"),
POLLY_BRIAN_NEURAL("Polly.Brian-Neural"),
POLLY_SALLI_NEURAL("Polly.Salli-Neural"),
POLLY_IVY_NEURAL("Polly.Ivy-Neural"),
POLLY_JOANNA_NEURAL("Polly.Joanna-Neural"),
POLLY_KENDRA_NEURAL("Polly.Kendra-Neural"),
POLLY_KIMBERLY_NEURAL("Polly.Kimberly-Neural"),
POLLY_JOEY_NEURAL("Polly.Joey-Neural"),
POLLY_JUSTIN_NEURAL("Polly.Justin-Neural"),
POLLY_MATTHEW_NEURAL("Polly.Matthew-Neural"),
POLLY_CAMILA_NEURAL("Polly.Camila-Neural"),
POLLY_LUPE_NEURAL("Polly.Lupe-Neural");
private final String value;
private Voice(final String value) {
this.value = value;
}
public String toString() {
return value;
}
}
public enum Language {
ARB("arb"),
CA_ES("ca-ES"),
CY_GB("cy-GB"),
DA_DK("da-DK"),
DE_DE("de-DE"),
EN_AU("en-AU"),
EN_CA("en-CA"),
EN_GB("en-GB"),
EN_GB_WLS("en-GB-WLS"),
EN_IN("en-IN"),
EN_US("en-US"),
ES_ES("es-ES"),
ES_MX("es-MX"),
ES_US("es-US"),
FI_FI("fi-FI"),
FR_CA("fr-CA"),
FR_FR("fr-FR"),
HI_IN("hi-IN"),
IS_IS("is-IS"),
IT_IT("it-IT"),
JA_JP("ja-JP"),
KO_KR("ko-KR"),
NB_NO("nb-NO"),
NL_NL("nl-NL"),
PL_PL("pl-PL"),
PT_BR("pt-BR"),
PT_PT("pt-PT"),
RO_RO("ro-RO"),
RU_RU("ru-RU"),
SV_SE("sv-SE"),
TR_TR("tr-TR"),
ZH_CN("zh-CN"),
ZH_HK("zh-HK"),
ZH_TW("zh-TW");
private final String value;
private Language(final String value) {
this.value = value;
}
public String toString() {
return value;
}
}
private final Say.Voice voice;
private final Integer loop;
private final Say.Language language;
private final String message;
/**
* For XML Serialization/Deserialization
*/
private Say() {
this(new Builder());
}
/**
* Create a new {@code } element
*/
private Say(Builder b) {
super("Say", b);
this.voice = b.voice;
this.loop = b.loop;
this.language = b.language;
this.message = b.message;
}
/**
* The body of the TwiML element
*
* @return Element body as a string if present else null
*/
protected String getElementBody() {
return this.getMessage() == null ? null : this.getMessage();
}
/**
* Attributes to set on the generated XML element
*
* @return A Map of attribute keys to values
*/
protected Map getElementAttributes() {
// Preserve order of attributes
Map attrs = new HashMap<>();
if (this.getVoice() != null) {
attrs.put("voice", this.getVoice().toString());
}
if (this.getLoop() != null) {
attrs.put("loop", this.getLoop().toString());
}
if (this.getLanguage() != null) {
attrs.put("language", this.getLanguage().toString());
}
return attrs;
}
/**
* Voice to use
*
* @return Voice to use
*/
public Say.Voice getVoice() {
return voice;
}
/**
* Times to loop message
*
* @return Times to loop message
*/
public Integer getLoop() {
return loop;
}
/**
* Message langauge
*
* @return Message langauge
*/
public Say.Language getLanguage() {
return language;
}
/**
* Message to say
*
* @return Message to say
*/
public String getMessage() {
return message;
}
/**
* Create a new {@code } element
*/
public static class Builder extends TwiML.Builder {
private Say.Voice voice;
private Integer loop;
private Say.Language language;
private String message;
/**
* Create a {@code } with message
*/
public Builder(String message) {
this.message = message;
}
/**
* Create a {@code } with child elements
*/
public Builder() {
}
/**
* Voice to use
*/
public Builder voice(Say.Voice voice) {
this.voice = voice;
return this;
}
/**
* Times to loop message
*/
public Builder loop(Integer loop) {
this.loop = loop;
return this;
}
/**
* Message langauge
*/
public Builder language(Say.Language language) {
this.language = language;
return this;
}
/**
* Add a child {@code } element
*/
public Builder break_(SsmlBreak ssmlBreak) {
this.children.add(ssmlBreak);
return this;
}
/**
* Add a child {@code } element
*
* @deprecated use {@link #break_(SsmlBreak)}.
*/
@Deprecated
public Builder ssmlBreak(SsmlBreak ssmlBreak) {
return break_(ssmlBreak);
}
/**
* Add a child {@code } element
*/
public Builder emphasis(SsmlEmphasis ssmlEmphasis) {
this.children.add(ssmlEmphasis);
return this;
}
/**
* Add a child {@code } element
*
* @deprecated use {@link #emphasis(SsmlEmphasis)}.
*/
@Deprecated
public Builder ssmlEmphasis(SsmlEmphasis ssmlEmphasis) {
return emphasis(ssmlEmphasis);
}
/**
* Add a child {@code } element
*/
public Builder lang(SsmlLang ssmlLang) {
this.children.add(ssmlLang);
return this;
}
/**
* Add a child {@code } element
*
* @deprecated use {@link #lang(SsmlLang)}.
*/
@Deprecated
public Builder ssmlLang(SsmlLang ssmlLang) {
return lang(ssmlLang);
}
/**
* Add a child {@code } element
*/
public Builder p(SsmlP ssmlP) {
this.children.add(ssmlP);
return this;
}
/**
* Add a child {@code
} element
*
* @deprecated use {@link #p(SsmlP)}.
*/
@Deprecated
public Builder ssmlP(SsmlP ssmlP) {
return p(ssmlP);
}
/**
* Add a child {@code } element
*/
public Builder phoneme(SsmlPhoneme ssmlPhoneme) {
this.children.add(ssmlPhoneme);
return this;
}
/**
* Add a child {@code } element
*
* @deprecated use {@link #phoneme(SsmlPhoneme)}.
*/
@Deprecated
public Builder ssmlPhoneme(SsmlPhoneme ssmlPhoneme) {
return phoneme(ssmlPhoneme);
}
/**
* Add a child {@code } element
*/
public Builder prosody(SsmlProsody ssmlProsody) {
this.children.add(ssmlProsody);
return this;
}
/**
* Add a child {@code } element
*
* @deprecated use {@link #prosody(SsmlProsody)}.
*/
@Deprecated
public Builder ssmlProsody(SsmlProsody ssmlProsody) {
return prosody(ssmlProsody);
}
/**
* Add a child {@code } element
*/
public Builder s(SsmlS ssmlS) {
this.children.add(ssmlS);
return this;
}
/**
* Add a child {@code } element
*
* @deprecated use {@link #s(SsmlS)}.
*/
@Deprecated
public Builder ssmlS(SsmlS ssmlS) {
return s(ssmlS);
}
/**
* Add a child {@code } element
*/
public Builder sayAs(SsmlSayAs ssmlSayAs) {
this.children.add(ssmlSayAs);
return this;
}
/**
* Add a child {@code } element
*
* @deprecated use {@link #sayAs(SsmlSayAs)}.
*/
@Deprecated
public Builder ssmlSayAs(SsmlSayAs ssmlSayAs) {
return sayAs(ssmlSayAs);
}
/**
* Add a child {@code } element
*/
public Builder sub(SsmlSub ssmlSub) {
this.children.add(ssmlSub);
return this;
}
/**
* Add a child {@code } element
*
* @deprecated use {@link #sub(SsmlSub)}.
*/
@Deprecated
public Builder ssmlSub(SsmlSub ssmlSub) {
return sub(ssmlSub);
}
/**
* Add a child {@code } element
*/
public Builder w(SsmlW ssmlW) {
this.children.add(ssmlW);
return this;
}
/**
* Add a child {@code } element
*
* @deprecated use {@link #w(SsmlW)}.
*/
@Deprecated
public Builder ssmlW(SsmlW ssmlW) {
return w(ssmlW);
}
/**
* Create and return resulting {@code } element
*/
public Say build() {
return new Say(this);
}
}
}