001package com.plivo.api.models.call; 002 003import com.plivo.api.models.base.BaseResource; 004import com.plivo.api.models.call.actions.CallDtmfCreator; 005import com.plivo.api.models.call.actions.CallPlayCreator; 006import com.plivo.api.models.call.actions.CallPlayDeleter; 007import com.plivo.api.models.call.actions.CallRecordCreator; 008import com.plivo.api.models.call.actions.CallRecordDeleter; 009import com.plivo.api.models.call.actions.CallSpeakCreator; 010import com.plivo.api.models.call.actions.CallSpeakDeleter; 011import java.util.List; 012 013// TODO Date 014public class Call extends BaseResource { 015 016 private String answerTime; 017 private Long billDuration; 018 private Long billedDuration; 019 private CallDirection callDirection; 020 private Long callDuration; 021 private String callState; 022 private String callUuid; 023 private String endTime; 024 private String fromNumber; 025 private String initiationTime; 026 private String parentCallUuid; 027 private String resourceUri; 028 private String toNumber; 029 private String totalAmount; 030 private String totalRate; 031 private String hangupSource; 032 private String hangupCauseName; 033 private Integer hangupCauseCode; 034 035 public static CallCreator creator(String from, List<String> to, String answerUrl) { 036 return new CallCreator(from, to, answerUrl); 037 } 038 039 public static CallDeleter deleter(String id) { 040 return new CallDeleter(id); 041 } 042 043 public static CallUpdater updater(String id) { 044 return new CallUpdater(id); 045 } 046 047 public static CallUpdater transferrer(String id) { 048 return new CallUpdater(id); 049 } 050 051 public static CallLister lister() { 052 return new CallLister(); 053 } 054 055 public static CallRecordCreator recorder(String callUuid) { 056 return new CallRecordCreator(callUuid); 057 } 058 059 public static CallRecordDeleter recordStopper(String callUuid) { 060 return new CallRecordDeleter(callUuid); 061 } 062 063 public static CallPlayCreator player(String callUuid, List<String> urls) { 064 return new CallPlayCreator(callUuid, urls); 065 } 066 067 public static CallPlayDeleter playStopper(String callUuid) { 068 return new CallPlayDeleter(callUuid); 069 } 070 071 public static CallSpeakCreator speaker(String callUuid, String text) { 072 return new CallSpeakCreator(callUuid, text); 073 } 074 075 public static CallSpeakDeleter speakStopper(String callUuid) { 076 return new CallSpeakDeleter(callUuid); 077 } 078 079 public static CallDtmfCreator digitSender(String callUuid, String digits) { 080 return new CallDtmfCreator(callUuid, digits); 081 } 082 083 public static CallGetter getter(String id) { 084 return new CallGetter(id); 085 } 086 087 public String getAnswerTime() { 088 return answerTime; 089 } 090 091 public Long getBillDuration() { 092 return billDuration; 093 } 094 095 public Long getBilledDuration() { 096 return billedDuration; 097 } 098 099 public CallDirection getCallDirection() { 100 return callDirection; 101 } 102 103 public Long getCallDuration() { 104 return callDuration; 105 } 106 107 public String getcallState() { 108 return callState; 109 } 110 111 public String getCallUuid() { 112 return callUuid; 113 } 114 115 public String getEndTime() { 116 return endTime; 117 } 118 119 public String getFromNumber() { 120 return fromNumber; 121 } 122 123 public String getInitiationTime() { 124 return initiationTime; 125 } 126 127 public String getParentCallUuid() { 128 return parentCallUuid; 129 } 130 131 public String getResourceUri() { 132 return resourceUri; 133 } 134 135 public String getToNumber() { 136 return toNumber; 137 } 138 139 public String getTotalAmount() { 140 return totalAmount; 141 } 142 143 public String getTotalRate() { 144 return totalRate; 145 } 146 147 public String getHangupCauseName(){ 148 return hangupCauseName; 149 } 150 151 public String getHangupSource(){ 152 return hangupSource; 153 } 154 155 public Integer getHangupCauseCode(){ 156 return hangupCauseCode; 157 } 158 159 public CallDeleter deleter() { 160 return Call.deleter(callUuid); 161 } 162 163 public CallUpdater updater() { 164 return Call.updater(callUuid); 165 } 166 167 public CallUpdater transferrer() { 168 return Call.updater(callUuid); 169 } 170 171 public CallRecordCreator recorder() { 172 return new CallRecordCreator(callUuid); 173 } 174 175 public CallRecordDeleter recordStopper() { 176 return new CallRecordDeleter(callUuid); 177 } 178 179 public CallPlayCreator player(List<String> urls) { 180 return new CallPlayCreator(callUuid, urls); 181 } 182 183 public CallPlayDeleter playStopper() { 184 return new CallPlayDeleter(callUuid); 185 } 186 187 public CallSpeakCreator speaker(String text) { 188 return new CallSpeakCreator(callUuid, text); 189 } 190 191 public RequestDeleter canceller() { 192 return Call.canceller(callUuid); 193 } 194 195 public static RequestDeleter canceller(String callUuid) { 196 return new RequestDeleter(callUuid); 197 } 198 199 public CallSpeakDeleter speakStopper() { 200 return new CallSpeakDeleter(callUuid); 201 } 202 203 public CallDtmfCreator digitSender(String digits) { 204 return new CallDtmfCreator(callUuid, digits); 205 } 206 207 @Override 208 public String getId() { 209 return getCallUuid(); 210 } 211}