com.squareup.square.models.ChangeBillingAnchorDateResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of square Show documentation
Show all versions of square Show documentation
Java client library for the Square API
package com.squareup.square.models;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonGetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.squareup.square.http.client.HttpContext;
import java.util.List;
import java.util.Objects;
/**
* This is a model class for ChangeBillingAnchorDateResponse type.
*/
public class ChangeBillingAnchorDateResponse {
private HttpContext httpContext;
private final List errors;
private final Subscription subscription;
private final List actions;
/**
* Initialization constructor.
* @param errors List of Error value for errors.
* @param subscription Subscription value for subscription.
* @param actions List of SubscriptionAction value for actions.
*/
@JsonCreator
public ChangeBillingAnchorDateResponse(
@JsonProperty("errors") List errors,
@JsonProperty("subscription") Subscription subscription,
@JsonProperty("actions") List actions) {
this.errors = errors;
this.subscription = subscription;
this.actions = actions;
}
@JsonIgnore
public HttpContext getContext() {
return httpContext;
}
/**
* Getter for Errors.
* Errors encountered during the request.
* @return Returns the List of Error
*/
@JsonGetter("errors")
@JsonInclude(JsonInclude.Include.NON_NULL)
public List getErrors() {
return errors;
}
/**
* Getter for Subscription.
* Represents a subscription purchased by a customer. For more information, see [Manage
* Subscriptions](https://developer.squareup.com/docs/subscriptions-api/manage-subscriptions).
* @return Returns the Subscription
*/
@JsonGetter("subscription")
@JsonInclude(JsonInclude.Include.NON_NULL)
public Subscription getSubscription() {
return subscription;
}
/**
* Getter for Actions.
* A list of a single billing anchor date change for the subscription.
* @return Returns the List of SubscriptionAction
*/
@JsonGetter("actions")
@JsonInclude(JsonInclude.Include.NON_NULL)
public List getActions() {
return actions;
}
@Override
public int hashCode() {
return Objects.hash(errors, subscription, actions);
}
@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof ChangeBillingAnchorDateResponse)) {
return false;
}
ChangeBillingAnchorDateResponse other = (ChangeBillingAnchorDateResponse) obj;
return Objects.equals(errors, other.errors)
&& Objects.equals(subscription, other.subscription)
&& Objects.equals(actions, other.actions);
}
/**
* Converts this ChangeBillingAnchorDateResponse into string format.
* @return String representation of this class
*/
@Override
public String toString() {
return "ChangeBillingAnchorDateResponse [" + "errors=" + errors + ", subscription="
+ subscription + ", actions=" + actions + "]";
}
/**
* Builds a new {@link ChangeBillingAnchorDateResponse.Builder} object.
* Creates the instance with the state of the current model.
* @return a new {@link ChangeBillingAnchorDateResponse.Builder} object
*/
public Builder toBuilder() {
Builder builder = new Builder()
.errors(getErrors())
.subscription(getSubscription())
.actions(getActions());
return builder;
}
/**
* Class to build instances of {@link ChangeBillingAnchorDateResponse}.
*/
public static class Builder {
private HttpContext httpContext;
private List errors;
private Subscription subscription;
private List actions;
/**
* Setter for httpContext.
* @param httpContext HttpContext value for httpContext.
* @return Builder
*/
public Builder httpContext(HttpContext httpContext) {
this.httpContext = httpContext;
return this;
}
/**
* Setter for errors.
* @param errors List of Error value for errors.
* @return Builder
*/
public Builder errors(List errors) {
this.errors = errors;
return this;
}
/**
* Setter for subscription.
* @param subscription Subscription value for subscription.
* @return Builder
*/
public Builder subscription(Subscription subscription) {
this.subscription = subscription;
return this;
}
/**
* Setter for actions.
* @param actions List of SubscriptionAction value for actions.
* @return Builder
*/
public Builder actions(List actions) {
this.actions = actions;
return this;
}
/**
* Builds a new {@link ChangeBillingAnchorDateResponse} object using the set fields.
* @return {@link ChangeBillingAnchorDateResponse}
*/
public ChangeBillingAnchorDateResponse build() {
ChangeBillingAnchorDateResponse model =
new ChangeBillingAnchorDateResponse(errors, subscription, actions);
model.httpContext = httpContext;
return model;
}
}
}