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

com.softlayer.api.service.billing.invoice.Next Maven / Gradle / Ivy

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

import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Entity;
import java.util.GregorianCalendar;
import java.util.concurrent.Future;

/**
 * Service for an account's next invoice. The "next invoice" is what a customer will be billed on their next invoice, assuming no changes are made. Currently this does not include Bandwidth Pooling charges. Note, this should be considered preliminary as you may add, remove, or change billing items on your account. 
 *
 * @see SoftLayer_Billing_Invoice_Next
 */
@ApiType("SoftLayer_Billing_Invoice_Next")
public class Next extends Entity {

    public static Service service(ApiClient client) {
        return client.createService(Service.class, null);
    }

    /**
     * Service for an account's next invoice. The "next invoice" is what a customer will be billed on their next invoice, assuming no changes are made. Currently this does not include Bandwidth Pooling charges. Note, this should be considered preliminary as you may add, remove, or change billing items on your account. 
     *
     * @see SoftLayer_Billing_Invoice_Next
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Billing_Invoice_Next")
    public static interface Service extends com.softlayer.api.Service {

        public ServiceAsync asAsync();
        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Return an account's next invoice in a Microsoft excel format.
         *
         * @see SoftLayer_Billing_Invoice_Next::getExcel
         */
        @ApiMethod(instanceRequired = true)
        public byte[] getExcel(GregorianCalendar documentCreateDate);

        /**
         * Return an account's next invoice in PDF format.
         *
         * @see SoftLayer_Billing_Invoice_Next::getPdf
         */
        @ApiMethod(instanceRequired = true)
        public byte[] getPdf(GregorianCalendar documentCreateDate);

        /**
         * Return an account's next invoice detailed portion in PDF format.
         *
         * @see SoftLayer_Billing_Invoice_Next::getPdfDetailed
         */
        @ApiMethod(instanceRequired = true)
        public byte[] getPdfDetailed(GregorianCalendar documentCreateDate);

    }

    public static interface ServiceAsync extends com.softlayer.api.ServiceAsync {

        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Async version of {@link Service#getExcel}
         */
        public Future getExcel(GregorianCalendar documentCreateDate);

        public Future getExcel(GregorianCalendar documentCreateDate, ResponseHandler callback);

        /**
         * Async version of {@link Service#getPdf}
         */
        public Future getPdf(GregorianCalendar documentCreateDate);

        public Future getPdf(GregorianCalendar documentCreateDate, ResponseHandler callback);

        /**
         * Async version of {@link Service#getPdfDetailed}
         */
        public Future getPdfDetailed(GregorianCalendar documentCreateDate);

        public Future getPdfDetailed(GregorianCalendar documentCreateDate, ResponseHandler callback);

    }

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

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy