package com.twilio.type;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects;
import java.util.List;
import java.util.Objects;
/**
* Outbound prices for prefixes.
*
* <p>
* For more information see:
* <a href=https://www.twilio.com/docs/api/pricing/voice#outbound-prefix-price>Pricing docs</a>
* </p>
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class OutboundPrefixPrice {
private final List<String> prefixes;
private final String friendlyName;
private final double basePrice;
private final double currentPrice;
/**
* Initialize an OutboundPrefixPrice.
*
* @param prefixes price prefixes
* @param friendlyName friend name for the price
* @param basePrice base price
* @param currentPrice current price
*/
@JsonCreator
public OutboundPrefixPrice(@JsonProperty("prefixes") final List<String> prefixes,
@JsonProperty("friendly_name") final String friendlyName,
@JsonProperty("base_price") final double basePrice,
@JsonProperty("current_price") final double currentPrice) {
this.prefixes = prefixes;
this.friendlyName = friendlyName;
this.basePrice = basePrice;
this.currentPrice = currentPrice;
}
public List<String> getPrefixes() {
return prefixes;
}
public String getFriendlyName() {
return friendlyName;
}
public double getBasePrice() {
return basePrice;
}
public double getCurrentPrice() {
return currentPrice;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
OutboundPrefixPrice other = (OutboundPrefixPrice) o;
return Objects.equals(this.basePrice, other.basePrice) &&
Objects.equals(this.currentPrice, other.currentPrice) &&
Objects.equals(this.prefixes, other.prefixes) &&
Objects.equals(this.friendlyName, other.friendlyName);
}
@Override
public int hashCode() {
return Objects.hash(this.prefixes, this.friendlyName, this.basePrice, this.currentPrice);
}
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("prefixes", this.prefixes)
.add("friendly_name", this.friendlyName)
.add("base_price", this.basePrice)
.add("current_price", this.currentPrice)
.toString();
}
}