/**
* Mule Coupa Cloud Connector
*
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
*
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*
* Coupa Connector com.coupa package contains portions of code based on Coupa4j
* http://code.google.com/p/coupa4j/, under a MIT license:
* http://www.opensource.org/licenses/mit-license.php.
*/
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2012.01.11 at 10:56:43 AM ART
//
package com.coupa.resources;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
/**
* <p>Java class for invoice-header complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="invoice-header">
* <complexContent>
* <extension base="{}resource">
* <sequence>
* <element name="created-at" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
* <element name="updated-at" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
* <element name="comments" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="handling-amount" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
* <element name="internal-note" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="invoice-date" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
* <element name="invoice-number" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="line-level-taxation" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="misc-amount" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
* <element name="shipping-amount" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
* <element name="status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="supplier-note" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="tax-amount" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
* <element name="tax-rate" type="{http://www.w3.org/2001/XMLSchema}float" minOccurs="0"/>
* <element name="paid" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="payment-date" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
* <element name="payment-notes" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* <element name="exported" type="{}restBoolean" minOccurs="0"/>
* <element name="payments" minOccurs="0">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="payment" type="{}payment-summary" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="account-type" type="{}account-type-summary" minOccurs="0"/>
* <element name="currency" type="{}currency-summary" minOccurs="0"/>
* <element name="payment-term" type="{}payment-term-summary" minOccurs="0"/>
* <element name="shipping-term" type="{}shipping-term-summary" minOccurs="0"/>
* <element name="remit-to-address" type="{}address-summary" minOccurs="0"/>
* <element name="supplier" type="{}supplier-summary" minOccurs="0"/>
* <element name="tax-code" type="{}tax-code-summary" minOccurs="0"/>
* <element name="attachments" minOccurs="0">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="attachment" type="{}attachment-link-summary" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="invoice-lines" minOccurs="0">
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="invoice-line" type="{}invoice-line-summary" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </element>
* <element name="created-by" type="{}user-summary" minOccurs="0"/>
* <element name="updated-by" type="{}user-summary" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "invoice-header", propOrder = {
"createdAt",
"updatedAt",
"comments",
"handlingAmount",
"internalNote",
"invoiceDate",
"invoiceNumber",
"lineLevelTaxation",
"miscAmount",
"shippingAmount",
"status",
"supplierNote",
"taxAmount",
"taxRate",
"paid",
"paymentDate",
"paymentNotes",
"exported",
"payments",
"accountType",
"currency",
"paymentTerm",
"shippingTerm",
"remitToAddress",
"supplier",
"taxCode",
"attachments",
"invoiceLines",
"createdBy",
"updatedBy"
})
@XmlRootElement
public class InvoiceHeader
extends Resource
{
@XmlElement(name = "created-at")
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar createdAt;
@XmlElement(name = "updated-at")
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar updatedAt;
protected String comments;
@XmlElement(name = "handling-amount")
protected BigDecimal handlingAmount;
@XmlElement(name = "internal-note")
protected String internalNote;
@XmlElement(name = "invoice-date")
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar invoiceDate;
@XmlElement(name = "invoice-number")
protected String invoiceNumber;
@XmlElement(name = "line-level-taxation")
protected String lineLevelTaxation;
@XmlElement(name = "misc-amount")
protected BigDecimal miscAmount;
@XmlElement(name = "shipping-amount")
protected BigDecimal shippingAmount;
protected String status;
@XmlElement(name = "supplier-note")
protected String supplierNote;
@XmlElement(name = "tax-amount")
protected BigDecimal taxAmount;
@XmlElement(name = "tax-rate")
protected Float taxRate;
protected String paid;
@XmlElement(name = "payment-date")
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar paymentDate;
@XmlElement(name = "payment-notes")
protected String paymentNotes;
protected RestBoolean exported;
protected InvoiceHeader.Payments payments;
@XmlElement(name = "account-type")
protected AccountTypeSummary accountType;
protected CurrencySummary currency;
@XmlElement(name = "payment-term")
protected PaymentTermSummary paymentTerm;
@XmlElement(name = "shipping-term")
protected ShippingTermSummary shippingTerm;
@XmlElement(name = "remit-to-address")
protected AddressSummary remitToAddress;
protected SupplierSummary supplier;
@XmlElement(name = "tax-code")
protected TaxCodeSummary taxCode;
protected InvoiceHeader.Attachments attachments;
@XmlElement(name = "invoice-lines")
protected InvoiceHeader.InvoiceLines invoiceLines;
@XmlElement(name = "created-by")
protected UserSummary createdBy;
@XmlElement(name = "updated-by")
protected UserSummary updatedBy;
/**
* Gets the value of the createdAt property.
*
* @return
* possible object is
* {@link XMLGregorianCalendar }
*
*/
public XMLGregorianCalendar getCreatedAt() {
return createdAt;
}
/**
* Sets the value of the createdAt property.
*
* @param value
* allowed object is
* {@link XMLGregorianCalendar }
*
*/
public void setCreatedAt(XMLGregorianCalendar value) {
this.createdAt = value;
}
/**
* Gets the value of the updatedAt property.
*
* @return
* possible object is
* {@link XMLGregorianCalendar }
*
*/
public XMLGregorianCalendar getUpdatedAt() {
return updatedAt;
}
/**
* Sets the value of the updatedAt property.
*
* @param value
* allowed object is
* {@link XMLGregorianCalendar }
*
*/
public void setUpdatedAt(XMLGregorianCalendar value) {
this.updatedAt = value;
}
/**
* Gets the value of the comments property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getComments() {
return comments;
}
/**
* Sets the value of the comments property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setComments(String value) {
this.comments = value;
}
/**
* Gets the value of the handlingAmount property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getHandlingAmount() {
return handlingAmount;
}
/**
* Sets the value of the handlingAmount property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setHandlingAmount(BigDecimal value) {
this.handlingAmount = value;
}
/**
* Gets the value of the internalNote property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getInternalNote() {
return internalNote;
}
/**
* Sets the value of the internalNote property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setInternalNote(String value) {
this.internalNote = value;
}
/**
* Gets the value of the invoiceDate property.
*
* @return
* possible object is
* {@link XMLGregorianCalendar }
*
*/
public XMLGregorianCalendar getInvoiceDate() {
return invoiceDate;
}
/**
* Sets the value of the invoiceDate property.
*
* @param value
* allowed object is
* {@link XMLGregorianCalendar }
*
*/
public void setInvoiceDate(XMLGregorianCalendar value) {
this.invoiceDate = value;
}
/**
* Gets the value of the invoiceNumber property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getInvoiceNumber() {
return invoiceNumber;
}
/**
* Sets the value of the invoiceNumber property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setInvoiceNumber(String value) {
this.invoiceNumber = value;
}
/**
* Gets the value of the lineLevelTaxation property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLineLevelTaxation() {
return lineLevelTaxation;
}
/**
* Sets the value of the lineLevelTaxation property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLineLevelTaxation(String value) {
this.lineLevelTaxation = value;
}
/**
* Gets the value of the miscAmount property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getMiscAmount() {
return miscAmount;
}
/**
* Sets the value of the miscAmount property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setMiscAmount(BigDecimal value) {
this.miscAmount = value;
}
/**
* Gets the value of the shippingAmount property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getShippingAmount() {
return shippingAmount;
}
/**
* Sets the value of the shippingAmount property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setShippingAmount(BigDecimal value) {
this.shippingAmount = value;
}
/**
* Gets the value of the status property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getStatus() {
return status;
}
/**
* Sets the value of the status property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setStatus(String value) {
this.status = value;
}
/**
* Gets the value of the supplierNote property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getSupplierNote() {
return supplierNote;
}
/**
* Sets the value of the supplierNote property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setSupplierNote(String value) {
this.supplierNote = value;
}
/**
* Gets the value of the taxAmount property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getTaxAmount() {
return taxAmount;
}
/**
* Sets the value of the taxAmount property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setTaxAmount(BigDecimal value) {
this.taxAmount = value;
}
/**
* Gets the value of the taxRate property.
*
* @return
* possible object is
* {@link Float }
*
*/
public Float getTaxRate() {
return taxRate;
}
/**
* Sets the value of the taxRate property.
*
* @param value
* allowed object is
* {@link Float }
*
*/
public void setTaxRate(Float value) {
this.taxRate = value;
}
/**
* Gets the value of the paid property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getPaid() {
return paid;
}
/**
* Sets the value of the paid property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setPaid(String value) {
this.paid = value;
}
/**
* Gets the value of the paymentDate property.
*
* @return
* possible object is
* {@link XMLGregorianCalendar }
*
*/
public XMLGregorianCalendar getPaymentDate() {
return paymentDate;
}
/**
* Sets the value of the paymentDate property.
*
* @param value
* allowed object is
* {@link XMLGregorianCalendar }
*
*/
public void setPaymentDate(XMLGregorianCalendar value) {
this.paymentDate = value;
}
/**
* Gets the value of the paymentNotes property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getPaymentNotes() {
return paymentNotes;
}
/**
* Sets the value of the paymentNotes property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setPaymentNotes(String value) {
this.paymentNotes = value;
}
/**
* Gets the value of the exported property.
*
* @return
* possible object is
* {@link RestBoolean }
*
*/
public RestBoolean getExported() {
return exported;
}
/**
* Sets the value of the exported property.
*
* @param value
* allowed object is
* {@link RestBoolean }
*
*/
public void setExported(RestBoolean value) {
this.exported = value;
}
/**
* Gets the value of the payments property.
*
* @return
* possible object is
* {@link InvoiceHeader.Payments }
*
*/
public InvoiceHeader.Payments getPayments() {
return payments;
}
/**
* Sets the value of the payments property.
*
* @param value
* allowed object is
* {@link InvoiceHeader.Payments }
*
*/
public void setPayments(InvoiceHeader.Payments value) {
this.payments = value;
}
/**
* Gets the value of the accountType property.
*
* @return
* possible object is
* {@link AccountTypeSummary }
*
*/
public AccountTypeSummary getAccountType() {
return accountType;
}
/**
* Sets the value of the accountType property.
*
* @param value
* allowed object is
* {@link AccountTypeSummary }
*
*/
public void setAccountType(AccountTypeSummary value) {
this.accountType = value;
}
/**
* Gets the value of the currency property.
*
* @return
* possible object is
* {@link CurrencySummary }
*
*/
public CurrencySummary getCurrency() {
return currency;
}
/**
* Sets the value of the currency property.
*
* @param value
* allowed object is
* {@link CurrencySummary }
*
*/
public void setCurrency(CurrencySummary value) {
this.currency = value;
}
/**
* Gets the value of the paymentTerm property.
*
* @return
* possible object is
* {@link PaymentTermSummary }
*
*/
public PaymentTermSummary getPaymentTerm() {
return paymentTerm;
}
/**
* Sets the value of the paymentTerm property.
*
* @param value
* allowed object is
* {@link PaymentTermSummary }
*
*/
public void setPaymentTerm(PaymentTermSummary value) {
this.paymentTerm = value;
}
/**
* Gets the value of the shippingTerm property.
*
* @return
* possible object is
* {@link ShippingTermSummary }
*
*/
public ShippingTermSummary getShippingTerm() {
return shippingTerm;
}
/**
* Sets the value of the shippingTerm property.
*
* @param value
* allowed object is
* {@link ShippingTermSummary }
*
*/
public void setShippingTerm(ShippingTermSummary value) {
this.shippingTerm = value;
}
/**
* Gets the value of the remitToAddress property.
*
* @return
* possible object is
* {@link AddressSummary }
*
*/
public AddressSummary getRemitToAddress() {
return remitToAddress;
}
/**
* Sets the value of the remitToAddress property.
*
* @param value
* allowed object is
* {@link AddressSummary }
*
*/
public void setRemitToAddress(AddressSummary value) {
this.remitToAddress = value;
}
/**
* Gets the value of the supplier property.
*
* @return
* possible object is
* {@link SupplierSummary }
*
*/
public SupplierSummary getSupplier() {
return supplier;
}
/**
* Sets the value of the supplier property.
*
* @param value
* allowed object is
* {@link SupplierSummary }
*
*/
public void setSupplier(SupplierSummary value) {
this.supplier = value;
}
/**
* Gets the value of the taxCode property.
*
* @return
* possible object is
* {@link TaxCodeSummary }
*
*/
public TaxCodeSummary getTaxCode() {
return taxCode;
}
/**
* Sets the value of the taxCode property.
*
* @param value
* allowed object is
* {@link TaxCodeSummary }
*
*/
public void setTaxCode(TaxCodeSummary value) {
this.taxCode = value;
}
/**
* Gets the value of the attachments property.
*
* @return
* possible object is
* {@link InvoiceHeader.Attachments }
*
*/
public InvoiceHeader.Attachments getAttachments() {
return attachments;
}
/**
* Sets the value of the attachments property.
*
* @param value
* allowed object is
* {@link InvoiceHeader.Attachments }
*
*/
public void setAttachments(InvoiceHeader.Attachments value) {
this.attachments = value;
}
/**
* Gets the value of the invoiceLines property.
*
* @return
* possible object is
* {@link InvoiceHeader.InvoiceLines }
*
*/
public InvoiceHeader.InvoiceLines getInvoiceLines() {
return invoiceLines;
}
/**
* Sets the value of the invoiceLines property.
*
* @param value
* allowed object is
* {@link InvoiceHeader.InvoiceLines }
*
*/
public void setInvoiceLines(InvoiceHeader.InvoiceLines value) {
this.invoiceLines = value;
}
/**
* Gets the value of the createdBy property.
*
* @return
* possible object is
* {@link UserSummary }
*
*/
public UserSummary getCreatedBy() {
return createdBy;
}
/**
* Sets the value of the createdBy property.
*
* @param value
* allowed object is
* {@link UserSummary }
*
*/
public void setCreatedBy(UserSummary value) {
this.createdBy = value;
}
/**
* Gets the value of the updatedBy property.
*
* @return
* possible object is
* {@link UserSummary }
*
*/
public UserSummary getUpdatedBy() {
return updatedBy;
}
/**
* Sets the value of the updatedBy property.
*
* @param value
* allowed object is
* {@link UserSummary }
*
*/
public void setUpdatedBy(UserSummary value) {
this.updatedBy = value;
}
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="attachment" type="{}attachment-link-summary" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"attachment"
})
public static class Attachments {
protected List<AttachmentLinkSummary> attachment;
/**
* Gets the value of the attachment property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the attachment property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getAttachment().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link AttachmentLinkSummary }
*
*
*/
public List<AttachmentLinkSummary> getAttachment() {
if (attachment == null) {
attachment = new ArrayList<AttachmentLinkSummary>();
}
return this.attachment;
}
}
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="invoice-line" type="{}invoice-line-summary" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"invoiceLine"
})
public static class InvoiceLines {
@XmlElement(name = "invoice-line")
protected List<InvoiceLineSummary> invoiceLine;
/**
* Gets the value of the invoiceLine property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the invoiceLine property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getInvoiceLine().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link InvoiceLineSummary }
*
*
*/
public List<InvoiceLineSummary> getInvoiceLine() {
if (invoiceLine == null) {
invoiceLine = new ArrayList<InvoiceLineSummary>();
}
return this.invoiceLine;
}
}
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType>
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element name="payment" type="{}payment-summary" maxOccurs="unbounded" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"payment"
})
public static class Payments {
protected List<PaymentSummary> payment;
/**
* Gets the value of the payment property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the payment property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getPayment().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link PaymentSummary }
*
*
*/
public List<PaymentSummary> getPayment() {
if (payment == null) {
payment = new ArrayList<PaymentSummary>();
}
return this.payment;
}
}
}