001/* 002 * Copyright (c) 2011-2017 Nexmo Inc 003 * 004 * Permission is hereby granted, free of charge, to any person obtaining a copy 005 * of this software and associated documentation files (the "Software"), to deal 006 * in the Software without restriction, including without limitation the rights 007 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 008 * copies of the Software, and to permit persons to whom the Software is 009 * furnished to do so, subject to the following conditions: 010 * 011 * The above copyright notice and this permission notice shall be included in 012 * all copies or substantial portions of the Software. 013 * 014 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 015 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 016 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 017 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 018 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 019 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 020 * THE SOFTWARE. 021 */ 022package com.nexmo.client.voice; 023 024import com.fasterxml.jackson.annotation.JsonCreator; 025import com.fasterxml.jackson.annotation.JsonValue; 026import org.apache.commons.lang3.StringUtils; 027 028/** 029 * Voice used to deliver text to a {@link Call} in a {@link TalkRequest}. 030 */ 031 032public enum VoiceName { 033 SALLI, 034 JOEY, 035 NAJA, 036 MADS, 037 MARLENE, 038 HANS, 039 NICOLE, 040 RUSSELL, 041 AMY, 042 BRIAN, 043 EMMA, 044 GWYNETH, 045 GERAINT, 046 RAVEENA, 047 CHIPMUNK, 048 ERIC, 049 IVY, 050 JENNIFER, 051 JUSTIN, 052 KENDRA, 053 KIMBERLY, 054 CONCHITA, 055 ENRIQUE, 056 PENELOPE, 057 MIGUEL, 058 CHANTAL, 059 CELINE, 060 MATHIEU, 061 DORA, 062 KARL, 063 CARLA, 064 GIORGIO, 065 LIV, 066 LOTTE, 067 RUBEN, 068 AGNIESZKA, 069 JACEK, 070 EWA, 071 JAN, 072 MAJA, 073 VITORIA, 074 RICARDO, 075 CRISTIANO, 076 INES, 077 CARMEN, 078 MAXIM, 079 TATYANA, 080 ASTRID, 081 FILIZ; 082 083 @JsonValue 084 @Override 085 public String toString() { 086 //API requires voice_name to be sent with first character upper cased 087 return StringUtils.capitalize(name().toLowerCase()); 088 } 089 090 @JsonCreator 091 public static VoiceName fromString(String name) { 092 return VoiceName.valueOf(name.toUpperCase()); 093 } 094 095}