com.maxio.advancedbilling.models.OveragePricing Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of advanced-billing-sdk Show documentation
Show all versions of advanced-billing-sdk Show documentation
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);
}
}
}