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

com.maxio.advancedbilling.models.OveragePricing Maven / Gradle / Ivy

Go to download

Ultimate billing and pricing flexibility for B2B SaaS. Maxio integrates directly into your product, so you can seamlessly manage your product catalog, bill customers, and collect payments.

The newest version!
/*
 * AdvancedBilling
 *
 * This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

package com.maxio.advancedbilling.models;

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

/**
 * This is a model class for OveragePricing type.
 */
public class OveragePricing
        extends BaseModel {
    private PricingScheme pricingScheme;
    private List prices;

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

    /**
     * Initialization constructor.
     * @param  pricingScheme  PricingScheme value for pricingScheme.
     * @param  prices  List of Price value for prices.
     */
    public OveragePricing(
            PricingScheme pricingScheme,
            List prices) {
        this.pricingScheme = pricingScheme;
        this.prices = prices;
    }

    /**
     * Getter for PricingScheme.
     * The identifier for the pricing scheme. See [Product
     * Components](https://help.chargify.com/products/product-components.html) for an overview of
     * pricing schemes.
     * @return Returns the PricingScheme
     */
    @JsonGetter("pricing_scheme")
    public PricingScheme getPricingScheme() {
        return pricingScheme;
    }

    /**
     * Setter for PricingScheme.
     * The identifier for the pricing scheme. See [Product
     * Components](https://help.chargify.com/products/product-components.html) for an overview of
     * pricing schemes.
     * @param pricingScheme Value for PricingScheme
     */
    @JsonSetter("pricing_scheme")
    public void setPricingScheme(PricingScheme pricingScheme) {
        this.pricingScheme = pricingScheme;
    }

    /**
     * Getter for Prices.
     * @return Returns the List of Price
     */
    @JsonGetter("prices")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public List getPrices() {
        return prices;
    }

    /**
     * Setter for Prices.
     * @param prices Value for List of Price
     */
    @JsonSetter("prices")
    public void setPrices(List prices) {
        this.prices = prices;
    }

    /**
     * Converts this OveragePricing into string format.
     * @return String representation of this class
     */
    @Override
    public String toString() {
        return "OveragePricing [" + "pricingScheme=" + pricingScheme + ", prices=" + prices
                + ", additionalProperties=" + getAdditionalProperties() + "]";
    }

    /**
     * Builds a new {@link OveragePricing.Builder} object.
     * Creates the instance with the state of the current model.
     * @return a new {@link OveragePricing.Builder} object
     */
    public Builder toBuilder() {
        Builder builder = new Builder(pricingScheme)
                .prices(getPrices());
        return builder;
    }

    /**
     * Class to build instances of {@link OveragePricing}.
     */
    public static class Builder {
        private PricingScheme pricingScheme;
        private List prices;

        /**
         * Initialization constructor.
         */
        public Builder() {
        }

        /**
         * Initialization constructor.
         * @param  pricingScheme  PricingScheme value for pricingScheme.
         */
        public Builder(PricingScheme pricingScheme) {
            this.pricingScheme = pricingScheme;
        }

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

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

        /**
         * Builds a new {@link OveragePricing} object using the set fields.
         * @return {@link OveragePricing}
         */
        public OveragePricing build() {
            return new OveragePricing(pricingScheme, prices);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy