com.sinch.sdk.domains.voice.models.requests.ApplicationsAssignNumbersRequestParameters Maven / Gradle / Ivy
Show all versions of sinch-sdk-java Show documentation
package com.sinch.sdk.domains.voice.models.requests;
import com.sinch.sdk.core.models.OptionalValue;
import com.sinch.sdk.domains.voice.models.CapabilityType;
import com.sinch.sdk.models.E164PhoneNumber;
import java.util.Collection;
/**
* Request parameters when updating a numbers list
*
* @since 1.0
*/
public class ApplicationsAssignNumbersRequestParameters {
private final OptionalValue> numbers;
private final OptionalValue applicationKey;
private final OptionalValue capability;
private ApplicationsAssignNumbersRequestParameters(
OptionalValue> numbers,
OptionalValue applicationKey,
OptionalValue capability) {
this.numbers = numbers;
this.applicationKey = applicationKey;
this.capability = capability;
}
/**
* Number list to be edited
*
* @return The numbers list
* @see Builder#setNumbers setter
* @since 1.0
*/
public OptionalValue> getNumbers() {
return numbers;
}
/**
* Application key to be assigned to numbers
*
* @return The application key
* @see Builder#setApplicationKey setter
* @since 1.0
*/
public OptionalValue getApplicationKey() {
return applicationKey;
}
/**
* Capability to be set
*
* @return The capability
* @see Builder#setCapability setter
* @since 1.0
*/
public OptionalValue getCapability() {
return capability;
}
@Override
public String toString() {
return "ApplicationsAssignNumbersRequestParameters{"
+ "numbers="
+ numbers
+ ", applicationKey='"
+ applicationKey
+ '\''
+ ", capability="
+ capability
+ '}';
}
/**
* Create a builder instance
*
* @return Dedicated builder
*/
public static Builder builder() {
return new Builder();
}
public static class Builder {
OptionalValue> numbers = OptionalValue.empty();
OptionalValue applicationKey = OptionalValue.empty();
OptionalValue capability = OptionalValue.empty();
/**
* The phone number list to be updated or assigned to application
*
* @param numbers The phone number list
* @return Current builder
* @since 1.0
*/
public Builder setNumbers(Collection numbers) {
this.numbers = OptionalValue.of(numbers);
return this;
}
/**
* Indicates the application where the numbers will be assigned.
*
* If empty, the application key that is used to authenticate
*
* @param applicationKey The application where the numbers will be assigned
* @return Current builder
* @since 1.0
*/
public Builder setApplicationKey(String applicationKey) {
this.applicationKey = OptionalValue.of(applicationKey);
return this;
}
/**
* Indicates the DID capability that needs to be assigned to the chosen application.
*
*
Please note that the DID needs to support the selected capability.
*
* @param capability The capability value
* @return Current builder
* @since 1.0
*/
public Builder setCapability(CapabilityType capability) {
this.capability = OptionalValue.of(capability);
return this;
}
public ApplicationsAssignNumbersRequestParameters build() {
return new ApplicationsAssignNumbersRequestParameters(numbers, applicationKey, capability);
}
}
}