package com.rayo.core.verb;
import java.net.URI;
import java.util.List;
import java.util.Map;
import javax.validation.Valid;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import org.hibernate.validator.constraints.NotEmpty;
import org.joda.time.Duration;
import com.rayo.core.validation.Messages;
public class Transfer extends BaseVerb {
@Valid
private Ssml ringbackTone;
@NotEmpty(message=Messages.MISSING_TO)
private List<URI> to;
private URI from;
private boolean answerOnMedia;
private Character terminator = '#';
private Map<String, String> headers;
private Duration timeout = new Duration(30000);
private MediaType media = MediaType.BRIDGE;
public Ssml getRingbackTone() {
return ringbackTone;
}
public void setRingbackTone(Ssml items) {
this.ringbackTone = items;
}
public List<URI> getTo() {
return to;
}
public void setTo(List<URI> to) {
this.to = to;
}
public URI getFrom() {
return from;
}
public void setFrom(URI from) {
this.from = from;
}
public Duration getTimeout() {
return timeout;
}
public void setTimeout(Duration timeout) {
this.timeout = timeout;
}
public boolean isAnswerOnMedia() {
return answerOnMedia;
}
public void setAnswerOnMedia(boolean answerOnMedia) {
this.answerOnMedia = answerOnMedia;
}
public Character getTerminator() {
return terminator;
}
public void setTerminator(Character terminator) {
this.terminator = terminator;
}
public Map<String, String> getHeaders() {
return headers;
}
public void setHeaders(Map<String, String> headers) {
this.headers = headers;
}
public MediaType getMedia() {
return media;
}
public void setMedia(MediaType media) {
this.media = media;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
.append("callId", getCallId())
.append("verbId", getVerbId())
.append("to", to)
.append("from", from)
.append("timeout", timeout)
.append("answerOnMedia", answerOnMedia)
.append("terminator", terminator)
.append("ringbackTone",ringbackTone)
.toString();
}
}