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

com.softlayer.api.service.billing.invoice.tax.Info Maven / Gradle / Ivy

There is a newer version: 0.3.4
Show newest version
package com.softlayer.api.service.billing.invoice.tax;

import com.softlayer.api.annotation.ApiProperty;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Entity;
import com.softlayer.api.service.billing.Currency;
import com.softlayer.api.service.billing.Invoice;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;

/**
 * Invoice tax information contains top-level information about the taxes recorded for a particular invoice. 
 *
 * @see SoftLayer_Billing_Invoice_Tax_Info
 */
@ApiType("SoftLayer_Billing_Invoice_Tax_Info")
public class Info extends Entity {

    /**
     * This is the currency used for the invoice.
     */
    @ApiProperty
    protected Currency currency;

    public Currency getCurrency() {
        return currency;
    }

    public void setCurrency(Currency currency) {
        this.currency = currency;
    }

    /**
     * This is the functional currency used for the invoice.
     */
    @ApiProperty
    protected Currency functionalCurrency;

    public Currency getFunctionalCurrency() {
        return functionalCurrency;
    }

    public void setFunctionalCurrency(Currency functionalCurrency) {
        this.functionalCurrency = functionalCurrency;
    }

    /**
     * This is the related invoice for this tax-related information.
     */
    @ApiProperty
    protected Invoice invoice;

    public Invoice getInvoice() {
        return invoice;
    }

    public void setInvoice(Invoice invoice) {
        this.invoice = invoice;
    }

    /**
     * This tax information on the invoice item that includes currency details.
     */
    @ApiProperty
    protected com.softlayer.api.service.billing.invoice.item.tax.Info itemWithCurrencyInfo;

    public com.softlayer.api.service.billing.invoice.item.tax.Info getItemWithCurrencyInfo() {
        return itemWithCurrencyInfo;
    }

    public void setItemWithCurrencyInfo(com.softlayer.api.service.billing.invoice.item.tax.Info itemWithCurrencyInfo) {
        this.itemWithCurrencyInfo = itemWithCurrencyInfo;
    }

    /**
     * This is the collection of tax information for each of the related invoice items.
     */
    @ApiProperty
    protected List items;

    public List getItems() {
        if (items == null) {
            items = new ArrayList();
        }
        return items;
    }

    /**
     * This the total tax amount (converted to the 'to' currency) for the invoice.
     */
    @ApiProperty
    protected BigDecimal totalTaxAmountToCurrency;

    public BigDecimal getTotalTaxAmountToCurrency() {
        return totalTaxAmountToCurrency;
    }

    public void setTotalTaxAmountToCurrency(BigDecimal totalTaxAmountToCurrency) {
        this.totalTaxAmountToCurrency = totalTaxAmountToCurrency;
    }

    /**
     * The date and time this tax information was recorded.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected GregorianCalendar createDate;

    public GregorianCalendar getCreateDate() {
        return createDate;
    }

    public void setCreateDate(GregorianCalendar createDate) {
        createDateSpecified = true;
        this.createDate = createDate;
    }

    protected boolean createDateSpecified;

    public boolean isCreateDateSpecified() {
        return createDateSpecified;
    }

    public void unsetCreateDate() {
        createDate = null;
        createDateSpecified = false;
    }

    /**
     * The currency code that the invoice should be recorded in.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long currencyId;

    public Long getCurrencyId() {
        return currencyId;
    }

    public void setCurrencyId(Long currencyId) {
        currencyIdSpecified = true;
        this.currencyId = currencyId;
    }

    protected boolean currencyIdSpecified;

    public boolean isCurrencyIdSpecified() {
        return currencyIdSpecified;
    }

    public void unsetCurrencyId() {
        currencyId = null;
        currencyIdSpecified = false;
    }

    /**
     * The internal identifier for this invoice tax information.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long id;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        idSpecified = true;
        this.id = id;
    }

    protected boolean idSpecified;

    public boolean isIdSpecified() {
        return idSpecified;
    }

    public void unsetId() {
        id = null;
        idSpecified = false;
    }

    /**
     * A reference to the related invoice.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long invoiceId;

    public Long getInvoiceId() {
        return invoiceId;
    }

    public void setInvoiceId(Long invoiceId) {
        invoiceIdSpecified = true;
        this.invoiceId = invoiceId;
    }

    protected boolean invoiceIdSpecified;

    public boolean isInvoiceIdSpecified() {
        return invoiceIdSpecified;
    }

    public void unsetInvoiceId() {
        invoiceId = null;
        invoiceIdSpecified = false;
    }

    /**
     * The date and time this tax information was updated.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected GregorianCalendar modifyDate;

    public GregorianCalendar getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(GregorianCalendar modifyDate) {
        modifyDateSpecified = true;
        this.modifyDate = modifyDate;
    }

    protected boolean modifyDateSpecified;

    public boolean isModifyDateSpecified() {
        return modifyDateSpecified;
    }

    public void unsetModifyDate() {
        modifyDate = null;
        modifyDateSpecified = false;
    }

    /**
     * A flag to indicate whether the invoice will be auditable.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Boolean reportedFlag;

    public Boolean getReportedFlag() {
        return reportedFlag;
    }

    public void setReportedFlag(Boolean reportedFlag) {
        reportedFlagSpecified = true;
        this.reportedFlag = reportedFlag;
    }

    protected boolean reportedFlagSpecified;

    public boolean isReportedFlagSpecified() {
        return reportedFlagSpecified;
    }

    public void unsetReportedFlag() {
        reportedFlag = null;
        reportedFlagSpecified = false;
    }

    /**
     * A count of this is the collection of tax information for each of the related invoice items.
     */
    @ApiProperty
    protected Long itemCount;

    public Long getItemCount() {
        return itemCount;
    }

    public void setItemCount(Long itemCount) {
        this.itemCount = itemCount;
    }

    public static class Mask extends com.softlayer.api.service.Entity.Mask {

        public com.softlayer.api.service.billing.Currency.Mask currency() {
            return withSubMask("currency", com.softlayer.api.service.billing.Currency.Mask.class);
        }

        public com.softlayer.api.service.billing.Currency.Mask functionalCurrency() {
            return withSubMask("functionalCurrency", com.softlayer.api.service.billing.Currency.Mask.class);
        }

        public com.softlayer.api.service.billing.Invoice.Mask invoice() {
            return withSubMask("invoice", com.softlayer.api.service.billing.Invoice.Mask.class);
        }

        public com.softlayer.api.service.billing.invoice.item.tax.Info.Mask itemWithCurrencyInfo() {
            return withSubMask("itemWithCurrencyInfo", com.softlayer.api.service.billing.invoice.item.tax.Info.Mask.class);
        }

        public com.softlayer.api.service.billing.invoice.item.tax.Info.Mask items() {
            return withSubMask("items", com.softlayer.api.service.billing.invoice.item.tax.Info.Mask.class);
        }

        public Mask totalTaxAmountToCurrency() {
            withLocalProperty("totalTaxAmountToCurrency");
            return this;
        }

        public Mask createDate() {
            withLocalProperty("createDate");
            return this;
        }

        public Mask currencyId() {
            withLocalProperty("currencyId");
            return this;
        }

        public Mask id() {
            withLocalProperty("id");
            return this;
        }

        public Mask invoiceId() {
            withLocalProperty("invoiceId");
            return this;
        }

        public Mask modifyDate() {
            withLocalProperty("modifyDate");
            return this;
        }

        public Mask reportedFlag() {
            withLocalProperty("reportedFlag");
            return this;
        }

        public Mask itemCount() {
            withLocalProperty("itemCount");
            return this;
        }

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy