org.openapitools.client.model.BillRun Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zuora-sdk-java Show documentation
Show all versions of zuora-sdk-java Show documentation
The SDK of JAVA language for Zuora pricing system
/*
* Quickstart API Reference
* Zuora Quickstart API is the API that helps you achieve fundamental use cases.
* It provides a much simplified object model and improved performance, enabling developers to easily learn and use.
*/
package org.openapitools.client.model;
import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.openapitools.client.model.CustomObject;
import org.openapitools.client.model.ListCustomObjectResponse;
import org.threeten.bp.LocalDate;
import org.threeten.bp.OffsetDateTime;
import org.openapitools.client.JSON.CustomFieldAdapter;
import org.openapitools.client.JSON.NullableFieldAdapter;
/**
* BillRun
*/
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class BillRun {
public static final String SERIALIZED_NAME_ID = "id";
@SerializedName(SERIALIZED_NAME_ID)
private String id;
public static final String SERIALIZED_NAME_UPDATED_BY_ID = "updated_by_id";
@SerializedName(SERIALIZED_NAME_UPDATED_BY_ID)
private String updatedById;
public static final String SERIALIZED_NAME_UPDATED_TIME = "updated_time";
@SerializedName(SERIALIZED_NAME_UPDATED_TIME)
private OffsetDateTime updatedTime;
public static final String SERIALIZED_NAME_CREATED_BY_ID = "created_by_id";
@SerializedName(SERIALIZED_NAME_CREATED_BY_ID)
private String createdById;
public static final String SERIALIZED_NAME_CREATED_TIME = "created_time";
@SerializedName(SERIALIZED_NAME_CREATED_TIME)
private OffsetDateTime createdTime;
public static final String SERIALIZED_NAME_CUSTOM_FIELDS = "custom_fields";
@SerializedName(SERIALIZED_NAME_CUSTOM_FIELDS)
@JsonAdapter(CustomFieldAdapter.class)
private Map customFields = null;
public static final String SERIALIZED_NAME_CUSTOM_OBJECTS = "custom_objects";
@SerializedName(SERIALIZED_NAME_CUSTOM_OBJECTS)
private Map customObjects = null;
public static final String SERIALIZED_NAME_ACCOUNT_ID = "account_id";
@SerializedName(SERIALIZED_NAME_ACCOUNT_ID)
private String accountId;
public static final String SERIALIZED_NAME_EMAIL = "email";
@SerializedName(SERIALIZED_NAME_EMAIL)
private Boolean email;
public static final String SERIALIZED_NAME_POST = "post";
@SerializedName(SERIALIZED_NAME_POST)
private Boolean post;
public static final String SERIALIZED_NAME_RENEW = "renew";
@SerializedName(SERIALIZED_NAME_RENEW)
private Boolean renew;
public static final String SERIALIZED_NAME_DAY_OF_MONTH = "day_of_month";
@SerializedName(SERIALIZED_NAME_DAY_OF_MONTH)
private String dayOfMonth;
public static final String SERIALIZED_NAME_BILL_RUN_NUMBER = "bill_run_number";
@SerializedName(SERIALIZED_NAME_BILL_RUN_NUMBER)
private String billRunNumber;
public static final String SERIALIZED_NAME_BILL_RUN_TIME = "bill_run_time";
@SerializedName(SERIALIZED_NAME_BILL_RUN_TIME)
private OffsetDateTime billRunTime;
public static final String SERIALIZED_NAME_INVOICE_DATE = "invoice_date";
@SerializedName(SERIALIZED_NAME_INVOICE_DATE)
private LocalDate invoiceDate;
public static final String SERIALIZED_NAME_TARGET_DATE = "target_date";
@SerializedName(SERIALIZED_NAME_TARGET_DATE)
private LocalDate targetDate;
/**
* Status of the bill run.
*/
@JsonAdapter(StateEnum.Adapter.class)
public enum StateEnum {
PROCESSED("processed"),
PENDING("pending"),
COMPLETED("completed"),
CANCELED("canceled"),
POSTED("posted"),
FAILED("failed"),
UNKNOWN_DEFAULT_OPEN_API("unknown_default_open_api");
private String value;
StateEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
public static StateEnum fromValue(String value) {
for (StateEnum b : StateEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
public static class Adapter extends TypeAdapter {
@Override
public void write(final JsonWriter jsonWriter, final StateEnum enumeration) throws IOException {
jsonWriter.value(enumeration.getValue());
}
@Override
public StateEnum read(final JsonReader jsonReader) throws IOException {
String value = jsonReader.nextString();
return StateEnum.fromValue(value);
}
}
}
public static final String SERIALIZED_NAME_STATE = "state";
@SerializedName(SERIALIZED_NAME_STATE)
private StateEnum state;
public static final String SERIALIZED_NAME_BATCHES = "batches";
@SerializedName(SERIALIZED_NAME_BATCHES)
private String batches;
public static final String SERIALIZED_NAME_CHARGES_EXCLUDED = "charges_excluded";
@SerializedName(SERIALIZED_NAME_CHARGES_EXCLUDED)
private String chargesExcluded;
public static final String SERIALIZED_NAME_EMAIL_ZERO_AMOUNT_INVOICES = "email_zero_amount_invoices";
@SerializedName(SERIALIZED_NAME_EMAIL_ZERO_AMOUNT_INVOICES)
private Boolean emailZeroAmountInvoices;
public static final String SERIALIZED_NAME_INVOICES_SENT = "invoices_sent";
@SerializedName(SERIALIZED_NAME_INVOICES_SENT)
private Boolean invoicesSent;
public static final String SERIALIZED_NAME_LAST_INVOICE_SENT_TIME = "last_invoice_sent_time";
@SerializedName(SERIALIZED_NAME_LAST_INVOICE_SENT_TIME)
private LocalDate lastInvoiceSentTime;
public static final String SERIALIZED_NAME_ACCOUNTS_PROCESSED = "accounts_processed";
@SerializedName(SERIALIZED_NAME_ACCOUNTS_PROCESSED)
private Integer accountsProcessed;
public static final String SERIALIZED_NAME_INVOICES_GENERATED = "invoices_generated";
@SerializedName(SERIALIZED_NAME_INVOICES_GENERATED)
private Integer invoicesGenerated;
public static final String SERIALIZED_NAME_CREDIT_MEMOS_GENERATED = "credit_memos_generated";
@SerializedName(SERIALIZED_NAME_CREDIT_MEMOS_GENERATED)
private Integer creditMemosGenerated;
public static final String SERIALIZED_NAME_NAME = "name";
@SerializedName(SERIALIZED_NAME_NAME)
private String name;
public BillRun() {
}
public BillRun(
String updatedById,
OffsetDateTime updatedTime,
String createdById,
OffsetDateTime createdTime,
Map customObjects
) {
this();
this.updatedById = updatedById;
this.updatedTime = updatedTime;
this.createdById = createdById;
this.createdTime = createdTime;
this.customObjects = customObjects;
}
public BillRun id(String id) {
this.id = id;
return this;
}
/**
* Unique identifier for this object.
* @return id
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Unique identifier for this object.")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
/**
* Unique identifier of the Zuora user who last updated the object
* @return updatedById
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Unique identifier of the Zuora user who last updated the object")
public String getUpdatedById() {
return updatedById;
}
/**
* The date and time when the object was last updated in ISO 8601 UTC format.
* @return updatedTime
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "The date and time when the object was last updated in ISO 8601 UTC format.")
public OffsetDateTime getUpdatedTime() {
return updatedTime;
}
/**
* Unique identifier of the Zuora user who created the object
* @return createdById
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Unique identifier of the Zuora user who created the object")
public String getCreatedById() {
return createdById;
}
/**
* The date and time when the object was created in ISO 8601 UTC format.
* @return createdTime
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "The date and time when the object was created in ISO 8601 UTC format.")
public OffsetDateTime getCreatedTime() {
return createdTime;
}
public BillRun customFields(Map customFields) {
this.customFields = customFields;
return this;
}
public BillRun putCustomFieldsItem(String key, String customFieldsItem) {
if (this.customFields == null) {
this.customFields = new HashMap();
}
this.customFields.put(key, customFieldsItem);
return this;
}
/**
* Set of user-defined fields associated with this object. Useful for storing additional information about the object in a structured format.
* @return customFields
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Set of user-defined fields associated with this object. Useful for storing additional information about the object in a structured format.")
public Map getCustomFields() {
return customFields;
}
public void setCustomFields(Map customFields) {
this.customFields = customFields;
}
/**
* The custom objects associated with a Zuora standard object.
* @return customObjects
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "The custom objects associated with a Zuora standard object.")
public Map getCustomObjects() {
return customObjects;
}
public BillRun accountId(String accountId) {
this.accountId = accountId;
return this;
}
/**
* Identifier of the customer account to bill.
* @return accountId
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Identifier of the customer account to bill.")
public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId;
}
public BillRun email(Boolean email) {
this.email = email;
return this;
}
/**
* If set to `true`, invoices will be automatically emailed to customers.
* @return email
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "If set to `true`, invoices will be automatically emailed to customers.")
public Boolean getEmail() {
return email;
}
public void setEmail(Boolean email) {
this.email = email;
}
public BillRun post(Boolean post) {
this.post = post;
return this;
}
/**
* Indicates whether to automatically post a billing document after it is created.
* @return post
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Indicates whether to automatically post a billing document after it is created.")
public Boolean getPost() {
return post;
}
public void setPost(Boolean post) {
this.post = post;
}
public BillRun renew(Boolean renew) {
this.renew = renew;
return this;
}
/**
* If set to `true`, subscriptions will be automatically renewed.
* @return renew
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "If set to `true`, subscriptions will be automatically renewed.")
public Boolean getRenew() {
return renew;
}
public void setRenew(Boolean renew) {
this.renew = renew;
}
public BillRun dayOfMonth(String dayOfMonth) {
this.dayOfMonth = dayOfMonth;
return this;
}
/**
* The day of the month to bill multiple customer accounts.
* @return dayOfMonth
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "The day of the month to bill multiple customer accounts.")
public String getDayOfMonth() {
return dayOfMonth;
}
public void setDayOfMonth(String dayOfMonth) {
this.dayOfMonth = dayOfMonth;
}
public BillRun billRunNumber(String billRunNumber) {
this.billRunNumber = billRunNumber;
return this;
}
/**
* Human-readable identifier for this object.
* @return billRunNumber
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Human-readable identifier for this object.")
public String getBillRunNumber() {
return billRunNumber;
}
public void setBillRunNumber(String billRunNumber) {
this.billRunNumber = billRunNumber;
}
public BillRun billRunTime(OffsetDateTime billRunTime) {
this.billRunTime = billRunTime;
return this;
}
/**
* The date and time on which this bill run starts.
* @return billRunTime
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "The date and time on which this bill run starts.")
public OffsetDateTime getBillRunTime() {
return billRunTime;
}
public void setBillRunTime(OffsetDateTime billRunTime) {
this.billRunTime = billRunTime;
}
public BillRun invoiceDate(LocalDate invoiceDate) {
this.invoiceDate = invoiceDate;
return this;
}
/**
* The date displayed on the invoice.
* @return invoiceDate
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "Sat Jan 01 00:00:00 GMT 2022", value = "The date displayed on the invoice.")
public LocalDate getInvoiceDate() {
return invoiceDate;
}
public void setInvoiceDate(LocalDate invoiceDate) {
this.invoiceDate = invoiceDate;
}
public BillRun targetDate(LocalDate targetDate) {
this.targetDate = targetDate;
return this;
}
/**
* All unbilled items on or before this date are included in this bill run.
* @return targetDate
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "Sun Jan 01 00:00:00 GMT 2023", value = "All unbilled items on or before this date are included in this bill run.")
public LocalDate getTargetDate() {
return targetDate;
}
public void setTargetDate(LocalDate targetDate) {
this.targetDate = targetDate;
}
public BillRun state(StateEnum state) {
this.state = state;
return this;
}
/**
* Status of the bill run.
* @return state
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Status of the bill run.")
public StateEnum getState() {
return state;
}
public void setState(StateEnum state) {
this.state = state;
}
public BillRun batches(String batches) {
this.batches = batches;
return this;
}
/**
* Identifier of the customer account batch to be included in this bill run.
* @return batches
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Identifier of the customer account batch to be included in this bill run.")
public String getBatches() {
return batches;
}
public void setBatches(String batches) {
this.batches = batches;
}
public BillRun chargesExcluded(String chargesExcluded) {
this.chargesExcluded = chargesExcluded;
return this;
}
/**
* Type of the charge to be excluded from the bill run.
* @return chargesExcluded
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Type of the charge to be excluded from the bill run.")
public String getChargesExcluded() {
return chargesExcluded;
}
public void setChargesExcluded(String chargesExcluded) {
this.chargesExcluded = chargesExcluded;
}
public BillRun emailZeroAmountInvoices(Boolean emailZeroAmountInvoices) {
this.emailZeroAmountInvoices = emailZeroAmountInvoices;
return this;
}
/**
* If set to `false`, invoices for zero amounts will not be emailed to customers.
* @return emailZeroAmountInvoices
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "If set to `false`, invoices for zero amounts will not be emailed to customers.")
public Boolean getEmailZeroAmountInvoices() {
return emailZeroAmountInvoices;
}
public void setEmailZeroAmountInvoices(Boolean emailZeroAmountInvoices) {
this.emailZeroAmountInvoices = emailZeroAmountInvoices;
}
public BillRun invoicesSent(Boolean invoicesSent) {
this.invoicesSent = invoicesSent;
return this;
}
/**
* Indicates whether the invoices have been automatically sent to customers.
* @return invoicesSent
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Indicates whether the invoices have been automatically sent to customers.")
public Boolean getInvoicesSent() {
return invoicesSent;
}
public void setInvoicesSent(Boolean invoicesSent) {
this.invoicesSent = invoicesSent;
}
public BillRun lastInvoiceSentTime(LocalDate lastInvoiceSentTime) {
this.lastInvoiceSentTime = lastInvoiceSentTime;
return this;
}
/**
* The date when the last invoice was sent.
* @return lastInvoiceSentTime
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "Sun Jan 01 00:00:00 GMT 2023", value = "The date when the last invoice was sent.")
public LocalDate getLastInvoiceSentTime() {
return lastInvoiceSentTime;
}
public void setLastInvoiceSentTime(LocalDate lastInvoiceSentTime) {
this.lastInvoiceSentTime = lastInvoiceSentTime;
}
public BillRun accountsProcessed(Integer accountsProcessed) {
this.accountsProcessed = accountsProcessed;
return this;
}
/**
* Number of accounts billed from this bill run.
* @return accountsProcessed
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Number of accounts billed from this bill run.")
public Integer getAccountsProcessed() {
return accountsProcessed;
}
public void setAccountsProcessed(Integer accountsProcessed) {
this.accountsProcessed = accountsProcessed;
}
public BillRun invoicesGenerated(Integer invoicesGenerated) {
this.invoicesGenerated = invoicesGenerated;
return this;
}
/**
* Number of invoices generated from this bill run.
* @return invoicesGenerated
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Number of invoices generated from this bill run.")
public Integer getInvoicesGenerated() {
return invoicesGenerated;
}
public void setInvoicesGenerated(Integer invoicesGenerated) {
this.invoicesGenerated = invoicesGenerated;
}
public BillRun creditMemosGenerated(Integer creditMemosGenerated) {
this.creditMemosGenerated = creditMemosGenerated;
return this;
}
/**
* Number of credit memos generated from this bill run.
* @return creditMemosGenerated
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "Number of credit memos generated from this bill run.")
public Integer getCreditMemosGenerated() {
return creditMemosGenerated;
}
public void setCreditMemosGenerated(Integer creditMemosGenerated) {
this.creditMemosGenerated = creditMemosGenerated;
}
public BillRun name(String name) {
this.name = name;
return this;
}
/**
* The name of the bill run.
* @return name
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "The name of the bill run.")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
BillRun billRun = (BillRun) o;
return Objects.equals(this.id, billRun.id) &&
Objects.equals(this.updatedById, billRun.updatedById) &&
Objects.equals(this.updatedTime, billRun.updatedTime) &&
Objects.equals(this.createdById, billRun.createdById) &&
Objects.equals(this.createdTime, billRun.createdTime) &&
Objects.equals(this.customFields, billRun.customFields) &&
Objects.equals(this.customObjects, billRun.customObjects) &&
Objects.equals(this.accountId, billRun.accountId) &&
Objects.equals(this.email, billRun.email) &&
Objects.equals(this.post, billRun.post) &&
Objects.equals(this.renew, billRun.renew) &&
Objects.equals(this.dayOfMonth, billRun.dayOfMonth) &&
Objects.equals(this.billRunNumber, billRun.billRunNumber) &&
Objects.equals(this.billRunTime, billRun.billRunTime) &&
Objects.equals(this.invoiceDate, billRun.invoiceDate) &&
Objects.equals(this.targetDate, billRun.targetDate) &&
Objects.equals(this.state, billRun.state) &&
Objects.equals(this.batches, billRun.batches) &&
Objects.equals(this.chargesExcluded, billRun.chargesExcluded) &&
Objects.equals(this.emailZeroAmountInvoices, billRun.emailZeroAmountInvoices) &&
Objects.equals(this.invoicesSent, billRun.invoicesSent) &&
Objects.equals(this.lastInvoiceSentTime, billRun.lastInvoiceSentTime) &&
Objects.equals(this.accountsProcessed, billRun.accountsProcessed) &&
Objects.equals(this.invoicesGenerated, billRun.invoicesGenerated) &&
Objects.equals(this.creditMemosGenerated, billRun.creditMemosGenerated) &&
Objects.equals(this.name, billRun.name);
}
@Override
public int hashCode() {
return Objects.hash(id, updatedById, updatedTime, createdById, createdTime, customFields, customObjects, accountId, email, post, renew, dayOfMonth, billRunNumber, billRunTime, invoiceDate, targetDate, state, batches, chargesExcluded, emailZeroAmountInvoices, invoicesSent, lastInvoiceSentTime, accountsProcessed, invoicesGenerated, creditMemosGenerated, name);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class BillRun {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" updatedById: ").append(toIndentedString(updatedById)).append("\n");
sb.append(" updatedTime: ").append(toIndentedString(updatedTime)).append("\n");
sb.append(" createdById: ").append(toIndentedString(createdById)).append("\n");
sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n");
sb.append(" customFields: ").append(toIndentedString(customFields)).append("\n");
sb.append(" customObjects: ").append(toIndentedString(customObjects)).append("\n");
sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n");
sb.append(" email: ").append(toIndentedString(email)).append("\n");
sb.append(" post: ").append(toIndentedString(post)).append("\n");
sb.append(" renew: ").append(toIndentedString(renew)).append("\n");
sb.append(" dayOfMonth: ").append(toIndentedString(dayOfMonth)).append("\n");
sb.append(" billRunNumber: ").append(toIndentedString(billRunNumber)).append("\n");
sb.append(" billRunTime: ").append(toIndentedString(billRunTime)).append("\n");
sb.append(" invoiceDate: ").append(toIndentedString(invoiceDate)).append("\n");
sb.append(" targetDate: ").append(toIndentedString(targetDate)).append("\n");
sb.append(" state: ").append(toIndentedString(state)).append("\n");
sb.append(" batches: ").append(toIndentedString(batches)).append("\n");
sb.append(" chargesExcluded: ").append(toIndentedString(chargesExcluded)).append("\n");
sb.append(" emailZeroAmountInvoices: ").append(toIndentedString(emailZeroAmountInvoices)).append("\n");
sb.append(" invoicesSent: ").append(toIndentedString(invoicesSent)).append("\n");
sb.append(" lastInvoiceSentTime: ").append(toIndentedString(lastInvoiceSentTime)).append("\n");
sb.append(" accountsProcessed: ").append(toIndentedString(accountsProcessed)).append("\n");
sb.append(" invoicesGenerated: ").append(toIndentedString(invoicesGenerated)).append("\n");
sb.append(" creditMemosGenerated: ").append(toIndentedString(creditMemosGenerated)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy