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; /** * Pricing details per sms. * * <p> * For more information see: * <a href=https://www.twilio.com/docs/api/pricing/messaging>Message Pricing Docs</a> * </p> */ @JsonIgnoreProperties(ignoreUnknown = true) public class OutboundSmsPrice { private final String mcc; private final String mnc; private final String carrier; private final List<InboundSmsPrice> prices; /** * Initialize a OutboundSmsPrice. * * @param mcc mcc identifier * @param mnc mnc identifier * @param carrier carrier name * @param prices prices for incoming sms */ @JsonCreator public OutboundSmsPrice(@JsonProperty("mcc") final String mcc, @JsonProperty("mnc") final String mnc, @JsonProperty("carrier") final String carrier, @JsonProperty("prices") final List<InboundSmsPrice> prices) { this.mcc = mcc; this.mnc = mnc; this.carrier = carrier; this.prices = prices; } public String getMcc() { return mcc; } public String getMnc() { return mnc; } public String getCarrier() { return carrier; } public List<InboundSmsPrice> getPrices() { return prices; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } OutboundSmsPrice other = (OutboundSmsPrice) o; return Objects.equals(this.mcc, other.mcc) && Objects.equals(this.mnc, other.mnc) && Objects.equals(this.carrier, other.carrier) && Objects.equals(this.prices, other.prices); } @Override public int hashCode() { return Objects.hash(this.mcc, this.mnc, this.carrier, this.prices); } @Override public String toString() { return MoreObjects.toStringHelper(this) .add("mcc", mcc) .add("mnc", mnc) .add("carrier", carrier) .add("prices", prices) .toString(); } }