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.ParserConfigurationException
org.xml.sax.SAXException
java.io.IOException
DataIncompleteException
InvalidCodeException
protected 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 dataDataIncompleteException
InvalidCodeException
protected 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 dateInvalidCodeException
protected 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.DataIncompleteException
InvalidCodeException
protected void importSpecifiedSupplyChainTradeTransaction(org.w3c.dom.Element element, BasicProfile data) throws DataIncompleteException, InvalidCodeException
element
- data
- the invoice dataDataIncompleteException
InvalidCodeException
protected void importSellerTradeParty(org.w3c.dom.Element parent, BasicProfile data) throws DataIncompleteException, InvalidCodeException
parent
- the parent elementdata
- the dataDataIncompleteException
InvalidCodeException
protected void importBuyerTradeParty(org.w3c.dom.Element parent, BasicProfile data) throws DataIncompleteException, InvalidCodeException
parent
- the parent elementdata
- the dataDataIncompleteException
InvalidCodeException
protected void importInvoiceeTradeParty(org.w3c.dom.Element parent, ComfortProfile data) throws DataIncompleteException, InvalidCodeException
parent
- the parent elementdata
- the dataDataIncompleteException
InvalidCodeException
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) throws DataIncompleteException, InvalidCodeException
parent
- the parent elementid
- globalID
- globalIDScheme
- name
- postcode
- lineOne
- lineTwo
- countryID
- cityName
- taxRegistrationID
- taxRegistrationSchemeID
- DataIncompleteException
InvalidCodeException
protected void importPaymentMeans(org.w3c.dom.Element parent, BasicProfile data) throws InvalidCodeException
parent
- the parent elementdata
- the dataInvalidCodeException
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) throws InvalidCodeException
parent
- the parent elementtypeCode
- information
- id
- scheme
- payerIban
- payerProprietaryID
- iban
- accID
- accName
- payerBic
- payerBank
- inst
- bic
- bank
- payerInst
- InvalidCodeException
protected void importTax(org.w3c.dom.Element parent, BasicProfile data) throws InvalidCodeException, DataIncompleteException
parent
- the parent elementdata
- the dataDataIncompleteException
InvalidCodeException
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) throws InvalidCodeException, DataIncompleteException
parent
- calculatedAmount
- currencyID
- typeCode
- exemptionReason
- basisAmount
- basisAmountCurr
- category
- percent
- InvalidCodeException
DataIncompleteException
protected void importSpecifiedTradeAllowanceCharge(org.w3c.dom.Element parent, ComfortProfile data) throws InvalidCodeException
parent
- the parent elementdata
- the dataInvalidCodeException
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) throws InvalidCodeException
parent
- indicator
- actualAmount
- actualAmountCurrency
- reason
- typeCode
- categoryCode
- percent
- InvalidCodeException
protected void importSpecifiedLogisticsServiceCharge(org.w3c.dom.Element parent, ComfortProfile data) throws InvalidCodeException
parent
- the parent elementdata
- the dataInvalidCodeException
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) throws InvalidCodeException
parent
- the parent elementdescription
- appliedAmount
- currencyID
- typeCode
- categoryCode
- percent
- InvalidCodeException
protected void importSpecifiedTradePaymentTerms(org.w3c.dom.Element parent, ComfortProfile data) throws InvalidCodeException
parent
- the parent elementdata
- the dataInvalidCodeException
protected 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
- InvalidCodeException
protected void importLineItemsComfort(org.w3c.dom.Element parent, ComfortProfile data) throws DataIncompleteException, InvalidCodeException
parent
- the parent elementdata
- the dataDataIncompleteException
InvalidCodeException
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) 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
- DataIncompleteException
InvalidCodeException
protected 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
- DataIncompleteException
InvalidCodeException
protected 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
- InvalidCodeException
DataIncompleteException
protected void importLineItemsBasic(org.w3c.dom.Element parent, BasicProfile data) throws DataIncompleteException, InvalidCodeException
parent
- data
- DataIncompleteException
InvalidCodeException
protected 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
- InvalidCodeException
public byte[] toXML() throws javax.xml.transform.TransformerException
javax.xml.transform.TransformerException
protected 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 thrownDataIncompleteException
Copyright © 1998–2018. All rights reserved.