public class InvoiceDOM
extends java.lang.Object
| Modifier and Type | Field | Description |
|---|---|---|
static CountryCode |
COUNTRY_CODE |
|
static CurrencyCode |
CURR_CODE |
|
static NumberChecker |
DEC2 |
|
static NumberChecker |
DEC4 |
|
static DateFormatCode |
DF_CODE |
|
protected org.w3c.dom.Document |
doc |
|
static GlobalIdentifierCode |
GI_CODE |
|
static MeasurementUnitCode |
M_UNIT_CODE |
|
static PaymentMeansCode |
PM_CODE |
|
static TaxCategoryCode |
TC_CODE |
|
static TaxIDTypeCode |
TIDT_CODE |
|
static TaxTypeCode |
TT_CODE |
| Constructor | Description |
|---|---|
InvoiceDOM(BasicProfile data) |
Creates an object that will import data into an XML template.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
check(java.lang.String s,
java.lang.String message) |
Checks if a string is empty and throws a DataIncompleteException if so.
|
protected void |
importAppliedTradeAllowanceCharge(org.w3c.dom.Element parent,
boolean indicator,
java.lang.String actualAmount,
java.lang.String currencyID,
java.lang.String reason) |
Imports applied trade allowance charge data (line items).
|
protected void |
importBuyerTradeParty(org.w3c.dom.Element parent,
BasicProfile data) |
Gets the buyer trade party data to import this data.
|
protected void |
importContent(org.w3c.dom.Element parent,
java.lang.String tag,
java.lang.String content,
java.lang.String... attributes) |
Helper method to set the content of a tag.
|
protected void |
importDateTime(org.w3c.dom.Element parent,
java.lang.String tag,
java.lang.String dateTimeFormat,
java.util.Date dateTime) |
Set the content of a date tag along with the attribute that defines the format.
|
protected void |
importHeaderExchangedDocument(org.w3c.dom.Element element,
BasicProfile data) |
Imports the data for the following tag: rsm:HeaderExchangedDocument
|
protected void |
importIncludedNotes(org.w3c.dom.Element parent,
int level,
java.lang.String[][] notes,
java.lang.String[] notesCodes) |
Includes notes and (in case of the COMFORT profile) the subject codes
for those notes.
|
protected void |
importInvoiceeTradeParty(org.w3c.dom.Element parent,
ComfortProfile data) |
Gets the invoicee party data to import this data.
|
protected void |
importLineItemBasic(org.w3c.dom.Element parent,
java.lang.String quantity,
java.lang.String code,
java.lang.String name) |
Imports the data for a line item (basic profile)
|
protected void |
importLineItemComfort(org.w3c.dom.Element parent,
java.lang.String lineID,
java.lang.String[][] note,
java.lang.String grossPriceChargeAmount,
java.lang.String grossPriceChargeAmountCurrencyID,
java.lang.String grossPriceBasisQuantity,
java.lang.String grossPriceBasisQuantityCode,
java.lang.Boolean[] grossPriceTradeAllowanceChargeIndicator,
java.lang.String[] grossPriceTradeAllowanceChargeActualAmount,
java.lang.String[] grossPriceTradeAllowanceChargeActualAmountCurrencyID,
java.lang.String[] grossPriceTradeAllowanceChargeReason,
java.lang.String netPriceChargeAmount,
java.lang.String netPriceChargeAmountCurrencyID,
java.lang.String netPriceBasisQuantity,
java.lang.String netPriceBasisQuantityCode,
java.lang.String billedQuantity,
java.lang.String billedQuantityCode,
java.lang.String[] settlementTaxTypeCode,
java.lang.String[] settlementTaxExemptionReason,
java.lang.String[] settlementTaxCategoryCode,
java.lang.String[] settlementTaxApplicablePercent,
java.lang.String totalAmount,
java.lang.String totalAmountCurrencyID,
java.lang.String specifiedTradeProductGlobalID,
java.lang.String specifiedTradeProductSchemeID,
java.lang.String specifiedTradeProductSellerAssignedID,
java.lang.String specifiedTradeProductBuyerAssignedID,
java.lang.String specifiedTradeProductName,
java.lang.String specifiedTradeProductDescription) |
Imports line item data (comfort profile).
|
protected void |
importLineItemsBasic(org.w3c.dom.Element parent,
BasicProfile data) |
Gets line data to import the this data (basic profile).
|
protected void |
importLineItemsComfort(org.w3c.dom.Element parent,
ComfortProfile data) |
Gets line item data to import the this data (comfort profile).
|
protected void |
importPaymentMeans(org.w3c.dom.Element parent,
BasicProfile data) |
Gets the payment means data to imports this data.
|
protected void |
importPaymentMeans(org.w3c.dom.Element parent,
java.lang.String typeCode,
java.lang.String[] information,
java.lang.String id,
java.lang.String scheme,
java.lang.String payerIban,
java.lang.String payerProprietaryID,
java.lang.String iban,
java.lang.String accName,
java.lang.String accID,
java.lang.String payerBic,
java.lang.String payerBank,
java.lang.String payerInst,
java.lang.String bic,
java.lang.String bank,
java.lang.String inst) |
Imports payment means data.
|
protected void |
importSellerTradeParty(org.w3c.dom.Element parent,
BasicProfile data) |
Gets the seller trade party data to import this data.
|
protected void |
importSpecifiedExchangedDocumentContext(org.w3c.dom.Element element,
BasicProfile data) |
Imports the data for the following tag: rsm:SpecifiedExchangedDocumentContext
|
protected void |
importSpecifiedLogisticsServiceCharge(org.w3c.dom.Element parent,
ComfortProfile data) |
Gets specified logistics service charge data to import the this data.
|
protected void |
importSpecifiedLogisticsServiceCharge(org.w3c.dom.Element parent,
java.lang.String[] description,
java.lang.String appliedAmount,
java.lang.String currencyID,
java.lang.String[] typeCode,
java.lang.String[] categoryCode,
java.lang.String[] percent) |
Imports specified logistics service charge data.
|
protected void |
importSpecifiedSupplyChainTradeTransaction(org.w3c.dom.Element element,
BasicProfile data) |
Imports the data for the following tag: rsm:SpecifiedSupplyChainTradeTransaction
|
protected void |
importSpecifiedTradeAllowanceCharge(org.w3c.dom.Element parent,
boolean indicator,
java.lang.String actualAmount,
java.lang.String actualAmountCurrency,
java.lang.String reason,
java.lang.String[] typeCode,
java.lang.String[] categoryCode,
java.lang.String[] percent) |
Imports specified trade allowance charge.
|
protected void |
importSpecifiedTradeAllowanceCharge(org.w3c.dom.Element parent,
ComfortProfile data) |
Gets specified trade allowance charge data to import the this data.
|
protected void |
importSpecifiedTradePaymentTerms(org.w3c.dom.Element parent,
ComfortProfile data) |
Gets specified trade payment terms data to import the this data.
|
protected void |
importSpecifiedTradePaymentTerms(org.w3c.dom.Element parent,
java.lang.String[] description,
java.util.Date dateTime,
java.lang.String dateTimeFormat) |
Imports specified trade payment terms.
|
protected void |
importTax(org.w3c.dom.Element parent,
BasicProfile data) |
Gets tax data to import the this data.
|
protected void |
importTax(org.w3c.dom.Element parent,
java.lang.String typeCode,
java.lang.String exemptionReason,
java.lang.String category,
java.lang.String percent) |
Imports tax data.
|
protected void |
importTax(org.w3c.dom.Element parent,
java.lang.String calculatedAmount,
java.lang.String currencyID,
java.lang.String typeCode,
java.lang.String exemptionReason,
java.lang.String basisAmount,
java.lang.String basisAmountCurr,
java.lang.String category,
java.lang.String percent) |
Imports tax data.
|
protected void |
importTradeParty(org.w3c.dom.Element parent,
java.lang.String id,
java.lang.String[] globalID,
java.lang.String[] globalIDScheme,
java.lang.String name,
java.lang.String postcode,
java.lang.String lineOne,
java.lang.String lineTwo,
java.lang.String cityName,
java.lang.String countryID,
java.lang.String[] taxRegistrationID,
java.lang.String[] taxRegistrationSchemeID) |
Imports trade party information (could be seller, buyer or invoicee).
|
protected static void |
removeEmptyNodes(org.w3c.dom.Node node) |
It is forbidden for a ZUGFeRD XML to contain empty tags, hence
we use this method recursively to remove empty nodes.
|
byte[] |
toXML() |
Exports the Document as an XML file.
|
public static final CountryCode COUNTRY_CODE
public static final CurrencyCode CURR_CODE
public static final DateFormatCode DF_CODE
public static final GlobalIdentifierCode GI_CODE
public static final MeasurementUnitCode M_UNIT_CODE
public static final NumberChecker DEC2
public static final NumberChecker DEC4
public static final PaymentMeansCode PM_CODE
public static final TaxCategoryCode TC_CODE
public static final TaxIDTypeCode TIDT_CODE
public static final TaxTypeCode TT_CODE
protected final org.w3c.dom.Document doc
public InvoiceDOM(BasicProfile data) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, java.io.IOException, DataIncompleteException, InvalidCodeException
data - If this is an instance of BASICInvoice, the BASIC profile will be used;
If this is an instance of COMFORTInvoice, the COMFORT profile will be used.javax.xml.parsers.ParserConfigurationExceptionorg.xml.sax.SAXExceptionjava.io.IOExceptionDataIncompleteExceptionInvalidCodeExceptionprotected void importSpecifiedExchangedDocumentContext(org.w3c.dom.Element element,
BasicProfile data)
element - the rsm:SpecifiedExchangedDocumentContext elementdata - the invoice dataprotected void importHeaderExchangedDocument(org.w3c.dom.Element element,
BasicProfile data)
throws DataIncompleteException,
InvalidCodeException
element - the rsm:HeaderExchangedDocument elementdata - the invoice dataDataIncompleteExceptionInvalidCodeExceptionprotected void importContent(org.w3c.dom.Element parent,
java.lang.String tag,
java.lang.String content,
java.lang.String... attributes)
parent - the parent element of the tagtag - the tag for which we want to set the contentcontent - the new content for the tagattributes - a sequence of attributes of which
the odd elements are keys, the even elements the
corresponding value.protected void importDateTime(org.w3c.dom.Element parent,
java.lang.String tag,
java.lang.String dateTimeFormat,
java.util.Date dateTime)
throws InvalidCodeException
parent - the parent element that holds the date tagtag - the date tag we want to changedateTimeFormat - the format that will be used as an attributedateTime - the actual dateInvalidCodeExceptionprotected void importIncludedNotes(org.w3c.dom.Element parent,
int level,
java.lang.String[][] notes,
java.lang.String[] notesCodes)
throws DataIncompleteException,
InvalidCodeException
parent - the parent element of the tag we want to changelevel - the level where the notices are added (header or line)notes - array of notesnotesCodes - array of codes for the notes.
If not null, notes and notesCodes need to have an equal number of elements.DataIncompleteExceptionInvalidCodeExceptionprotected void importSpecifiedSupplyChainTradeTransaction(org.w3c.dom.Element element,
BasicProfile data)
throws DataIncompleteException,
InvalidCodeException
element - data - the invoice dataDataIncompleteExceptionInvalidCodeExceptionprotected void importSellerTradeParty(org.w3c.dom.Element parent,
BasicProfile data)
throws DataIncompleteException,
InvalidCodeException
parent - the parent elementdata - the dataDataIncompleteExceptionInvalidCodeExceptionprotected void importBuyerTradeParty(org.w3c.dom.Element parent,
BasicProfile data)
throws DataIncompleteException,
InvalidCodeException
parent - the parent elementdata - the dataDataIncompleteExceptionInvalidCodeExceptionprotected void importInvoiceeTradeParty(org.w3c.dom.Element parent,
ComfortProfile data)
throws DataIncompleteException,
InvalidCodeException
parent - the parent elementdata - the dataDataIncompleteExceptionInvalidCodeExceptionprotected void importTradeParty(org.w3c.dom.Element parent,
java.lang.String id,
java.lang.String[] globalID,
java.lang.String[] globalIDScheme,
java.lang.String name,
java.lang.String postcode,
java.lang.String lineOne,
java.lang.String lineTwo,
java.lang.String cityName,
java.lang.String countryID,
java.lang.String[] taxRegistrationID,
java.lang.String[] taxRegistrationSchemeID)
throws DataIncompleteException,
InvalidCodeException
parent - the parent elementid - globalID - globalIDScheme - name - postcode - lineOne - lineTwo - countryID - cityName - taxRegistrationID - taxRegistrationSchemeID - DataIncompleteExceptionInvalidCodeExceptionprotected void importPaymentMeans(org.w3c.dom.Element parent,
BasicProfile data)
throws InvalidCodeException
parent - the parent elementdata - the dataInvalidCodeExceptionprotected void importPaymentMeans(org.w3c.dom.Element parent,
java.lang.String typeCode,
java.lang.String[] information,
java.lang.String id,
java.lang.String scheme,
java.lang.String payerIban,
java.lang.String payerProprietaryID,
java.lang.String iban,
java.lang.String accName,
java.lang.String accID,
java.lang.String payerBic,
java.lang.String payerBank,
java.lang.String payerInst,
java.lang.String bic,
java.lang.String bank,
java.lang.String inst)
throws InvalidCodeException
parent - the parent elementtypeCode - information - id - scheme - payerIban - payerProprietaryID - iban - accID - accName - payerBic - payerBank - inst - bic - bank - payerInst - InvalidCodeExceptionprotected void importTax(org.w3c.dom.Element parent,
BasicProfile data)
throws InvalidCodeException,
DataIncompleteException
parent - the parent elementdata - the dataDataIncompleteExceptionInvalidCodeExceptionprotected void importTax(org.w3c.dom.Element parent,
java.lang.String calculatedAmount,
java.lang.String currencyID,
java.lang.String typeCode,
java.lang.String exemptionReason,
java.lang.String basisAmount,
java.lang.String basisAmountCurr,
java.lang.String category,
java.lang.String percent)
throws InvalidCodeException,
DataIncompleteException
parent - calculatedAmount - currencyID - typeCode - exemptionReason - basisAmount - basisAmountCurr - category - percent - InvalidCodeExceptionDataIncompleteExceptionprotected void importSpecifiedTradeAllowanceCharge(org.w3c.dom.Element parent,
ComfortProfile data)
throws InvalidCodeException
parent - the parent elementdata - the dataInvalidCodeExceptionprotected void importSpecifiedTradeAllowanceCharge(org.w3c.dom.Element parent,
boolean indicator,
java.lang.String actualAmount,
java.lang.String actualAmountCurrency,
java.lang.String reason,
java.lang.String[] typeCode,
java.lang.String[] categoryCode,
java.lang.String[] percent)
throws InvalidCodeException
parent - indicator - actualAmount - actualAmountCurrency - reason - typeCode - categoryCode - percent - InvalidCodeExceptionprotected void importSpecifiedLogisticsServiceCharge(org.w3c.dom.Element parent,
ComfortProfile data)
throws InvalidCodeException
parent - the parent elementdata - the dataInvalidCodeExceptionprotected void importSpecifiedLogisticsServiceCharge(org.w3c.dom.Element parent,
java.lang.String[] description,
java.lang.String appliedAmount,
java.lang.String currencyID,
java.lang.String[] typeCode,
java.lang.String[] categoryCode,
java.lang.String[] percent)
throws InvalidCodeException
parent - the parent elementdescription - appliedAmount - currencyID - typeCode - categoryCode - percent - InvalidCodeExceptionprotected void importSpecifiedTradePaymentTerms(org.w3c.dom.Element parent,
ComfortProfile data)
throws InvalidCodeException
parent - the parent elementdata - the dataInvalidCodeExceptionprotected void importSpecifiedTradePaymentTerms(org.w3c.dom.Element parent,
java.lang.String[] description,
java.util.Date dateTime,
java.lang.String dateTimeFormat)
throws InvalidCodeException
parent - the parent elementdescription - dateTime - dateTimeFormat - InvalidCodeExceptionprotected void importLineItemsComfort(org.w3c.dom.Element parent,
ComfortProfile data)
throws DataIncompleteException,
InvalidCodeException
parent - the parent elementdata - the dataDataIncompleteExceptionInvalidCodeExceptionprotected void importLineItemComfort(org.w3c.dom.Element parent,
java.lang.String lineID,
java.lang.String[][] note,
java.lang.String grossPriceChargeAmount,
java.lang.String grossPriceChargeAmountCurrencyID,
java.lang.String grossPriceBasisQuantity,
java.lang.String grossPriceBasisQuantityCode,
java.lang.Boolean[] grossPriceTradeAllowanceChargeIndicator,
java.lang.String[] grossPriceTradeAllowanceChargeActualAmount,
java.lang.String[] grossPriceTradeAllowanceChargeActualAmountCurrencyID,
java.lang.String[] grossPriceTradeAllowanceChargeReason,
java.lang.String netPriceChargeAmount,
java.lang.String netPriceChargeAmountCurrencyID,
java.lang.String netPriceBasisQuantity,
java.lang.String netPriceBasisQuantityCode,
java.lang.String billedQuantity,
java.lang.String billedQuantityCode,
java.lang.String[] settlementTaxTypeCode,
java.lang.String[] settlementTaxExemptionReason,
java.lang.String[] settlementTaxCategoryCode,
java.lang.String[] settlementTaxApplicablePercent,
java.lang.String totalAmount,
java.lang.String totalAmountCurrencyID,
java.lang.String specifiedTradeProductGlobalID,
java.lang.String specifiedTradeProductSchemeID,
java.lang.String specifiedTradeProductSellerAssignedID,
java.lang.String specifiedTradeProductBuyerAssignedID,
java.lang.String specifiedTradeProductName,
java.lang.String specifiedTradeProductDescription)
throws DataIncompleteException,
InvalidCodeException
parent - the parent elementlineID - note - grossPriceChargeAmount - grossPriceChargeAmountCurrencyID - grossPriceBasisQuantity - grossPriceBasisQuantityCode - grossPriceTradeAllowanceChargeIndicator - grossPriceTradeAllowanceChargeActualAmount - grossPriceTradeAllowanceChargeActualAmountCurrencyID - grossPriceTradeAllowanceChargeReason - netPriceChargeAmount - netPriceChargeAmountCurrencyID - netPriceBasisQuantity - netPriceBasisQuantityCode - billedQuantity - billedQuantityCode - settlementTaxTypeCode - settlementTaxExemptionReason - settlementTaxCategoryCode - settlementTaxApplicablePercent - totalAmount - totalAmountCurrencyID - specifiedTradeProductGlobalID - specifiedTradeProductSchemeID - specifiedTradeProductSellerAssignedID - specifiedTradeProductBuyerAssignedID - specifiedTradeProductName - specifiedTradeProductDescription - DataIncompleteExceptionInvalidCodeExceptionprotected void importAppliedTradeAllowanceCharge(org.w3c.dom.Element parent,
boolean indicator,
java.lang.String actualAmount,
java.lang.String currencyID,
java.lang.String reason)
throws DataIncompleteException,
InvalidCodeException
parent - the parent elementindicator - actualAmount - currencyID - reason - DataIncompleteExceptionInvalidCodeExceptionprotected void importTax(org.w3c.dom.Element parent,
java.lang.String typeCode,
java.lang.String exemptionReason,
java.lang.String category,
java.lang.String percent)
throws InvalidCodeException,
DataIncompleteException
parent - the parent elementtypeCode - exemptionReason - category - percent - InvalidCodeExceptionDataIncompleteExceptionprotected void importLineItemsBasic(org.w3c.dom.Element parent,
BasicProfile data)
throws DataIncompleteException,
InvalidCodeException
parent - data - DataIncompleteExceptionInvalidCodeExceptionprotected void importLineItemBasic(org.w3c.dom.Element parent,
java.lang.String quantity,
java.lang.String code,
java.lang.String name)
throws InvalidCodeException
parent - the parent elementquantity - code - name - InvalidCodeExceptionpublic byte[] toXML()
throws javax.xml.transform.TransformerException
javax.xml.transform.TransformerExceptionprotected static void removeEmptyNodes(org.w3c.dom.Node node)
node - the node from which we want to remove the empty nodesprotected void check(java.lang.String s,
java.lang.String message)
throws DataIncompleteException
s - the String to checkmessage - the message if an exception is thrownDataIncompleteExceptionCopyright © 1998–2018. All rights reserved.