com.twilio.twiml.voice.Refer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of twilio Show documentation
Show all versions of twilio Show documentation
Twilio Java Helper Library
/**
* This code was generated by
* \ / _ _ _| _ _
* | (_)\/(_)(_|\/| |(/_ v1.0.0
* / /
*/
package com.twilio.twiml.voice;
import com.twilio.converter.Promoter;
import com.twilio.http.HttpMethod;
import com.twilio.twiml.TwiML;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
/**
* TwiML wrapper for {@code }
*/
public class Refer extends TwiML {
private final URI action;
private final HttpMethod method;
/**
* For XML Serialization/Deserialization
*/
private Refer() {
this(new Builder());
}
/**
* Create a new {@code } element
*/
private Refer(Builder b) {
super("Refer", b);
this.action = b.action;
this.method = b.method;
}
/**
* 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.getAction() != null) {
attrs.put("action", this.getAction().toString());
}
if (this.getMethod() != null) {
attrs.put("method", this.getMethod().toString());
}
return attrs;
}
/**
* Action URL
*
* @return Action URL
*/
public URI getAction() {
return action;
}
/**
* Action URL method
*
* @return Action URL method
*/
public HttpMethod getMethod() {
return method;
}
/**
* Create a new {@code } element
*/
public static class Builder extends TwiML.Builder {
private URI action;
private HttpMethod method;
/**
* Action URL
*/
public Builder action(URI action) {
this.action = action;
return this;
}
/**
* Action URL
*/
public Builder action(String action) {
this.action = Promoter.uriFromString(action);
return this;
}
/**
* Action URL method
*/
public Builder method(HttpMethod method) {
this.method = method;
return this;
}
/**
* Add a child {@code } element
*/
public Builder sip(ReferSip referSip) {
this.children.add(referSip);
return this;
}
/**
* Create and return resulting {@code } element
*/
public Refer build() {
return new Refer(this);
}
}
}