
com.infobip.model.SmsReport Maven / Gradle / Ivy
/*
* This class is auto generated from the Infobip OpenAPI specification
* through the OpenAPI Specification Client API libraries (Re)Generator (OSCAR),
* powered by the OpenAPI Generator (https://openapi-generator.tech).
*
* Do not edit manually. To learn how to raise an issue, see the CONTRIBUTING guide
* or contact us @ [email protected].
*/
package com.infobip.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;
import java.util.Objects;
/**
* Represents SmsReport model.
*/
public class SmsReport {
private String bulkId;
private String messageId;
private String to;
private String from;
private OffsetDateTime sentAt;
private OffsetDateTime doneAt;
private Integer smsCount;
private String mccMnc;
private String callbackData;
private MessagePrice price;
private MessageStatus status;
private MessageError error;
private String entityId;
private String applicationId;
/**
* Sets bulkId.
*
* Field description:
* Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
*
* @param bulkId
* @return This {@link SmsReport instance}.
*/
public SmsReport bulkId(String bulkId) {
this.bulkId = bulkId;
return this;
}
/**
* Returns bulkId.
*
* Field description:
* Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
*
* @return bulkId
*/
@JsonProperty("bulkId")
public String getBulkId() {
return bulkId;
}
/**
* Sets bulkId.
*
* Field description:
* Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
*
* @param bulkId
*/
@JsonProperty("bulkId")
public void setBulkId(String bulkId) {
this.bulkId = bulkId;
}
/**
* Sets messageId.
*
* Field description:
* Unique message ID.
*
* @param messageId
* @return This {@link SmsReport instance}.
*/
public SmsReport messageId(String messageId) {
this.messageId = messageId;
return this;
}
/**
* Returns messageId.
*
* Field description:
* Unique message ID.
*
* @return messageId
*/
@JsonProperty("messageId")
public String getMessageId() {
return messageId;
}
/**
* Sets messageId.
*
* Field description:
* Unique message ID.
*
* @param messageId
*/
@JsonProperty("messageId")
public void setMessageId(String messageId) {
this.messageId = messageId;
}
/**
* Sets to.
*
* Field description:
* Message destination address.
*
* @param to
* @return This {@link SmsReport instance}.
*/
public SmsReport to(String to) {
this.to = to;
return this;
}
/**
* Returns to.
*
* Field description:
* Message destination address.
*
* @return to
*/
@JsonProperty("to")
public String getTo() {
return to;
}
/**
* Sets to.
*
* Field description:
* Message destination address.
*
* @param to
*/
@JsonProperty("to")
public void setTo(String to) {
this.to = to;
}
/**
* Sets from.
*
* Field description:
* The sender ID which can be alphanumeric or numeric (e.g., `CompanyName`).
*
* @param from
* @return This {@link SmsReport instance}.
*/
public SmsReport from(String from) {
this.from = from;
return this;
}
/**
* Returns from.
*
* Field description:
* The sender ID which can be alphanumeric or numeric (e.g., `CompanyName`).
*
* @return from
*/
@JsonProperty("from")
public String getFrom() {
return from;
}
/**
* Sets from.
*
* Field description:
* The sender ID which can be alphanumeric or numeric (e.g., `CompanyName`).
*
* @param from
*/
@JsonProperty("from")
public void setFrom(String from) {
this.from = from;
}
/**
* Sets sentAt.
*
* Field description:
* Date and time when the message was [scheduled](#channels/sms/get-scheduled-sms-messages) to be sent. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
*
* @param sentAt
* @return This {@link SmsReport instance}.
*/
public SmsReport sentAt(OffsetDateTime sentAt) {
this.sentAt = sentAt;
return this;
}
/**
* Returns sentAt.
*
* Field description:
* Date and time when the message was [scheduled](#channels/sms/get-scheduled-sms-messages) to be sent. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
*
* @return sentAt
*/
@JsonProperty("sentAt")
public OffsetDateTime getSentAt() {
return sentAt;
}
/**
* Sets sentAt.
*
* Field description:
* Date and time when the message was [scheduled](#channels/sms/get-scheduled-sms-messages) to be sent. Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
*
* @param sentAt
*/
@JsonProperty("sentAt")
public void setSentAt(OffsetDateTime sentAt) {
this.sentAt = sentAt;
}
/**
* Sets doneAt.
*
* Field description:
* Date and time when the Infobip services finished processing the message (i.e., delivered to the destination, delivered to the destination network, etc.). Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
*
* @param doneAt
* @return This {@link SmsReport instance}.
*/
public SmsReport doneAt(OffsetDateTime doneAt) {
this.doneAt = doneAt;
return this;
}
/**
* Returns doneAt.
*
* Field description:
* Date and time when the Infobip services finished processing the message (i.e., delivered to the destination, delivered to the destination network, etc.). Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
*
* @return doneAt
*/
@JsonProperty("doneAt")
public OffsetDateTime getDoneAt() {
return doneAt;
}
/**
* Sets doneAt.
*
* Field description:
* Date and time when the Infobip services finished processing the message (i.e., delivered to the destination, delivered to the destination network, etc.). Has the following format: `yyyy-MM-dd'T'HH:mm:ss.SSSZ`.
*
* @param doneAt
*/
@JsonProperty("doneAt")
public void setDoneAt(OffsetDateTime doneAt) {
this.doneAt = doneAt;
}
/**
* Sets smsCount.
*
* Field description:
* The number of parts the message content was split into.
*
* @param smsCount
* @return This {@link SmsReport instance}.
*/
public SmsReport smsCount(Integer smsCount) {
this.smsCount = smsCount;
return this;
}
/**
* Returns smsCount.
*
* Field description:
* The number of parts the message content was split into.
*
* @return smsCount
*/
@JsonProperty("smsCount")
public Integer getSmsCount() {
return smsCount;
}
/**
* Sets smsCount.
*
* Field description:
* The number of parts the message content was split into.
*
* @param smsCount
*/
@JsonProperty("smsCount")
public void setSmsCount(Integer smsCount) {
this.smsCount = smsCount;
}
/**
* Sets mccMnc.
*
* Field description:
* Mobile country and network codes.
*
* @param mccMnc
* @return This {@link SmsReport instance}.
*/
public SmsReport mccMnc(String mccMnc) {
this.mccMnc = mccMnc;
return this;
}
/**
* Returns mccMnc.
*
* Field description:
* Mobile country and network codes.
*
* @return mccMnc
*/
@JsonProperty("mccMnc")
public String getMccMnc() {
return mccMnc;
}
/**
* Sets mccMnc.
*
* Field description:
* Mobile country and network codes.
*
* @param mccMnc
*/
@JsonProperty("mccMnc")
public void setMccMnc(String mccMnc) {
this.mccMnc = mccMnc;
}
/**
* Sets callbackData.
*
* Field description:
* Custom data sent over to the `notifyUrl`.
*
* @param callbackData
* @return This {@link SmsReport instance}.
*/
public SmsReport callbackData(String callbackData) {
this.callbackData = callbackData;
return this;
}
/**
* Returns callbackData.
*
* Field description:
* Custom data sent over to the `notifyUrl`.
*
* @return callbackData
*/
@JsonProperty("callbackData")
public String getCallbackData() {
return callbackData;
}
/**
* Sets callbackData.
*
* Field description:
* Custom data sent over to the `notifyUrl`.
*
* @param callbackData
*/
@JsonProperty("callbackData")
public void setCallbackData(String callbackData) {
this.callbackData = callbackData;
}
/**
* Sets price.
*
* @param price
* @return This {@link SmsReport instance}.
*/
public SmsReport price(MessagePrice price) {
this.price = price;
return this;
}
/**
* Returns price.
*
* @return price
*/
@JsonProperty("price")
public MessagePrice getPrice() {
return price;
}
/**
* Sets price.
*
* @param price
*/
@JsonProperty("price")
public void setPrice(MessagePrice price) {
this.price = price;
}
/**
* Sets status.
*
* @param status
* @return This {@link SmsReport instance}.
*/
public SmsReport status(MessageStatus status) {
this.status = status;
return this;
}
/**
* Returns status.
*
* @return status
*/
@JsonProperty("status")
public MessageStatus getStatus() {
return status;
}
/**
* Sets status.
*
* @param status
*/
@JsonProperty("status")
public void setStatus(MessageStatus status) {
this.status = status;
}
/**
* Sets error.
*
* @param error
* @return This {@link SmsReport instance}.
*/
public SmsReport error(MessageError error) {
this.error = error;
return this;
}
/**
* Returns error.
*
* @return error
*/
@JsonProperty("error")
public MessageError getError() {
return error;
}
/**
* Sets error.
*
* @param error
*/
@JsonProperty("error")
public void setError(MessageError error) {
this.error = error;
}
/**
* Sets entityId.
*
* Field description:
* The entity used when sending the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
*
* @param entityId
* @return This {@link SmsReport instance}.
*/
public SmsReport entityId(String entityId) {
this.entityId = entityId;
return this;
}
/**
* Returns entityId.
*
* Field description:
* The entity used when sending the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
*
* @return entityId
*/
@JsonProperty("entityId")
public String getEntityId() {
return entityId;
}
/**
* Sets entityId.
*
* Field description:
* The entity used when sending the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
*
* @param entityId
*/
@JsonProperty("entityId")
public void setEntityId(String entityId) {
this.entityId = entityId;
}
/**
* Sets applicationId.
*
* Field description:
* The application used when sending the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
*
* @param applicationId
* @return This {@link SmsReport instance}.
*/
public SmsReport applicationId(String applicationId) {
this.applicationId = applicationId;
return this;
}
/**
* Returns applicationId.
*
* Field description:
* The application used when sending the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
*
* @return applicationId
*/
@JsonProperty("applicationId")
public String getApplicationId() {
return applicationId;
}
/**
* Sets applicationId.
*
* Field description:
* The application used when sending the message. For more details, see our [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
*
* @param applicationId
*/
@JsonProperty("applicationId")
public void setApplicationId(String applicationId) {
this.applicationId = applicationId;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
SmsReport smsReport = (SmsReport) o;
return Objects.equals(this.bulkId, smsReport.bulkId)
&& Objects.equals(this.messageId, smsReport.messageId)
&& Objects.equals(this.to, smsReport.to)
&& Objects.equals(this.from, smsReport.from)
&& Objects.equals(this.sentAt, smsReport.sentAt)
&& Objects.equals(this.doneAt, smsReport.doneAt)
&& Objects.equals(this.smsCount, smsReport.smsCount)
&& Objects.equals(this.mccMnc, smsReport.mccMnc)
&& Objects.equals(this.callbackData, smsReport.callbackData)
&& Objects.equals(this.price, smsReport.price)
&& Objects.equals(this.status, smsReport.status)
&& Objects.equals(this.error, smsReport.error)
&& Objects.equals(this.entityId, smsReport.entityId)
&& Objects.equals(this.applicationId, smsReport.applicationId);
}
@Override
public int hashCode() {
return Objects.hash(
bulkId,
messageId,
to,
from,
sentAt,
doneAt,
smsCount,
mccMnc,
callbackData,
price,
status,
error,
entityId,
applicationId);
}
@Override
public String toString() {
String newLine = System.lineSeparator();
return new StringBuilder()
.append("class SmsReport {")
.append(newLine)
.append(" bulkId: ")
.append(toIndentedString(bulkId))
.append(newLine)
.append(" messageId: ")
.append(toIndentedString(messageId))
.append(newLine)
.append(" to: ")
.append(toIndentedString(to))
.append(newLine)
.append(" from: ")
.append(toIndentedString(from))
.append(newLine)
.append(" sentAt: ")
.append(toIndentedString(sentAt))
.append(newLine)
.append(" doneAt: ")
.append(toIndentedString(doneAt))
.append(newLine)
.append(" smsCount: ")
.append(toIndentedString(smsCount))
.append(newLine)
.append(" mccMnc: ")
.append(toIndentedString(mccMnc))
.append(newLine)
.append(" callbackData: ")
.append(toIndentedString(callbackData))
.append(newLine)
.append(" price: ")
.append(toIndentedString(price))
.append(newLine)
.append(" status: ")
.append(toIndentedString(status))
.append(newLine)
.append(" error: ")
.append(toIndentedString(error))
.append(newLine)
.append(" entityId: ")
.append(toIndentedString(entityId))
.append(newLine)
.append(" applicationId: ")
.append(toIndentedString(applicationId))
.append(newLine)
.append("}")
.toString();
}
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
String lineSeparator = System.lineSeparator();
String lineSeparatorFollowedByIndentation = lineSeparator + " ";
return o.toString().replace(lineSeparator, lineSeparatorFollowedByIndentation);
}
}