All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.shell.apitest.models.SearchAccountLimitResponse Maven / Gradle / Ivy

/*
 * ShellCardManagementAPIsLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

package com.shell.apitest.models;

import com.fasterxml.jackson.annotation.JsonGetter;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.apimatic.core.types.OptionalNullable;
import java.util.List;

/**
 * This is a model class for SearchAccountLimitResponse type.
 */
public class SearchAccountLimitResponse {
    private OptionalNullable requestId;
    private Integer accountId;
    private String accountNumber;
    private String referenceProduct;
    private String restrictionCondition;
    private List velocityLimits;
    private ErrorStatus error;

    /**
     * Default constructor.
     */
    public SearchAccountLimitResponse() {
    }

    /**
     * Initialization constructor.
     * @param  requestId  String value for requestId.
     * @param  accountId  Integer value for accountId.
     * @param  accountNumber  String value for accountNumber.
     * @param  referenceProduct  String value for referenceProduct.
     * @param  restrictionCondition  String value for restrictionCondition.
     * @param  velocityLimits  List of AccountVelocityLimit value for velocityLimits.
     * @param  error  ErrorStatus value for error.
     */
    public SearchAccountLimitResponse(
            String requestId,
            Integer accountId,
            String accountNumber,
            String referenceProduct,
            String restrictionCondition,
            List velocityLimits,
            ErrorStatus error) {
        this.requestId = OptionalNullable.of(requestId);
        this.accountId = accountId;
        this.accountNumber = accountNumber;
        this.referenceProduct = referenceProduct;
        this.restrictionCondition = restrictionCondition;
        this.velocityLimits = velocityLimits;
        this.error = error;
    }

    /**
     * Initialization constructor.
     * @param  requestId  String value for requestId.
     * @param  accountId  Integer value for accountId.
     * @param  accountNumber  String value for accountNumber.
     * @param  referenceProduct  String value for referenceProduct.
     * @param  restrictionCondition  String value for restrictionCondition.
     * @param  velocityLimits  List of AccountVelocityLimit value for velocityLimits.
     * @param  error  ErrorStatus value for error.
     */

    protected SearchAccountLimitResponse(OptionalNullable requestId, Integer accountId,
            String accountNumber, String referenceProduct, String restrictionCondition,
            List velocityLimits, ErrorStatus error) {
        this.requestId = requestId;
        this.accountId = accountId;
        this.accountNumber = accountNumber;
        this.referenceProduct = referenceProduct;
        this.restrictionCondition = restrictionCondition;
        this.velocityLimits = velocityLimits;
        this.error = error;
    }

    /**
     * Internal Getter for RequestId.
     * Request Id of the API call
     * @return Returns the Internal String
     */
    @JsonGetter("RequestId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetRequestId() {
        return this.requestId;
    }

    /**
     * Getter for RequestId.
     * Request Id of the API call
     * @return Returns the String
     */
    public String getRequestId() {
        return OptionalNullable.getFrom(requestId);
    }

    /**
     * Setter for RequestId.
     * Request Id of the API call
     * @param requestId Value for String
     */
    @JsonSetter("RequestId")
    public void setRequestId(String requestId) {
        this.requestId = OptionalNullable.of(requestId);
    }

    /**
     * UnSetter for RequestId.
     * Request Id of the API call
     */
    public void unsetRequestId() {
        requestId = null;
    }

    /**
     * Getter for AccountId.
     * Account ID of the customer.
     * @return Returns the Integer
     */
    @JsonGetter("AccountId")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public Integer getAccountId() {
        return accountId;
    }

    /**
     * Setter for AccountId.
     * Account ID of the customer.
     * @param accountId Value for Integer
     */
    @JsonSetter("AccountId")
    public void setAccountId(Integer accountId) {
        this.accountId = accountId;
    }

    /**
     * Getter for AccountNumber.
     * Account Number Example: GB99215176
     * @return Returns the String
     */
    @JsonGetter("AccountNumber")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getAccountNumber() {
        return accountNumber;
    }

