/**
* Copyright (C) 2009-2015 Dell, Inc.
* See annotations for authorship information
*
* ====================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ====================================================================
*/
package org.dasein.cloud.admin;
import java.util.Date;
import javax.annotation.Nullable;
/**
* <p>
* Generic information for an invoice. It is expected that some data that is
* typically available via other method calls be denormalized here for
* simplicity to the caller. This way, an invoice object contains a mostly
* complete set of information that can then be used in presentation form
* without additional lookups.
* </p>
*
* @author David R Young (david.young@centurylink.com)
*/
public class Invoice {
private String invoiceId;
private double openingBalance;
private double newCharges;
private double payments;
private double endingBalance;
private double currentOutstandingBalance;
private String accountId;
private String accountName;
private String parentId;
private String terms;
private String address1;
private String address2;
private String city;
private String stateProvince;
private String postalCode;
private String country;
private String billingContactEmail;
private Date invoiceDate;
private String poNumber;
private InvoiceLine[] invoiceLines;
public Invoice() {
}
public String getInvoiceId() {
return invoiceId;
}
public void setInvoiceId(String invoiceId) {
this.invoiceId = invoiceId;
}
public double getOpeningBalance() {
return openingBalance;
}
public void setOpeningBalance(double openingBalance) {
this.openingBalance = openingBalance;
}
public double getNewCharges() {
return newCharges;
}
public void setNewCharges(double newCharges) {
this.newCharges = newCharges;
}
public double getPayments() {
return payments;
}
public void setPayments(double payments) {
this.payments = payments;
}
public double getEndingBalance() {
return endingBalance;
}
public void setEndingBalance(double endingBalance) {
this.endingBalance = endingBalance;
}
public double getCurrentOutstandingBalance() {
return currentOutstandingBalance;
}
public void setCurrentOutstandingBalance(double currentOutstandingBalance) {
this.currentOutstandingBalance = currentOutstandingBalance;
}
public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId;
}
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getTerms() {
return terms;
}
public void setTerms(String terms) {
this.terms = terms;
}
public String getAddress1() {
return address1;
}
public void setAddress1(String address1) {
this.address1 = address1;
}
public String getAddress2() {
return address2;
}
public void setAddress2(String address2) {
this.address2 = address2;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getStateProvince() {
return stateProvince;
}
public void setStateProvince(String stateProvince) {
this.stateProvince = stateProvince;
}
public String getPostalCode() {
return postalCode;
}
public void setPostalCode(String postalCode) {
this.postalCode = postalCode;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getBillingContactEmail() {
return billingContactEmail;
}
public void setBillingContactEmail(String billingContactEmail) {
this.billingContactEmail = billingContactEmail;
}
public Date getInvoiceDate() {
return invoiceDate;
}
public void setInvoiceDate(Date invoiceDate) {
this.invoiceDate = invoiceDate;
}
public String getPoNumber() {
return poNumber;
}
public void setPoNumber(String poNumber) {
this.poNumber = poNumber;
}
public @Nullable
InvoiceLine[] getInvoiceLines() {
return invoiceLines;
}
public void setInvoiceLines(InvoiceLine[] invoiceLines) {
this.invoiceLines = invoiceLines;
}
}