    /**
     * Setter for AccountNumber.
     * Account Number Example: GB99215176
     * @param accountNumber Value for String
     */
    @JsonSetter("AccountNumber")
    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }

    /**
     * Getter for ReferenceProduct.
     * 3 digit Shell global fuel product code, if already set up. Example: 021
     * @return Returns the String
     */
    @JsonGetter("ReferenceProduct")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getReferenceProduct() {
        return referenceProduct;
    }

    /**
     * Setter for ReferenceProduct.
     * 3 digit Shell global fuel product code, if already set up. Example: 021
     * @param referenceProduct Value for String
     */
    @JsonSetter("ReferenceProduct")
    public void setReferenceProduct(String referenceProduct) {
        this.referenceProduct = referenceProduct;
    }

    /**
     * Getter for RestrictionCondition.
     * The restriction condition code. Example: DECLINE_ALERT
     * @return Returns the String
     */
    @JsonGetter("RestrictionCondition")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getRestrictionCondition() {
        return restrictionCondition;
    }

    /**
     * Setter for RestrictionCondition.
     * The restriction condition code. Example: DECLINE_ALERT
     * @param restrictionCondition Value for String
     */
    @JsonSetter("RestrictionCondition")
    public void setRestrictionCondition(String restrictionCondition) {
        this.restrictionCondition = restrictionCondition;
    }

    /**
     * Getter for VelocityLimits.
     * @return Returns the List of AccountVelocityLimit
     */
    @JsonGetter("VelocityLimits")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public List getVelocityLimits() {
        return velocityLimits;
    }

    /**
     * Setter for VelocityLimits.
     * @param velocityLimits Value for List of AccountVelocityLimit
     */
    @JsonSetter("VelocityLimits")
    public void setVelocityLimits(List velocityLimits) {
        this.velocityLimits = velocityLimits;
    }

    /**
     * Getter for Error.
     * @return Returns the ErrorStatus
     */
    @JsonGetter("Error")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public ErrorStatus getError() {
        return error;
    }

    /**
     * Setter for Error.
     * @param error Value for ErrorStatus
     */
    @JsonSetter("Error")
    public void setError(ErrorStatus error) {
        this.error = error;
    }

    /**
     * Converts this SearchAccountLimitResponse into string format.
     * @return String representation of this class
     */
    @Override
    public String toString() {
        return "SearchAccountLimitResponse [" + "requestId=" + requestId + ", accountId="
                + accountId + ", accountNumber=" + accountNumber + ", referenceProduct="
                + referenceProduct + ", restrictionCondition=" + restrictionCondition
                + ", velocityLimits=" + velocityLimits + ", error=" + error + "]";
    }

    /**
     * Builds a new {@link SearchAccountLimitResponse.Builder} object.
     * Creates the instance with the state of the current model.
     * @return a new {@link SearchAccountLimitResponse.Builder} object
     */
    public Builder toBuilder() {
        Builder builder = new Builder()
                .accountId(getAccountId())
                .accountNumber(getAccountNumber())
                .referenceProduct(getReferenceProduct())
                .restrictionCondition(getRestrictionCondition())
                .velocityLimits(getVelocityLimits())
                .error(getError());
        builder.requestId = internalGetRequestId();
        return builder;
    }

    /**
     * Class to build instances of {@link SearchAccountLimitResponse}.
     */
    public static class Builder {
        private OptionalNullable requestId;
        private Integer accountId;
        private String accountNumber;
        private String referenceProduct;
        private String restrictionCondition;
        private List velocityLimits;
        private ErrorStatus error;



        /**
         * Setter for requestId.
         * @param  requestId  String value for requestId.
         * @return Builder
         */
        public Builder requestId(String requestId) {
            this.requestId = OptionalNullable.of(requestId);
            return this;
        }

        /**
         * UnSetter for requestId.
         * @return Builder
         */
        public Builder unsetRequestId() {
            requestId = null;
            return this;
        }

        /**
         * Setter for accountId.
         * @param  accountId  Integer value for accountId.
         * @return Builder
         */
        public Builder accountId(Integer accountId) {
            this.accountId = accountId;
            return this;
        }

        /**
         * Setter for accountNumber.
         * @param  accountNumber  String value for accountNumber.
         * @return Builder
         */
        public Builder accountNumber(String accountNumber) {
            this.accountNumber = accountNumber;
            return this;
        }

        /**
         * Setter for referenceProduct.
         * @param  referenceProduct  String value for referenceProduct.
         * @return Builder
         */
        public Builder referenceProduct(String referenceProduct) {
            this.referenceProduct = referenceProduct;
            return this;
        }

        /**
         * Setter for restrictionCondition.
         * @param  restrictionCondition  String value for restrictionCondition.
         * @return Builder
         */
        public Builder restrictionCondition(String restrictionCondition) {
            this.restrictionCondition = restrictionCondition;
            return this;
        }

        /**
         * Setter for velocityLimits.
         * @param  velocityLimits  List of AccountVelocityLimit value for velocityLimits.
         * @return Builder
         */
        public Builder velocityLimits(List velocityLimits) {
            this.velocityLimits = velocityLimits;
            return this;
        }

        /**
         * Setter for error.
         * @param  error  ErrorStatus value for error.
         * @return Builder
         */
        public Builder error(ErrorStatus error) {
            this.error = error;
            return this;
        }

        /**
         * Builds a new {@link SearchAccountLimitResponse} object using the set fields.
         * @return {@link SearchAccountLimitResponse}
         */
        public SearchAccountLimitResponse build() {
            return new SearchAccountLimitResponse(requestId, accountId, accountNumber,
                    referenceProduct, restrictionCondition, velocityLimits, error);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy