diff --git a/mustang/pom.xml b/mustang/pom.xml index 006d34a2..6b337cad 100644 --- a/mustang/pom.xml +++ b/mustang/pom.xml @@ -8,7 +8,7 @@ org.mustangproject.ZUGFeRD mustang - 1.2.1-SNAPSHOT + 1.3.0-SNAPSHOT jar Mustang @@ -40,6 +40,13 @@ developer + + Alexander Schmidt + schmidt.alexander@mail.de + + developer + + diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java index 48d485a7..00545145 100644 --- a/mustang/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java @@ -119,6 +119,24 @@ public interface IZUGFeRDExportableTransaction { */ Date getDeliveryDate(); - + /** + * get main invoice currency used on the invoice + * @return + */ + String getInvoiceCurrency(); + + /** + * get payment information text. e.g. Bank transfer + * @return + */ + String getOwnPaymentInfoText(); + + /** + * get payment term descriptional text + * e.g. Bis zum 22.10.2015 ohne Abzug + * @return + */ + String getPaymentTermDescription(); + } diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java index 379897ca..77b0c33a 100644 --- a/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java @@ -1,24 +1,35 @@ package org.mustangproject.ZUGFeRD; + /** - * Mustangproject's ZUGFeRD implementation - * ZUGFeRD exporter - * Licensed under the APLv2 + * Mustangproject's ZUGFeRD implementation ZUGFeRD exporter Licensed under the + * APLv2 + * * @date 2014-07-12 * @version 1.1 * @author jstaerk - * */ - - + * + */ import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.GregorianCalendar; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; import javax.xml.transform.TransformerException; @@ -40,663 +51,827 @@ import org.apache.pdfbox.pdmodel.common.COSObjectable; import org.apache.pdfbox.pdmodel.common.PDMetadata; import org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification; import org.apache.pdfbox.pdmodel.common.filespecification.PDEmbeddedFile; - - +import org.mustangproject.ZUGFeRD.model.*; public class ZUGFeRDExporter { - /*** - * You will need Apache PDFBox. To use the ZUGFeRD exporter, - implement IZUGFeRDExportableTransaction in yourTransaction - (which will require you to implement Product, Item and Contact) - then call - doc = PDDocument.load(PDFfilename); - // automatically add Zugferd to all outgoing invoices - ZUGFeRDExporter ze = new ZUGFeRDExporter(); - ze.PDFmakeA3compliant(doc, "Your application name", - System.getProperty("user.name"), true); - ze.PDFattachZugferdFile(doc, yourTransaction); - doc.save(PDFfilename); + /** + * * + * You will need Apache PDFBox. To use the ZUGFeRD exporter, implement + * IZUGFeRDExportableTransaction in yourTransaction (which will require you + * to implement Product, Item and Contact) then call doc = + * PDDocument.load(PDFfilename); // automatically add Zugferd to all + * outgoing invoices ZUGFeRDExporter ze = new ZUGFeRDExporter(); + * ze.PDFmakeA3compliant(doc, "Your application name", + * System.getProperty("user.name"), true); ze.PDFattachZugferdFile(doc, + * yourTransaction); + * + * doc.save(PDFfilename); + * + * @author jstaerk + * + */ + public ZUGFeRDExporter() throws JAXBException { + jaxbContext = JAXBContext.newInstance("org.mustangproject.ZUGFeRD.model"); + marshaller = jaxbContext.createMarshaller(); + marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshaller.setProperty("jaxb.encoding", "UTF-8"); + } - * @author jstaerk - * - */ + private class LineCalc { + private IZUGFeRDExportableItem currentItem = null; + private BigDecimal totalGross; + private BigDecimal itemTotalNetAmount; + private BigDecimal itemTotalVATAmount; - - private class LineCalc { - private IZUGFeRDExportableItem currentItem=null; - private BigDecimal totalGross; - private BigDecimal itemTotalNetAmount; - private BigDecimal itemTotalVATAmount; - - public LineCalc(IZUGFeRDExportableItem currentItem) { - this.currentItem=currentItem; - BigDecimal multiplicator=currentItem.getProduct().getVATPercent().divide(new BigDecimal(100)).add(new BigDecimal(1)); + public LineCalc(IZUGFeRDExportableItem currentItem) { + this.currentItem = currentItem; + BigDecimal multiplicator = currentItem.getProduct().getVATPercent().divide(new BigDecimal(100)).add(new BigDecimal(1)); // priceGross=currentItem.getPrice().multiply(multiplicator); - totalGross=currentItem.getPrice().multiply(multiplicator).multiply(currentItem.getQuantity()); - itemTotalNetAmount=currentItem.getQuantity().multiply(currentItem.getPrice()).setScale(2,BigDecimal.ROUND_HALF_UP); - itemTotalVATAmount=totalGross.subtract(itemTotalNetAmount); - } - - public BigDecimal getItemTotalNetAmount() { - return itemTotalNetAmount; - } - - public BigDecimal getItemTotalVATAmount() { - return itemTotalVATAmount; - } - - } - - - - //// MAIN CLASS - - private String conformanceLevel = "U"; - private String versionStr = "1.2.0"; - - // BASIC, COMFORT etc - may be set from outside. - private String ZUGFeRDConformanceLevel = null; - - - /** - * Data (XML invoice) to be added to the ZUGFeRD PDF. It may be externally set, in which case passing a - * IZUGFeRDExportableTransaction is not necessary. By default it is null meaning the caller needs to - * pass a IZUGFeRDExportableTransaction for the XML to be populated. - */ - byte[] zugferdData = null; - private boolean isTest; - IZUGFeRDExportableTransaction trans=null; - - - private String nDigitFormat(BigDecimal value, int scale) { - /* - * I needed 123,45, locale independent.I tried - * NumberFormat.getCurrencyInstance().format( 12345.6789 ); but that is - * locale specific.I also tried DecimalFormat df = new DecimalFormat( - * "0,00" ); df.setDecimalSeparatorAlwaysShown(true); - * df.setGroupingUsed(false); DecimalFormatSymbols symbols = new - * DecimalFormatSymbols(); symbols.setDecimalSeparator(','); - * symbols.setGroupingSeparator(' '); - * df.setDecimalFormatSymbols(symbols); - * - * but that would not switch off grouping. Although I liked very much - * the (incomplete) "BNF diagram" in - * http://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html - * in the end I decided to calculate myself and take eur+sparator+cents - * - * This function will cut off, i.e. floor() subcent values Tests: - * System.err.println(utils.currencyFormat(new BigDecimal(0), - * ".")+"\n"+utils.currencyFormat(new BigDecimal("-1.10"), - * ",")+"\n"+utils.currencyFormat(new BigDecimal("-1.1"), - * ",")+"\n"+utils.currencyFormat(new BigDecimal("-1.01"), - * ",")+"\n"+utils.currencyFormat(new BigDecimal("20000123.3489"), - * ",")+"\n"+utils.currencyFormat(new BigDecimal("20000123.3419"), - * ",")+"\n"+utils.currencyFormat(new BigDecimal("12"), ",")); - * - * results 0.00 -1,10 -1,10 -1,01 20000123,34 20000123,34 12,00 - */ - value=value.setScale( scale, BigDecimal.ROUND_HALF_UP ); // first, round so that e.g. 1.189999999999999946709294817992486059665679931640625 becomes 1.19 - char[] repeat = new char[scale]; - Arrays.fill(repeat, '0'); - - DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(); - otherSymbols.setDecimalSeparator('.'); - DecimalFormat dec = new DecimalFormat("0."+new String(repeat), otherSymbols); - return dec.format(value); - - } - - private String vatFormat(BigDecimal value) { - return nDigitFormat(value, 2); - } - - private String currencyFormat(BigDecimal value) { - return nDigitFormat(value, 2); - } - - private String priceFormat(BigDecimal value) { - return nDigitFormat(value, 4); - } - private String quantityFormat(BigDecimal value) { - return nDigitFormat(value, 4); - } - - /** - All files are PDF/A-3, setConformance refers to the level conformance. - - PDF/A-3 has three coformance levels, called "A", "U" and "B". - - PDF/A-3-B where B means only visually - preservable, U -standard for Mustang- means visually and unicode - preservable and A means full compliance, i.e. visually, - unicode and structurally preservable and tagged PDF, i.e. useful metainformation for blind people. - - Feel free to pass "A" as new level if you know what you are doing :-) - - - */ - public void setConformanceLevel(String newLevel) { - conformanceLevel=newLevel; - } - - /** - * enables the flag to indicate a test invoice in the XML structure - * */ - public void setTest() { - isTest=true; - } - - /** - * Makes A PDF/A3a-compliant document from a PDF-A1 compliant document (on - * the metadata level, this will not e.g. convert graphics to JPG-2000) - * */ - public PDDocumentCatalog PDFmakeA3compliant(PDDocument doc, String producer, String creator, - boolean attachZugferdHeaders) throws IOException, - TransformerException { - String fullProducer=producer + " (via mustangproject.org " + versionStr + ")"; - PDDocumentCatalog cat = doc.getDocumentCatalog(); - PDMetadata metadata = new PDMetadata(doc); - cat.setMetadata(metadata); - // we're using the jempbox org.apache.jempbox.xmp.XMPMetadata version, - // not the xmpbox one - XMPMetadata xmp = new XMPMetadata(); - - XMPSchemaPDFAId pdfaid = new XMPSchemaPDFAId(xmp); - pdfaid.setAbout(""); //$NON-NLS-1$ - xmp.addSchema(pdfaid); - - XMPSchemaDublinCore dc = xmp.addDublinCoreSchema(); - dc.addCreator(creator); - dc.setAbout(""); //$NON-NLS-1$ - - XMPSchemaBasic xsb = xmp.addBasicSchema(); - xsb.setAbout(""); //$NON-NLS-1$ - - xsb.setCreatorTool(creator); - xsb.setCreateDate(GregorianCalendar.getInstance()); - // PDDocumentInformation pdi=doc.getDocumentInformation(); - PDDocumentInformation pdi = new PDDocumentInformation(); - pdi.setProducer(fullProducer); - pdi.setAuthor(creator); - doc.setDocumentInformation(pdi); - - XMPSchemaPDF pdf = xmp.addPDFSchema(); - pdf.setProducer(fullProducer); - pdf.setAbout(""); //$NON-NLS-1$ - - /* - // Mandatory: PDF/A3-a is tagged PDF which has to be expressed using a - // MarkInfo dictionary (PDF A/3 Standard sec. 6.7.2.2) - PDMarkInfo markinfo = new PDMarkInfo(); - markinfo.setMarked(true); - doc.getDocumentCatalog().setMarkInfo(markinfo); -*/ -/* - * - To be on the safe side, we use level B without Markinfo because we can not - guarantee that the user correctly tagged the templates for the PDF. - - * */ - pdfaid.setConformance(conformanceLevel);//$NON-NLS-1$ //$NON-NLS-1$ - - pdfaid.setPart(3); - - if (attachZugferdHeaders) { - addZugferdXMP(xmp); /* - * this is the only line where we do something - * Zugferd-specific, i.e. add PDF metadata - * specifically for Zugferd, not generically for - * a embedded file - */ - } - - metadata.importXMPMetadata(xmp); - return cat; - } - - private String getZugferdXMLForTransaction(IZUGFeRDExportableTransaction trans) { - this.trans=trans; - - SimpleDateFormat germanDateFormat = new SimpleDateFormat("dd.MM.yyyy"); //$NON-NLS-1$ - SimpleDateFormat zugferdDateFormat = new SimpleDateFormat("yyyyMMdd"); //$NON-NLS-1$ - String testBooleanStr="false"; - if (isTest) { - testBooleanStr="true"; - - } - String senderReg=""; - if (trans.getOwnOrganisationFullPlaintextInfo()!=null) { - senderReg="" - + "\n" - + " \n" - + trans.getOwnOrganisationFullPlaintextInfo() - + " \n" - + "REG\n" - + "\n"; - - } - String xml= "\n" //$NON-NLS-1$ - - + "\n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+testBooleanStr+"\n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " urn:ferd:CrossIndustryDocument:invoice:1p0:comfort\n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+trans.getNumber()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " RECHNUNG\n" //$NON-NLS-1$ - + " 380\n" //$NON-NLS-1$ - + " "+zugferdDateFormat.format(trans.getIssueDate())+"\n" //date format was 20130605 //$NON-NLS-1$ //$NON-NLS-2$ - + senderReg -// + " \n" -// + " \n" -// + "Rechnung gemäß Bestellung Nr. 2013-471331 vom 01.03.2013.\n" -// + "\n" -// + " \n" -// + " \n" -// + " \n" -// + " \n" -// + "Es bestehen Rabatt- und Bonusvereinbarungen.\n" -// + " \n" -// + " AAK\n" -// + " \n" - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ -// + " AB-312\n" - + " \n" //$NON-NLS-1$ -// + " 4000001123452\n" - + " "+trans.getOwnOrganisationName()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" - + " "+trans.getOwnZIP()+"\n" - + " "+trans.getOwnStreet()+"\n" - + " "+trans.getOwnLocation()+"\n" - + " "+trans.getOwnCountry()+"\n" - + " \n" - + " \n" //$NON-NLS-1$ - + " "+trans.getOwnTaxID()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+trans.getOwnVATID()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ -// + " GE2020211\n" -// + " 4000001987658\n" - + " "+trans.getRecipient().getName()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ -// + " \n" -// + " xxx\n" -// + " \n" - + " \n" //$NON-NLS-1$ - + " "+trans.getRecipient().getZIP()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " "+trans.getRecipient().getStreet()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " "+trans.getRecipient().getLocation()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " "+trans.getRecipient().getCountry()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+trans.getRecipient().getVATID()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ -// + " \n" -// + " 20130301\n" -// + " 2013-471331\n" -// + " \n" - + " \n" //$NON-NLS-1$ - + " \n" - + " \n" - + " "+zugferdDateFormat.format(trans.getDeliveryDate())+"\n" - + " \n" - /* - + " \n" - + " 20130603\n" - + " 2013-51112\n" - + " \n" */ - + " \n" - + " \n" //$NON-NLS-1$ - + " "+trans.getNumber()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " EUR\n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " 42\n" //$NON-NLS-1$ - + " Überweisung\n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+trans.getOwnIBAN()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+trans.getOwnBIC()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " "+trans.getOwnBankName()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n"; //$NON-NLS-1$ - - - - HashMap VATPercentAmountMap=getVATPercentAmountMap(); - for (BigDecimal currentTaxPercent : VATPercentAmountMap.keySet()) { - VATAmount amount = VATPercentAmountMap.get(currentTaxPercent); - if (amount != null) { - xml += " \n" //$NON-NLS-1$ - + " "+currencyFormat(amount.getCalculated())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " VAT\n" //$NON-NLS-1$ - + " "+currencyFormat(amount.getBasis())+"\n" - + " S\n" //$NON-NLS-1$ - + " "+vatFormat(currentTaxPercent)+"\n" //$NON-NLS-1$ - + " \n"; //$NON-NLS-1$ - - - - } - } -/* xml+= " - + " \n" - + " false\n" - + " 10\n" - + " 1.00\n" - + " Sondernachlass\n" - + " \n" - + " VAT\n" - + " S\n" - + " 19\n" - + " \n" - + " \n" - + " \n" - + " false\n" - + " 137.30\n" - + " 13.73\n" - + " Sondernachlass\n" - + " \n" - + " VAT\n" - + " S\n" - + " 7\n" - + " \n" - + " \n" - + " \n" - + " Versandkosten\n" - + " 5.80\n" - + " \n" - + " VAT\n" - + " S\n" - + " 7\n" - + " \n" - + " \n"*/ - - xml=xml+ " \n" //$NON-NLS-1$ - + " Zahlbar ohne Abzug bis "+germanDateFormat.format(trans.getDueDate())+"\n" - + " "+zugferdDateFormat.format(trans.getDueDate())+"\n"//20130704 //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+currencyFormat(getTotal())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " 0.00\n" //$NON-NLS-1$ - + " 0.00\n" //$NON-NLS-1$ -// + " 5.80\n" -// + " 14.73\n" - + " "+currencyFormat(getTotal())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " "+currencyFormat(getTotalGross().subtract(getTotal()))+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " "+currencyFormat(getTotalGross())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ -// + " 0.00\n" - + " "+currencyFormat(getTotalGross())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n"; //$NON-NLS-1$ -// + " \n" -// + " \n" -// + " \n" -// + " Wir erlauben uns Ihnen folgende Positionen aus der Lieferung Nr. 2013-51112 in Rechnung zu stellen:\n" -// + " \n" -// + " \n" -// + " \n"; - - - int lineID=0; - for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { - lineID++; - - LineCalc lc=new LineCalc(currentItem); - xml=xml+ " \n"+ //$NON-NLS-1$ - " \n" //$NON-NLS-1$ - + " "+lineID+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+priceFormat(currentItem.getPrice())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " 1.0000\n" //$NON-NLS-1$ //$NON-NLS-2$ -// + " \n" -// + " false\n" -// + " 0.6667\n" -// + " Rabatt\n" -// + " \n" - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+priceFormat(currentItem.getPrice())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " 1.0000\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - - + " \n" //$NON-NLS-1$ - + " "+quantityFormat(currentItem.getQuantity())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " VAT\n" //$NON-NLS-1$ - + " S\n" //$NON-NLS-1$ - + " "+vatFormat(currentItem.getProduct().getVATPercent())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " "+currencyFormat(lc.getItemTotalNetAmount())+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ - + " \n" //$NON-NLS-1$ -// + " 4012345001235\n" -// + " KR3M\n" -// + " 55T01\n" - + " "+currentItem.getProduct().getName()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " "+currentItem.getProduct().getDescription()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ - + " \n" //$NON-NLS-1$ - + " \n"; //$NON-NLS-1$ - - - - } - - - xml=xml + " \n" //$NON-NLS-1$ - + ""; //$NON-NLS-1$ - return xml; - } - - - private BigDecimal getTotalGross() { - - BigDecimal res=getTotal(); - HashMap VATPercentAmountMap=getVATPercentAmountMap(); - for (BigDecimal currentTaxPercent : VATPercentAmountMap.keySet()) { - VATAmount amount = VATPercentAmountMap.get(currentTaxPercent); - res=res.add(amount.getCalculated()); - } - - - return res; - } - - private BigDecimal getTotal() { - BigDecimal res=new BigDecimal(0); - for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { - LineCalc lc=new LineCalc(currentItem); - res=res.add(lc.getItemTotalNetAmount()); - } - return res; - } - - /** - * which taxes have been used with which amounts in this transaction, - * empty for no taxes, or e.g. 19=>190 and 7=>14 if 1000 Eur were applicable - * to 19% VAT (=>190 EUR VAT) and 200 EUR were applicable to 7% (=>14 EUR VAT) - * 190 Eur - * @return - * - */ - private HashMap getVATPercentAmountMap() { - HashMap hm=new HashMap (); - - for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { - BigDecimal percent=currentItem.getProduct().getVATPercent(); - LineCalc lc=new LineCalc(currentItem); - VATAmount itemVATAmount=new VATAmount(lc.getItemTotalNetAmount(), lc.getItemTotalVATAmount() ) ; - VATAmount current=hm.get(percent); - if (current==null) { - hm.put(percent, itemVATAmount); - } else { - hm.put(percent, current.add(itemVATAmount)); - - } - } - - return hm; - } - - /** - * Embeds the Zugferd XML structure in a file named ZUGFeRD-invoice.xml. - * - * @param doc PDDocument to attach an XML invoice to - * @param trans a IZUGFeRDExportableTransaction that provides the data-model to populate the XML. - * This parameter may be null, if so the XML data should hav ebeen set via setZUGFeRDXMLData(byte[] zugferdData) - */ - public void PDFattachZugferdFile(PDDocument doc, IZUGFeRDExportableTransaction trans) throws IOException { - - if (zugferdData == null) // XML ZUGFeRD data not set externally, needs to be built - { - // create a dummy file stream, this would probably normally be a - // FileInputStream - - byte[] zugferdRaw = getZugferdXMLForTransaction(trans).getBytes("UTF-8"); //$NON-NLS-1$ - - if ((zugferdRaw[0]==(byte)0xEF)&&(zugferdRaw[1]==(byte)0xBB)&&(zugferdRaw[2]==(byte)0xBF)) { - // I don't like BOMs, lets remove it - zugferdData=new byte[zugferdRaw.length-3]; - System.arraycopy(zugferdRaw,3,zugferdData,0,zugferdRaw.length-3); - } else { - zugferdData=zugferdRaw; - } - } - - - PDFAttachGenericFile(doc, "ZUGFeRD-invoice.xml", "Alternative", "Invoice metadata conforming to ZUGFeRD standard (http://www.ferd-net.de/front_content.php?idcat=231&lang=4)", "text/xml", zugferdData); - } - - - /** - * Embeds an external file (generic - any type allowed) in the PDF. - * - * @param doc PDDocument to attach the file to. - * @param filename name of the file that will become attachment name in the PDF - * @param relationship how the file relates to the content, e.g. "Alternative" - * @param description Human-readable description of the file content - * @param subType type of the data e.g. could be "text/xml" - mime like - * @param data the binary data of the file/attachment - */ - public void PDFAttachGenericFile(PDDocument doc, String filename, String relationship, String description, String subType, byte[] data) - throws IOException - { - PDComplexFileSpecification fs = new PDComplexFileSpecification(); - fs.setFile(filename); - - COSDictionary dict = fs.getCOSDictionary(); - dict.setName("AFRelationship", relationship); - dict.setString("UF", filename); - dict.setString("Desc", description); - - ByteArrayInputStream fakeFile = new ByteArrayInputStream(data); - PDEmbeddedFile ef = new PDEmbeddedFile(doc, fakeFile); - ef.setSubtype(subType); - ef.setSize(data.length); - ef.setCreationDate(new GregorianCalendar()); - - ef.setModDate(GregorianCalendar.getInstance()); - - fs.setEmbeddedFile(ef); - - // In addition make sure the embedded file is set under /UF - dict = fs.getCOSDictionary(); - COSDictionary efDict = (COSDictionary)dict.getDictionaryObject(COSName.EF); - COSBase lowerLevelFile = efDict.getItem(COSName.F); - efDict.setItem(COSName.UF, lowerLevelFile); - - // now add the entry to the embedded file tree and set in the document. - PDDocumentNameDictionary names = new PDDocumentNameDictionary(doc.getDocumentCatalog()); - PDEmbeddedFilesNameTreeNode efTree = names.getEmbeddedFiles(); - if (efTree == null) - { - efTree = new PDEmbeddedFilesNameTreeNode(); - } - - Map namesMap = new HashMap(); - Map oldNamesMap = efTree.getNames(); - if (oldNamesMap != null) - { - for (String key : oldNamesMap.keySet()) - { - namesMap.put(key, oldNamesMap.get(key)); - } - } - namesMap.put(filename, fs); - efTree.setNames(namesMap); - - names.setEmbeddedFiles(efTree); - doc.getDocumentCatalog().setNames(names); - - // AF entry (Array) in catalog with the FileSpec - COSArray cosArray = (COSArray)doc.getDocumentCatalog().getCOSDictionary().getItem("AF"); - if (cosArray == null) - { - cosArray = new COSArray(); - } - cosArray.add(fs); - doc.getDocumentCatalog().getCOSDictionary().setItem("AF", cosArray); - } - - - /** - * Sets the ZUGFeRD XML data to be attached as a single byte array. This is useful for - * use-cases where the XML has already been produced by some external API or component. - * - * @param zugferdData XML data to be set as a byte array (XML file in raw form). - */ - public void setZUGFeRDXMLData(byte[] zugferdData) - { - this.zugferdData = zugferdData; - } - - - /** - * Sets the ZUGFeRD conformance level (override). - * - * @param ZUGFeRDConformanceLevel the new conformance level - */ - public void setZUGFeRDConformanceLevel(String ZUGFeRDConformanceLevel) - { - this.ZUGFeRDConformanceLevel = ZUGFeRDConformanceLevel; - } - -/*** - * This will add both the RDF-indication which embedded file is Zugferd and the - * neccessary PDF/A schema extension description to be able to add this information to RDF - * @param metadata - */ - private void addZugferdXMP(XMPMetadata metadata) { - - XMPSchemaZugferd zf = new XMPSchemaZugferd(metadata, this.ZUGFeRDConformanceLevel); - zf.setAbout(""); //$NON-NLS-1$ - metadata.addSchema(zf); - - XMPSchemaPDFAExtensions pdfaex = new XMPSchemaPDFAExtensions(metadata); - pdfaex.setAbout(""); //$NON-NLS-1$ - metadata.addSchema(pdfaex); - - } + totalGross = currentItem.getPrice().multiply(multiplicator).multiply(currentItem.getQuantity()); + itemTotalNetAmount = currentItem.getQuantity().multiply(currentItem.getPrice()).setScale(2, BigDecimal.ROUND_HALF_UP); + itemTotalVATAmount = totalGross.subtract(itemTotalNetAmount); + } + + public BigDecimal getItemTotalNetAmount() { + return itemTotalNetAmount; + } + + public BigDecimal getItemTotalVATAmount() { + return itemTotalVATAmount; + } + + } + + //// MAIN CLASS + private String conformanceLevel = "U"; + private String versionStr = "1.2.0"; + + // BASIC, COMFORT etc - may be set from outside. + private String ZUGFeRDConformanceLevel = null; + + /** + * Data (XML invoice) to be added to the ZUGFeRD PDF. It may be externally + * set, in which case passing a IZUGFeRDExportableTransaction is not + * necessary. By default it is null meaning the caller needs to pass a + * IZUGFeRDExportableTransaction for the XML to be populated. + */ + byte[] zugferdData = null; + private boolean isTest; + IZUGFeRDExportableTransaction trans = null; + + private BigDecimal nDigitFormat(BigDecimal value, int scale) { + /* + * I needed 123,45, locale independent.I tried + * NumberFormat.getCurrencyInstance().format( 12345.6789 ); but that is + * locale specific.I also tried DecimalFormat df = new DecimalFormat( + * "0,00" ); df.setDecimalSeparatorAlwaysShown(true); + * df.setGroupingUsed(false); DecimalFormatSymbols symbols = new + * DecimalFormatSymbols(); symbols.setDecimalSeparator(','); + * symbols.setGroupingSeparator(' '); + * df.setDecimalFormatSymbols(symbols); + * + * but that would not switch off grouping. Although I liked very much + * the (incomplete) "BNF diagram" in + * http://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html + * in the end I decided to calculate myself and take eur+sparator+cents + * + * This function will cut off, i.e. floor() subcent values Tests: + * System.err.println(utils.currencyFormat(new BigDecimal(0), + * ".")+"\n"+utils.currencyFormat(new BigDecimal("-1.10"), + * ",")+"\n"+utils.currencyFormat(new BigDecimal("-1.1"), + * ",")+"\n"+utils.currencyFormat(new BigDecimal("-1.01"), + * ",")+"\n"+utils.currencyFormat(new BigDecimal("20000123.3489"), + * ",")+"\n"+utils.currencyFormat(new BigDecimal("20000123.3419"), + * ",")+"\n"+utils.currencyFormat(new BigDecimal("12"), ",")); + * + * results 0.00 -1,10 -1,10 -1,01 20000123,34 20000123,34 12,00 + */ + value = value.setScale(scale, BigDecimal.ROUND_HALF_UP); // first, round so that e.g. 1.189999999999999946709294817992486059665679931640625 becomes 1.19 + char[] repeat = new char[scale]; + Arrays.fill(repeat, '0'); + + DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(); + otherSymbols.setDecimalSeparator('.'); + DecimalFormat dec = new DecimalFormat("0." + new String(repeat), otherSymbols); + return new BigDecimal(dec.format(value)); + + } + + private BigDecimal vatFormat(BigDecimal value) { + return nDigitFormat(value, 2); + } + + private BigDecimal currencyFormat(BigDecimal value) { + return nDigitFormat(value, 2); + } + + private BigDecimal priceFormat(BigDecimal value) { + return nDigitFormat(value, 4); + } + + private BigDecimal quantityFormat(BigDecimal value) { + return nDigitFormat(value, 4); + } + + /** + * All files are PDF/A-3, setConformance refers to the level conformance. + * + * PDF/A-3 has three coformance levels, called "A", "U" and "B". + * + * PDF/A-3-B where B means only visually preservable, U -standard for + * Mustang- means visually and unicode preservable and A means full + * compliance, i.e. visually, unicode and structurally preservable and + * tagged PDF, i.e. useful metainformation for blind people. + * + * Feel free to pass "A" as new level if you know what you are doing :-) + * + * + */ + public void setConformanceLevel(String newLevel) { + conformanceLevel = newLevel; + } + + /** + * enables the flag to indicate a test invoice in the XML structure + * + */ + public void setTest() { + isTest = true; + } + + /** + * Makes A PDF/A3a-compliant document from a PDF-A1 compliant document (on + * the metadata level, this will not e.g. convert graphics to JPG-2000) + * + */ + public PDDocumentCatalog PDFmakeA3compliant(PDDocument doc, String producer, String creator, + boolean attachZugferdHeaders) throws IOException, + TransformerException { + String fullProducer = producer + " (via mustangproject.org " + versionStr + ")"; + PDDocumentCatalog cat = doc.getDocumentCatalog(); + PDMetadata metadata = new PDMetadata(doc); + cat.setMetadata(metadata); + // we're using the jempbox org.apache.jempbox.xmp.XMPMetadata version, + // not the xmpbox one + XMPMetadata xmp = new XMPMetadata(); + + XMPSchemaPDFAId pdfaid = new XMPSchemaPDFAId(xmp); + pdfaid.setAbout(""); //$NON-NLS-1$ + xmp.addSchema(pdfaid); + + XMPSchemaDublinCore dc = xmp.addDublinCoreSchema(); + dc.addCreator(creator); + dc.setAbout(""); //$NON-NLS-1$ + + XMPSchemaBasic xsb = xmp.addBasicSchema(); + xsb.setAbout(""); //$NON-NLS-1$ + + xsb.setCreatorTool(creator); + xsb.setCreateDate(GregorianCalendar.getInstance()); + // PDDocumentInformation pdi=doc.getDocumentInformation(); + PDDocumentInformation pdi = new PDDocumentInformation(); + pdi.setProducer(fullProducer); + pdi.setAuthor(creator); + doc.setDocumentInformation(pdi); + + XMPSchemaPDF pdf = xmp.addPDFSchema(); + pdf.setProducer(fullProducer); + pdf.setAbout(""); //$NON-NLS-1$ + + /* + // Mandatory: PDF/A3-a is tagged PDF which has to be expressed using a + // MarkInfo dictionary (PDF A/3 Standard sec. 6.7.2.2) + PDMarkInfo markinfo = new PDMarkInfo(); + markinfo.setMarked(true); + doc.getDocumentCatalog().setMarkInfo(markinfo); + */ + /* + * + To be on the safe side, we use level B without Markinfo because we can not + guarantee that the user correctly tagged the templates for the PDF. + + * */ + pdfaid.setConformance(conformanceLevel);//$NON-NLS-1$ //$NON-NLS-1$ + + pdfaid.setPart(3); + + if (attachZugferdHeaders) { + addZugferdXMP(xmp); /* + * this is the only line where we do something + * Zugferd-specific, i.e. add PDF metadata + * specifically for Zugferd, not generically for + * a embedded file + */ + + } + + metadata.importXMPMetadata(xmp); + return cat; + } + + private static final ObjectFactory xmlFactory = new ObjectFactory(); + private final JAXBContext jaxbContext; + private final Marshaller marshaller; + private static final SimpleDateFormat germanDateFormat = new SimpleDateFormat("dd.MM.yyyy"); //$NON-NLS-1$ + private static final SimpleDateFormat zugferdDateFormat = new SimpleDateFormat("yyyyMMdd"); //$NON-NLS-1$ + + private String getZugferdXMLForTransaction(IZUGFeRDExportableTransaction trans) throws JAXBException { + this.trans = trans; + + CrossIndustryDocumentType invoice = xmlFactory.createCrossIndustryDocumentType(); + + invoice.setSpecifiedExchangedDocumentContext(this.getDocumentContext()); + invoice.setHeaderExchangedDocument(this.getDocument()); + invoice.setSpecifiedSupplyChainTradeTransaction(this.getTradeTransaction()); + + JAXBElement jaxElement = xmlFactory.createCrossIndustryDocument(invoice); + + ByteArrayOutputStream outputXml = new ByteArrayOutputStream(); + marshaller.marshal(jaxElement, outputXml); + + return outputXml.toString(); + } + + private ExchangedDocumentContextType getDocumentContext() { + + ExchangedDocumentContextType context = xmlFactory.createExchangedDocumentContextType(); + DocumentContextParameterType contextParameter = xmlFactory.createDocumentContextParameterType(); + IDType idType = xmlFactory.createIDType(); + idType.setValue(DocumentContextParameterType.COMFORT); + contextParameter.setID(idType); + context.getGuidelineSpecifiedDocumentContextParameter().add(contextParameter); + + IndicatorType testIndicator = xmlFactory.createIndicatorType(); + testIndicator.setIndicator(isTest); + context.setTestIndicator(testIndicator); + + return context; + } + + private ExchangedDocumentType getDocument() { + + ExchangedDocumentType document = xmlFactory.createExchangedDocumentType(); + + IDType id = xmlFactory.createIDType(); + id.setValue(trans.getNumber()); + document.setID(id); + + DateTimeType issueDateTime = xmlFactory.createDateTimeType(); + DateTimeType.DateTimeString issueDateTimeString = xmlFactory.createDateTimeTypeDateTimeString(); + issueDateTimeString.setFormat(DateTimeType.DateTimeString.DATE); + issueDateTimeString.setValue(zugferdDateFormat.format(trans.getIssueDate())); + issueDateTime.setDateTimeString(issueDateTimeString); + document.setIssueDateTime(issueDateTime); + + DocumentCodeType documentCodeType = xmlFactory.createDocumentCodeType(); + documentCodeType.setValue(DocumentCodeType.INVOICE); + document.setTypeCode(documentCodeType); + + if (trans.getOwnOrganisationFullPlaintextInfo() != null) { + NoteType regularInfo = xmlFactory.createNoteType(); + CodeType regularInfoSubjectCode = xmlFactory.createCodeType(); + regularInfoSubjectCode.setValue(NoteType.REGULARINFO); + regularInfo.setSubjectCode(regularInfoSubjectCode); + TextType regularInfoContent = xmlFactory.createTextType(); + regularInfoContent.setValue(trans.getOwnOrganisationFullPlaintextInfo()); + regularInfo.getContent().add(regularInfoContent); + document.getIncludedNote().add(regularInfo); + } + + return document; + } + + private SupplyChainTradeTransactionType getTradeTransaction() { + + SupplyChainTradeTransactionType transaction = xmlFactory.createSupplyChainTradeTransactionType(); + transaction.getApplicableSupplyChainTradeAgreement().add(this.getTradeAgreement()); + transaction.setApplicableSupplyChainTradeDelivery(this.getTradeDelivery()); + transaction.setApplicableSupplyChainTradeSettlement(this.getTradeSettlement()); + transaction.getIncludedSupplyChainTradeLineItem().addAll(this.getLineItems()); + + return transaction; + } + + private SupplyChainTradeAgreementType getTradeAgreement() { + + SupplyChainTradeAgreementType tradeAgreement = xmlFactory.createSupplyChainTradeAgreementType(); + + tradeAgreement.setBuyerTradeParty(this.getBuyer()); + tradeAgreement.setSellerTradeParty(this.getSeller()); + + return tradeAgreement; + } + + private TradePartyType getBuyer() { + + TradePartyType buyerTradeParty = xmlFactory.createTradePartyType(); + TextType buyerName = xmlFactory.createTextType(); + buyerName.setValue(trans.getRecipient().getName()); + buyerTradeParty.setName(buyerName); + + TradeAddressType buyerAddressType = xmlFactory.createTradeAddressType(); + TextType buyerCityName = xmlFactory.createTextType(); + buyerCityName.setValue(trans.getRecipient().getLocation()); + buyerAddressType.setCityName(buyerCityName); + + CountryIDType buyerCountryId = xmlFactory.createCountryIDType(); + buyerCountryId.setValue(trans.getRecipient().getCountry()); + buyerAddressType.setCountryID(buyerCountryId); + + TextType buyerAddress = xmlFactory.createTextType(); + buyerAddress.setValue(trans.getRecipient().getStreet()); + buyerAddressType.setLineOne(buyerAddress); + + CodeType buyerPostcode = xmlFactory.createCodeType(); + buyerPostcode.setValue(trans.getRecipient().getZIP()); + buyerAddressType.getPostcodeCode().add(buyerPostcode); + + buyerTradeParty.setPostalTradeAddress(buyerAddressType); + + // Ust-ID + TaxRegistrationType buyerTaxRegistration = xmlFactory.createTaxRegistrationType(); + IDType buyerUstId = xmlFactory.createIDType(); + buyerUstId.setValue(trans.getRecipient().getVATID()); + buyerUstId.setSchemeID(TaxRegistrationType.USTID); + buyerTaxRegistration.setID(buyerUstId); + buyerTradeParty.getSpecifiedTaxRegistration().add(buyerTaxRegistration); + + return buyerTradeParty; + } + + private TradePartyType getSeller() { + + TradePartyType sellerTradeParty = xmlFactory.createTradePartyType(); + TextType sellerName = xmlFactory.createTextType(); + sellerName.setValue(trans.getOwnOrganisationName()); + sellerTradeParty.setName(sellerName); + + TradeAddressType sellerAddressType = xmlFactory.createTradeAddressType(); + TextType sellerCityName = xmlFactory.createTextType(); + sellerCityName.setValue(trans.getOwnLocation()); + sellerAddressType.setCityName(sellerCityName); + + CountryIDType sellerCountryId = xmlFactory.createCountryIDType(); + sellerCountryId.setValue(trans.getOwnCountry()); + sellerAddressType.setCountryID(sellerCountryId); + + TextType sellerAddress = xmlFactory.createTextType(); + sellerAddress.setValue(trans.getOwnStreet()); + sellerAddressType.setLineOne(sellerAddress); + + CodeType sellerPostcode = xmlFactory.createCodeType(); + sellerPostcode.setValue(trans.getOwnZIP()); + sellerAddressType.getPostcodeCode().add(sellerPostcode); + + sellerTradeParty.setPostalTradeAddress(sellerAddressType); + + // Steuernummer + TaxRegistrationType sellerTaxRegistration = xmlFactory.createTaxRegistrationType(); + IDType sellerTaxId = xmlFactory.createIDType(); + sellerTaxId.setValue(trans.getOwnTaxID()); + sellerTaxId.setSchemeID(TaxRegistrationType.TAXID); + sellerTaxRegistration.setID(sellerTaxId); + sellerTradeParty.getSpecifiedTaxRegistration().add(sellerTaxRegistration); + + // Ust-ID + sellerTaxRegistration = xmlFactory.createTaxRegistrationType(); + IDType sellerUstId = xmlFactory.createIDType(); + sellerUstId.setValue(trans.getOwnVATID()); + sellerUstId.setSchemeID(TaxRegistrationType.USTID); + sellerTaxRegistration.setID(sellerUstId); + sellerTradeParty.getSpecifiedTaxRegistration().add(sellerTaxRegistration); + + return sellerTradeParty; + } + + private SupplyChainTradeDeliveryType getTradeDelivery() { + + SupplyChainTradeDeliveryType tradeDelivery = xmlFactory.createSupplyChainTradeDeliveryType(); + SupplyChainEventType deliveryEvent = xmlFactory.createSupplyChainEventType(); + DateTimeType deliveryDate = xmlFactory.createDateTimeType(); + DateTimeType.DateTimeString deliveryDateString = xmlFactory.createDateTimeTypeDateTimeString(); + deliveryDateString.setFormat(DateTimeType.DateTimeString.DATE); + deliveryDateString.setValue(zugferdDateFormat.format(trans.getDeliveryDate())); + deliveryDate.setDateTimeString(deliveryDateString); + deliveryEvent.getOccurrenceDateTime().add(deliveryDate); + tradeDelivery.getActualDeliverySupplyChainEvent().add(deliveryEvent); + + return tradeDelivery; + } + + private SupplyChainTradeSettlementType getTradeSettlement() { + SupplyChainTradeSettlementType tradeSettlement = xmlFactory.createSupplyChainTradeSettlementType(); + + TextType paymentReference = xmlFactory.createTextType(); + paymentReference.setValue(trans.getNumber()); + tradeSettlement.getPaymentReference().add(paymentReference); + + CodeType currencyCode = xmlFactory.createCodeType(); + currencyCode.setValue(trans.getInvoiceCurrency()); + tradeSettlement.setInvoiceCurrencyCode(currencyCode); + + tradeSettlement.getSpecifiedTradeSettlementPaymentMeans().add(this.getPaymentData()); + tradeSettlement.getApplicableTradeTax().addAll(this.getTradeTax()); + tradeSettlement.getSpecifiedTradePaymentTerms().addAll(this.getPaymentTerms()); + tradeSettlement.setSpecifiedTradeSettlementMonetarySummation(this.getMonetarySummation()); + + return tradeSettlement; + } + + private TradeSettlementPaymentMeansType getPaymentData() { + TradeSettlementPaymentMeansType paymentData = xmlFactory.createTradeSettlementPaymentMeansType(); + PaymentMeansCodeType paymentDataType = xmlFactory.createPaymentMeansCodeType(); + paymentDataType.setValue(PaymentMeansCodeType.BANKACCOUNT); + paymentData.setTypeCode(paymentDataType); + + TextType paymentInfo = xmlFactory.createTextType(); + paymentInfo.setValue(trans.getOwnPaymentInfoText()); + paymentData.getInformation().add(paymentInfo); + + CreditorFinancialAccountType bankAccount = xmlFactory.createCreditorFinancialAccountType(); + IDType iban = xmlFactory.createIDType(); + iban.setValue(trans.getOwnIBAN()); + bankAccount.setIBANID(iban); + paymentData.setPayeePartyCreditorFinancialAccount(bankAccount); + + CreditorFinancialInstitutionType bankData = xmlFactory.createCreditorFinancialInstitutionType(); + IDType bicId = xmlFactory.createIDType(); + bicId.setValue(trans.getOwnBIC()); + bankData.setBICID(bicId); + TextType bankName = xmlFactory.createTextType(); + bankName.setValue(trans.getOwnBankName()); + bankData.setName(bankName); + paymentData.setPayeeSpecifiedCreditorFinancialInstitution(bankData); + return paymentData; + } + + private Collection getTradeTax() { + List tradeTaxTypes = new ArrayList(); + + HashMap VATPercentAmountMap = this.getVATPercentAmountMap(); + for (BigDecimal currentTaxPercent : VATPercentAmountMap.keySet()) { + + TradeTaxType tradeTax = xmlFactory.createTradeTaxType(); + TaxTypeCodeType taxTypeCode = xmlFactory.createTaxTypeCodeType(); + taxTypeCode.setValue(TaxTypeCodeType.SALESTAX); + tradeTax.setTypeCode(taxTypeCode); + + TaxCategoryCodeType taxCategoryCode = xmlFactory.createTaxCategoryCodeType(); + taxCategoryCode.setValue(TaxCategoryCodeType.STANDARDRATE); + tradeTax.setCategoryCode(taxCategoryCode); + + VATAmount amount = VATPercentAmountMap.get(currentTaxPercent); + + PercentType taxPercent = xmlFactory.createPercentType(); + taxPercent.setValue(vatFormat(currentTaxPercent)); + tradeTax.setApplicablePercent(taxPercent); + + AmountType calculatedTaxAmount = xmlFactory.createAmountType(); + calculatedTaxAmount.setCurrencyID(trans.getInvoiceCurrency()); + calculatedTaxAmount.setValue(currencyFormat(amount.getCalculated())); + tradeTax.getCalculatedAmount().add(calculatedTaxAmount); + + AmountType basisTaxAmount = xmlFactory.createAmountType(); + basisTaxAmount.setCurrencyID(trans.getInvoiceCurrency()); + basisTaxAmount.setValue(currencyFormat(amount.getBasis())); + tradeTax.getBasisAmount().add(basisTaxAmount); + + tradeTaxTypes.add(tradeTax); + } + + return tradeTaxTypes; + } + + private Collection getPaymentTerms() { + List paymentTerms = new ArrayList(); + + TradePaymentTermsType paymentTerm = xmlFactory.createTradePaymentTermsType(); + DateTimeType dueDate = xmlFactory.createDateTimeType(); + DateTimeType.DateTimeString dueDateString = xmlFactory.createDateTimeTypeDateTimeString(); + dueDateString.setFormat(DateTimeType.DateTimeString.DATE); + dueDateString.setValue(zugferdDateFormat.format(trans.getDueDate())); + dueDate.setDateTimeString(dueDateString); + paymentTerm.setDueDateDateTime(dueDate); + + TextType paymentTermDescr = xmlFactory.createTextType(); + + paymentTermDescr.setValue(trans.getPaymentTermDescription()); + paymentTerm.getDescription().add(paymentTermDescr); + + paymentTerms.add(paymentTerm); + + return paymentTerms; + } + + private TradeSettlementMonetarySummationType getMonetarySummation() { + TradeSettlementMonetarySummationType monetarySummation = xmlFactory.createTradeSettlementMonetarySummationType(); + AmountType allowanceTotalAmount = xmlFactory.createAmountType(); + allowanceTotalAmount.setCurrencyID(trans.getInvoiceCurrency()); + allowanceTotalAmount.setValue(currencyFormat(BigDecimal.ZERO)); + monetarySummation.getAllowanceTotalAmount().add(allowanceTotalAmount); + + AmountType chargeTotalAmount = xmlFactory.createAmountType(); + chargeTotalAmount.setCurrencyID(trans.getInvoiceCurrency()); + chargeTotalAmount.setValue(currencyFormat(BigDecimal.ZERO)); + monetarySummation.getChargeTotalAmount().add(chargeTotalAmount); + + AmountType lineTotalAmount = xmlFactory.createAmountType(); + lineTotalAmount.setCurrencyID(trans.getInvoiceCurrency()); + lineTotalAmount.setValue(currencyFormat(this.getTotal())); + monetarySummation.getLineTotalAmount().add(lineTotalAmount); + + AmountType taxBasisTotalAmount = xmlFactory.createAmountType(); + taxBasisTotalAmount.setCurrencyID(trans.getInvoiceCurrency()); + taxBasisTotalAmount.setValue(currencyFormat(this.getTotal())); + monetarySummation.getTaxBasisTotalAmount().add(taxBasisTotalAmount); + + AmountType taxTotalAmount = xmlFactory.createAmountType(); + taxTotalAmount.setCurrencyID(trans.getInvoiceCurrency()); + taxTotalAmount.setValue(currencyFormat(this.getTotalGross().subtract(this.getTotal()))); + monetarySummation.getTaxTotalAmount().add(taxTotalAmount); + + AmountType grandTotalAmount = xmlFactory.createAmountType(); + grandTotalAmount.setCurrencyID(trans.getInvoiceCurrency()); + grandTotalAmount.setValue(currencyFormat(this.getTotalGross())); + monetarySummation.getGrandTotalAmount().add(grandTotalAmount); + + AmountType duePayableAmount = xmlFactory.createAmountType(); + duePayableAmount.setCurrencyID(trans.getInvoiceCurrency()); + duePayableAmount.setValue(currencyFormat(this.getTotalGross())); + monetarySummation.getDuePayableAmount().add(duePayableAmount); + + return monetarySummation; + } + + private Collection getLineItems() { + + ArrayList lineItems = new ArrayList(); + int lineID = 0; + for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { + lineID++; + LineCalc lc = new LineCalc(currentItem); + SupplyChainTradeLineItemType lineItem = xmlFactory.createSupplyChainTradeLineItemType(); + + DocumentLineDocumentType lineDocument = xmlFactory.createDocumentLineDocumentType(); + IDType lineNumber = xmlFactory.createIDType(); + lineNumber.setValue(Integer.toString(lineID)); + lineDocument.setLineID(lineNumber); + lineItem.setAssociatedDocumentLineDocument(lineDocument); + + SupplyChainTradeAgreementType tradeAgreement = xmlFactory.createSupplyChainTradeAgreementType(); + TradePriceType grossTradePrice = xmlFactory.createTradePriceType(); + QuantityType grossQuantity = xmlFactory.createQuantityType(); + grossQuantity.setUnitCode(currentItem.getProduct().getUnit()); + grossQuantity.setValue(quantityFormat(BigDecimal.ONE)); + grossTradePrice.setBasisQuantity(grossQuantity); + + AmountType grossChargeAmount = xmlFactory.createAmountType(); + grossChargeAmount.setCurrencyID(trans.getInvoiceCurrency()); + grossChargeAmount.setValue(currencyFormat(currentItem.getPrice())); + grossTradePrice.getChargeAmount().add(grossChargeAmount); + tradeAgreement.getGrossPriceProductTradePrice().add(grossTradePrice); + + TradePriceType netTradePrice = xmlFactory.createTradePriceType(); + QuantityType netQuantity = xmlFactory.createQuantityType(); + netQuantity.setUnitCode(currentItem.getProduct().getUnit()); + netQuantity.setValue(quantityFormat(BigDecimal.ONE)); + netTradePrice.setBasisQuantity(netQuantity); + + AmountType netChargeAmount = xmlFactory.createAmountType(); + netChargeAmount.setCurrencyID(trans.getInvoiceCurrency()); + netChargeAmount.setValue(currencyFormat(currentItem.getPrice())); + netTradePrice.getChargeAmount().add(netChargeAmount); + tradeAgreement.getNetPriceProductTradePrice().add(netTradePrice); + + lineItem.setSpecifiedSupplyChainTradeAgreement(tradeAgreement); + + SupplyChainTradeDeliveryType tradeDelivery = xmlFactory.createSupplyChainTradeDeliveryType(); + QuantityType billedQuantity = xmlFactory.createQuantityType(); + billedQuantity.setUnitCode(currentItem.getProduct().getUnit()); + billedQuantity.setValue(quantityFormat(currentItem.getQuantity())); + tradeDelivery.setBilledQuantity(billedQuantity); + lineItem.setSpecifiedSupplyChainTradeDelivery(tradeDelivery); + + SupplyChainTradeSettlementType tradeSettlement = xmlFactory.createSupplyChainTradeSettlementType(); + TradeTaxType tradeTax = xmlFactory.createTradeTaxType(); + PercentType taxPercent = xmlFactory.createPercentType(); + taxPercent.setValue(vatFormat(currentItem.getProduct().getVATPercent())); + tradeTax.setApplicablePercent(taxPercent); + tradeSettlement.getApplicableTradeTax().add(tradeTax); + + TradeSettlementMonetarySummationType monetarySummation = xmlFactory.createTradeSettlementMonetarySummationType(); + AmountType itemAmount = xmlFactory.createAmountType(); + itemAmount.setCurrencyID(trans.getInvoiceCurrency()); + itemAmount.setValue(currencyFormat(lc.getItemTotalNetAmount())); + monetarySummation.getLineTotalAmount().add(itemAmount); + tradeSettlement.setSpecifiedTradeSettlementMonetarySummation(monetarySummation); + + lineItem.setSpecifiedSupplyChainTradeSettlement(tradeSettlement); + + TradeProductType tradeProduct = xmlFactory.createTradeProductType(); + TextType productName = xmlFactory.createTextType(); + productName.setValue(currentItem.getProduct().getName()); + tradeProduct.getName().add(productName); + + TextType productDescription = xmlFactory.createTextType(); + productDescription.setValue(currentItem.getProduct().getDescription()); + tradeProduct.getDescription().add(productDescription); + lineItem.setSpecifiedTradeProduct(tradeProduct); + + lineItems.add(lineItem); + } + + return lineItems; + + } + + private BigDecimal getTotalGross() { + + BigDecimal res = getTotal(); + HashMap VATPercentAmountMap = getVATPercentAmountMap(); + for (BigDecimal currentTaxPercent : VATPercentAmountMap.keySet()) { + VATAmount amount = VATPercentAmountMap.get(currentTaxPercent); + res = res.add(amount.getCalculated()); + } + + return res; + } + + private BigDecimal getTotal() { + BigDecimal res = new BigDecimal(0); + for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { + LineCalc lc = new LineCalc(currentItem); + res = res.add(lc.getItemTotalNetAmount()); + } + return res; + } + + /** + * which taxes have been used with which amounts in this transaction, empty + * for no taxes, or e.g. 19=>190 and 7=>14 if 1000 Eur were applicable to + * 19% VAT (=>190 EUR VAT) and 200 EUR were applicable to 7% (=>14 EUR VAT) + * 190 Eur + * + * @return + * + */ + private HashMap getVATPercentAmountMap() { + HashMap hm = new HashMap(); + + for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { + BigDecimal percent = currentItem.getProduct().getVATPercent(); + LineCalc lc = new LineCalc(currentItem); + VATAmount itemVATAmount = new VATAmount(lc.getItemTotalNetAmount(), lc.getItemTotalVATAmount()); + VATAmount current = hm.get(percent); + if (current == null) { + hm.put(percent, itemVATAmount); + } else { + hm.put(percent, current.add(itemVATAmount)); + + } + } + + return hm; + } + + /** + * Embeds the Zugferd XML structure in a file named ZUGFeRD-invoice.xml. + * + * @param doc PDDocument to attach an XML invoice to + * @param trans a IZUGFeRDExportableTransaction that provides the data-model + * to populate the XML. This parameter may be null, if so the XML data + * should hav ebeen set via + * setZUGFeRDXMLData(byte[] zugferdData) + */ + public void PDFattachZugferdFile(PDDocument doc, IZUGFeRDExportableTransaction trans) throws IOException, JAXBException { + + if (zugferdData == null) // XML ZUGFeRD data not set externally, needs to be built + { + // create a dummy file stream, this would probably normally be a + // FileInputStream + + byte[] zugferdRaw = getZugferdXMLForTransaction(trans).getBytes("UTF-8"); //$NON-NLS-1$ + + if ((zugferdRaw[0] == (byte) 0xEF) && (zugferdRaw[1] == (byte) 0xBB) && (zugferdRaw[2] == (byte) 0xBF)) { + // I don't like BOMs, lets remove it + zugferdData = new byte[zugferdRaw.length - 3]; + System.arraycopy(zugferdRaw, 3, zugferdData, 0, zugferdRaw.length - 3); + } else { + zugferdData = zugferdRaw; + } + } + + PDFAttachGenericFile(doc, "ZUGFeRD-invoice.xml", "Alternative", "Invoice metadata conforming to ZUGFeRD standard (http://www.ferd-net.de/front_content.php?idcat=231&lang=4)", "text/xml", zugferdData); + } + + /** + * Embeds an external file (generic - any type allowed) in the PDF. + * + * @param doc PDDocument to attach the file to. + * @param filename name of the file that will become attachment name in the + * PDF + * @param relationship how the file relates to the content, e.g. + * "Alternative" + * @param description Human-readable description of the file content + * @param subType type of the data e.g. could be "text/xml" - mime like + * @param data the binary data of the file/attachment + */ + public void PDFAttachGenericFile(PDDocument doc, String filename, String relationship, String description, String subType, byte[] data) + throws IOException { + PDComplexFileSpecification fs = new PDComplexFileSpecification(); + fs.setFile(filename); + + COSDictionary dict = fs.getCOSDictionary(); + dict.setName("AFRelationship", relationship); + dict.setString("UF", filename); + dict.setString("Desc", description); + + ByteArrayInputStream fakeFile = new ByteArrayInputStream(data); + PDEmbeddedFile ef = new PDEmbeddedFile(doc, fakeFile); + ef.setSubtype(subType); + ef.setSize(data.length); + ef.setCreationDate(new GregorianCalendar()); + + ef.setModDate(GregorianCalendar.getInstance()); + + fs.setEmbeddedFile(ef); + + // In addition make sure the embedded file is set under /UF + dict = fs.getCOSDictionary(); + COSDictionary efDict = (COSDictionary) dict.getDictionaryObject(COSName.EF); + COSBase lowerLevelFile = efDict.getItem(COSName.F); + efDict.setItem(COSName.UF, lowerLevelFile); + + // now add the entry to the embedded file tree and set in the document. + PDDocumentNameDictionary names = new PDDocumentNameDictionary(doc.getDocumentCatalog()); + PDEmbeddedFilesNameTreeNode efTree = names.getEmbeddedFiles(); + if (efTree == null) { + efTree = new PDEmbeddedFilesNameTreeNode(); + } + + Map namesMap = new HashMap(); + Map oldNamesMap = efTree.getNames(); + if (oldNamesMap != null) { + for (String key : oldNamesMap.keySet()) { + namesMap.put(key, oldNamesMap.get(key)); + } + } + namesMap.put(filename, fs); + efTree.setNames(namesMap); + + names.setEmbeddedFiles(efTree); + doc.getDocumentCatalog().setNames(names); + + // AF entry (Array) in catalog with the FileSpec + COSArray cosArray = (COSArray) doc.getDocumentCatalog().getCOSDictionary().getItem("AF"); + if (cosArray == null) { + cosArray = new COSArray(); + } + cosArray.add(fs); + doc.getDocumentCatalog().getCOSDictionary().setItem("AF", cosArray); + } + + /** + * Sets the ZUGFeRD XML data to be attached as a single byte array. This is + * useful for use-cases where the XML has already been produced by some + * external API or component. + * + * @param zugferdData XML data to be set as a byte array (XML file in raw + * form). + */ + public void setZUGFeRDXMLData(byte[] zugferdData) { + this.zugferdData = zugferdData; + } + + /** + * Sets the ZUGFeRD conformance level (override). + * + * @param ZUGFeRDConformanceLevel the new conformance level + */ + public void setZUGFeRDConformanceLevel(String ZUGFeRDConformanceLevel) { + this.ZUGFeRDConformanceLevel = ZUGFeRDConformanceLevel; + } + + /** + * * + * This will add both the RDF-indication which embedded file is Zugferd and + * the neccessary PDF/A schema extension description to be able to add this + * information to RDF + * + * @param metadata + */ + private void addZugferdXMP(XMPMetadata metadata) { + + XMPSchemaZugferd zf = new XMPSchemaZugferd(metadata, this.ZUGFeRDConformanceLevel); + zf.setAbout(""); //$NON-NLS-1$ + metadata.addSchema(zf); + + XMPSchemaPDFAExtensions pdfaex = new XMPSchemaPDFAExtensions(metadata); + pdfaex.setAbout(""); //$NON-NLS-1$ + metadata.addSchema(pdfaex); + + } } diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/AllowanceChargeReasonCodeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/AllowanceChargeReasonCodeType.java new file mode 100644 index 00000000..5220fd23 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/AllowanceChargeReasonCodeType.java @@ -0,0 +1,69 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r AllowanceChargeReasonCodeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AllowanceChargeReasonCodeType">
+ *   <simpleContent>
+ *     <extension base="<urn:un:unece:uncefact:data:standard:QualifiedDataType:12>AllowanceChargeReasonCodeContentType">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AllowanceChargeReasonCodeType", namespace = "urn:un:unece:uncefact:data:standard:QualifiedDataType:12", propOrder = { + "value" +}) +public class AllowanceChargeReasonCodeType { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/AmountType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/AmountType.java new file mode 100644 index 00000000..0ab2dac3 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/AmountType.java @@ -0,0 +1,98 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import java.math.BigDecimal; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r AmountType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="AmountType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>decimal">
+ *       <attribute name="currencyID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountTypeCurrencyIDContentType" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AmountType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "value" +}) +public class AmountType { + + @XmlValue + protected BigDecimal value; + @XmlAttribute(name = "currencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String currencyID; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link BigDecimal } + * + */ + public BigDecimal getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BigDecimal } + * + */ + public void setValue(BigDecimal value) { + this.value = value; + } + + /** + * Ruft den Wert der currencyID-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getCurrencyID() { + return currencyID; + } + + /** + * Legt den Wert der currencyID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setCurrencyID(String value) { + this.currencyID = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CodeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CodeType.java new file mode 100644 index 00000000..867c1cd1 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CodeType.java @@ -0,0 +1,130 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r CodeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CodeType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>token">
+ *       <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" />
+ *       <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CodeType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "value" +}) +public class CodeType { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Ruft den Wert der listID-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Legt den Wert der listID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Ruft den Wert der listVersionID-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Legt den Wert der listVersionID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CountryIDType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CountryIDType.java new file mode 100644 index 00000000..726dc394 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CountryIDType.java @@ -0,0 +1,69 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r CountryIDType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CountryIDType">
+ *   <simpleContent>
+ *     <extension base="<urn:un:unece:uncefact:data:standard:QualifiedDataType:12>CountryIDContentType">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CountryIDType", namespace = "urn:un:unece:uncefact:data:standard:QualifiedDataType:12", propOrder = { + "value" +}) +public class CountryIDType { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CreditorFinancialAccountType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CreditorFinancialAccountType.java new file mode 100644 index 00000000..48f9bef1 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CreditorFinancialAccountType.java @@ -0,0 +1,125 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r CreditorFinancialAccountType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CreditorFinancialAccountType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="IBANID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="AccountName" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *         <element name="ProprietaryID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CreditorFinancialAccountType", propOrder = { + "ibanid", + "accountName", + "proprietaryID" +}) +public class CreditorFinancialAccountType { + + @XmlElement(name = "IBANID") + protected IDType ibanid; + @XmlElement(name = "AccountName") + protected TextType accountName; + @XmlElement(name = "ProprietaryID") + protected IDType proprietaryID; + + /** + * Ruft den Wert der ibanid-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getIBANID() { + return ibanid; + } + + /** + * Legt den Wert der ibanid-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setIBANID(IDType value) { + this.ibanid = value; + } + + /** + * Ruft den Wert der accountName-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getAccountName() { + return accountName; + } + + /** + * Legt den Wert der accountName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setAccountName(TextType value) { + this.accountName = value; + } + + /** + * Ruft den Wert der proprietaryID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getProprietaryID() { + return proprietaryID; + } + + /** + * Legt den Wert der proprietaryID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setProprietaryID(IDType value) { + this.proprietaryID = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CreditorFinancialInstitutionType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CreditorFinancialInstitutionType.java new file mode 100644 index 00000000..b420f083 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CreditorFinancialInstitutionType.java @@ -0,0 +1,125 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r CreditorFinancialInstitutionType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CreditorFinancialInstitutionType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BICID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="GermanBankleitzahlID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="Name" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CreditorFinancialInstitutionType", propOrder = { + "bicid", + "germanBankleitzahlID", + "name" +}) +public class CreditorFinancialInstitutionType { + + @XmlElement(name = "BICID") + protected IDType bicid; + @XmlElement(name = "GermanBankleitzahlID") + protected IDType germanBankleitzahlID; + @XmlElement(name = "Name") + protected TextType name; + + /** + * Ruft den Wert der bicid-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getBICID() { + return bicid; + } + + /** + * Legt den Wert der bicid-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setBICID(IDType value) { + this.bicid = value; + } + + /** + * Ruft den Wert der germanBankleitzahlID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getGermanBankleitzahlID() { + return germanBankleitzahlID; + } + + /** + * Legt den Wert der germanBankleitzahlID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setGermanBankleitzahlID(IDType value) { + this.germanBankleitzahlID = value; + } + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setName(TextType value) { + this.name = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CrossIndustryDocumentType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CrossIndustryDocumentType.java new file mode 100644 index 00000000..ef5859e8 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/CrossIndustryDocumentType.java @@ -0,0 +1,128 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r CrossIndustryDocumentType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="CrossIndustryDocumentType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SpecifiedExchangedDocumentContext" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ExchangedDocumentContextType"/>
+ *         <element name="HeaderExchangedDocument" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ExchangedDocumentType"/>
+ *         <element name="SpecifiedSupplyChainTradeTransaction" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainTradeTransactionType"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name="CrossIndustryDocumentType", namespace="urn:ferd:CrossIndustryDocument:invoice:1p0") +@XmlType(name = "CrossIndustryDocumentType", namespace = "urn:ferd:CrossIndustryDocument:invoice:1p0", propOrder = { + "specifiedExchangedDocumentContext", + "headerExchangedDocument", + "specifiedSupplyChainTradeTransaction" +}) +public class CrossIndustryDocumentType { + + @XmlElement(name = "SpecifiedExchangedDocumentContext", required = true) + protected ExchangedDocumentContextType specifiedExchangedDocumentContext; + @XmlElement(name = "HeaderExchangedDocument", required = true) + protected ExchangedDocumentType headerExchangedDocument; + @XmlElement(name = "SpecifiedSupplyChainTradeTransaction", required = true) + protected SupplyChainTradeTransactionType specifiedSupplyChainTradeTransaction; + + /** + * Ruft den Wert der specifiedExchangedDocumentContext-Eigenschaft ab. + * + * @return + * possible object is + * {@link ExchangedDocumentContextType } + * + */ + public ExchangedDocumentContextType getSpecifiedExchangedDocumentContext() { + return specifiedExchangedDocumentContext; + } + + /** + * Legt den Wert der specifiedExchangedDocumentContext-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ExchangedDocumentContextType } + * + */ + public void setSpecifiedExchangedDocumentContext(ExchangedDocumentContextType value) { + this.specifiedExchangedDocumentContext = value; + } + + /** + * Ruft den Wert der headerExchangedDocument-Eigenschaft ab. + * + * @return + * possible object is + * {@link ExchangedDocumentType } + * + */ + public ExchangedDocumentType getHeaderExchangedDocument() { + return headerExchangedDocument; + } + + /** + * Legt den Wert der headerExchangedDocument-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ExchangedDocumentType } + * + */ + public void setHeaderExchangedDocument(ExchangedDocumentType value) { + this.headerExchangedDocument = value; + } + + /** + * Ruft den Wert der specifiedSupplyChainTradeTransaction-Eigenschaft ab. + * + * @return + * possible object is + * {@link SupplyChainTradeTransactionType } + * + */ + public SupplyChainTradeTransactionType getSpecifiedSupplyChainTradeTransaction() { + return specifiedSupplyChainTradeTransaction; + } + + /** + * Legt den Wert der specifiedSupplyChainTradeTransaction-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SupplyChainTradeTransactionType } + * + */ + public void setSpecifiedSupplyChainTradeTransaction(SupplyChainTradeTransactionType value) { + this.specifiedSupplyChainTradeTransaction = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DateTimeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DateTimeType.java new file mode 100644 index 00000000..52c45f22 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DateTimeType.java @@ -0,0 +1,162 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; + + +/** + *

Java-Klasse f�r DateTimeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DateTimeType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <choice>
+ *         <element name="DateTimeString">
+ *           <complexType>
+ *             <simpleContent>
+ *               <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ *                 <attribute name="format" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *               </extension>
+ *             </simpleContent>
+ *           </complexType>
+ *         </element>
+ *       </choice>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DateTimeType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "dateTimeString" +}) +public class DateTimeType { + + @XmlElement(name = "DateTimeString") + protected DateTimeType.DateTimeString dateTimeString; + + /** + * Ruft den Wert der dateTimeString-Eigenschaft ab. + * + * @return + * possible object is + * {@link DateTimeType.DateTimeString } + * + */ + public DateTimeType.DateTimeString getDateTimeString() { + return dateTimeString; + } + + /** + * Legt den Wert der dateTimeString-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DateTimeType.DateTimeString } + * + */ + public void setDateTimeString(DateTimeType.DateTimeString value) { + this.dateTimeString = value; + } + + + /** + *

Java-Klasse f�r anonymous complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+     * <complexType>
+     *   <simpleContent>
+     *     <extension base="<http://www.w3.org/2001/XMLSchema>string">
+     *       <attribute name="format" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *     </extension>
+     *   </simpleContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DateTimeString { + + public static final String DATE = "102"; + public static final String MONTH = "610"; + public static final String WEEK = "616"; + + @XmlValue + protected String value; + @XmlAttribute(name = "format") + protected String format; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Ruft den Wert der format-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getFormat() { + return format; + } + + /** + * Legt den Wert der format-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setFormat(String value) { + this.format = value; + } + + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DebtorFinancialAccountType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DebtorFinancialAccountType.java new file mode 100644 index 00000000..5bebb29e --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DebtorFinancialAccountType.java @@ -0,0 +1,97 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r DebtorFinancialAccountType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DebtorFinancialAccountType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="IBANID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="ProprietaryID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DebtorFinancialAccountType", propOrder = { + "ibanid", + "proprietaryID" +}) +public class DebtorFinancialAccountType { + + @XmlElement(name = "IBANID") + protected IDType ibanid; + @XmlElement(name = "ProprietaryID") + protected IDType proprietaryID; + + /** + * Ruft den Wert der ibanid-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getIBANID() { + return ibanid; + } + + /** + * Legt den Wert der ibanid-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setIBANID(IDType value) { + this.ibanid = value; + } + + /** + * Ruft den Wert der proprietaryID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getProprietaryID() { + return proprietaryID; + } + + /** + * Legt den Wert der proprietaryID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setProprietaryID(IDType value) { + this.proprietaryID = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DebtorFinancialInstitutionType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DebtorFinancialInstitutionType.java new file mode 100644 index 00000000..fb3a222e --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DebtorFinancialInstitutionType.java @@ -0,0 +1,125 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r DebtorFinancialInstitutionType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DebtorFinancialInstitutionType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BICID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="GermanBankleitzahlID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="Name" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DebtorFinancialInstitutionType", propOrder = { + "bicid", + "germanBankleitzahlID", + "name" +}) +public class DebtorFinancialInstitutionType { + + @XmlElement(name = "BICID") + protected IDType bicid; + @XmlElement(name = "GermanBankleitzahlID") + protected IDType germanBankleitzahlID; + @XmlElement(name = "Name") + protected TextType name; + + /** + * Ruft den Wert der bicid-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getBICID() { + return bicid; + } + + /** + * Legt den Wert der bicid-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setBICID(IDType value) { + this.bicid = value; + } + + /** + * Ruft den Wert der germanBankleitzahlID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getGermanBankleitzahlID() { + return germanBankleitzahlID; + } + + /** + * Legt den Wert der germanBankleitzahlID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setGermanBankleitzahlID(IDType value) { + this.germanBankleitzahlID = value; + } + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setName(TextType value) { + this.name = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DeliveryTermsCodeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DeliveryTermsCodeType.java new file mode 100644 index 00000000..f17d00b8 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DeliveryTermsCodeType.java @@ -0,0 +1,69 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r DeliveryTermsCodeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DeliveryTermsCodeType">
+ *   <simpleContent>
+ *     <extension base="<urn:un:unece:uncefact:data:standard:QualifiedDataType:12>DeliveryTermsCodeContentType">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DeliveryTermsCodeType", namespace = "urn:un:unece:uncefact:data:standard:QualifiedDataType:12", propOrder = { + "value" +}) +public class DeliveryTermsCodeType { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DocumentCodeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DocumentCodeType.java new file mode 100644 index 00000000..da849b42 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DocumentCodeType.java @@ -0,0 +1,73 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r DocumentCodeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DocumentCodeType">
+ *   <simpleContent>
+ *     <extension base="<urn:un:unece:uncefact:data:standard:QualifiedDataType:12>DocumentCodeContentType">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DocumentCodeType", namespace = "urn:un:unece:uncefact:data:standard:QualifiedDataType:12", propOrder = { + "value" +}) +public class DocumentCodeType { + + public static final String INVOICE = "380"; + public static final String DEBITNOTE = "84"; + public static final String CREDITNOTE = "389"; + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DocumentContextParameterType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DocumentContextParameterType.java new file mode 100644 index 00000000..a085d183 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DocumentContextParameterType.java @@ -0,0 +1,72 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r DocumentContextParameterType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DocumentContextParameterType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DocumentContextParameterType", propOrder = { + "id" +}) +public class DocumentContextParameterType { + + public static final String COMFORT = "urn:ferd:CrossIndustryDocument:invoice:1p0:comfort"; + public static final String EXTENDED = "urn:ferd:CrossIndustryDocument:invoice:1p0:extended"; + + @XmlElement(name = "ID") + protected IDType id; + + /** + * Ruft den Wert der id-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getID() { + return id; + } + + /** + * Legt den Wert der id-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setID(IDType value) { + this.id = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DocumentLineDocumentType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DocumentLineDocumentType.java new file mode 100644 index 00000000..64a7057c --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/DocumentLineDocumentType.java @@ -0,0 +1,104 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r DocumentLineDocumentType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="DocumentLineDocumentType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="LineID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="IncludedNote" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}NoteType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "DocumentLineDocumentType", propOrder = { + "lineID", + "includedNote" +}) +public class DocumentLineDocumentType { + + @XmlElement(name = "LineID") + protected IDType lineID; + @XmlElement(name = "IncludedNote") + protected List includedNote; + + /** + * Ruft den Wert der lineID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getLineID() { + return lineID; + } + + /** + * Legt den Wert der lineID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setLineID(IDType value) { + this.lineID = value; + } + + /** + * Gets the value of the includedNote property. + * + *

+ * 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 set method for the includedNote property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getIncludedNote().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link NoteType } + * + * + */ + public List getIncludedNote() { + if (includedNote == null) { + includedNote = new ArrayList(); + } + return this.includedNote; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ExchangedDocumentContextType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ExchangedDocumentContextType.java new file mode 100644 index 00000000..e33b7ed7 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ExchangedDocumentContextType.java @@ -0,0 +1,137 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r ExchangedDocumentContextType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ExchangedDocumentContextType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TestIndicator" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IndicatorType" minOccurs="0"/>
+ *         <element name="BusinessProcessSpecifiedDocumentContextParameter" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}DocumentContextParameterType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="GuidelineSpecifiedDocumentContextParameter" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}DocumentContextParameterType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExchangedDocumentContextType", propOrder = { + "testIndicator", + "businessProcessSpecifiedDocumentContextParameter", + "guidelineSpecifiedDocumentContextParameter" +}) +public class ExchangedDocumentContextType { + + @XmlElement(name = "TestIndicator") + protected IndicatorType testIndicator; + @XmlElement(name = "BusinessProcessSpecifiedDocumentContextParameter") + protected List businessProcessSpecifiedDocumentContextParameter; + @XmlElement(name = "GuidelineSpecifiedDocumentContextParameter") + protected List guidelineSpecifiedDocumentContextParameter; + + /** + * Ruft den Wert der testIndicator-Eigenschaft ab. + * + * @return + * possible object is + * {@link IndicatorType } + * + */ + public IndicatorType getTestIndicator() { + return testIndicator; + } + + /** + * Legt den Wert der testIndicator-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IndicatorType } + * + */ + public void setTestIndicator(IndicatorType value) { + this.testIndicator = value; + } + + /** + * Gets the value of the businessProcessSpecifiedDocumentContextParameter property. + * + *

+ * 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 set method for the businessProcessSpecifiedDocumentContextParameter property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBusinessProcessSpecifiedDocumentContextParameter().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DocumentContextParameterType } + * + * + */ + public List getBusinessProcessSpecifiedDocumentContextParameter() { + if (businessProcessSpecifiedDocumentContextParameter == null) { + businessProcessSpecifiedDocumentContextParameter = new ArrayList(); + } + return this.businessProcessSpecifiedDocumentContextParameter; + } + + /** + * Gets the value of the guidelineSpecifiedDocumentContextParameter property. + * + *

+ * 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 set method for the guidelineSpecifiedDocumentContextParameter property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getGuidelineSpecifiedDocumentContextParameter().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DocumentContextParameterType } + * + * + */ + public List getGuidelineSpecifiedDocumentContextParameter() { + if (guidelineSpecifiedDocumentContextParameter == null) { + guidelineSpecifiedDocumentContextParameter = new ArrayList(); + } + return this.guidelineSpecifiedDocumentContextParameter; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ExchangedDocumentType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ExchangedDocumentType.java new file mode 100644 index 00000000..d6b6f2d2 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ExchangedDocumentType.java @@ -0,0 +1,282 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r ExchangedDocumentType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ExchangedDocumentType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="Name" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="TypeCode" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}DocumentCodeType" minOccurs="0"/>
+ *         <element name="IssueDateTime" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}DateTimeType" minOccurs="0"/>
+ *         <element name="CopyIndicator" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IndicatorType" minOccurs="0"/>
+ *         <element name="LanguageID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="IncludedNote" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}NoteType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="EffectiveSpecifiedPeriod" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SpecifiedPeriodType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ExchangedDocumentType", propOrder = { + "id", + "name", + "typeCode", + "issueDateTime", + "copyIndicator", + "languageID", + "includedNote", + "effectiveSpecifiedPeriod" +}) +public class ExchangedDocumentType { + + @XmlElement(name = "ID") + protected IDType id; + @XmlElement(name = "Name") + protected List name; + @XmlElement(name = "TypeCode") + protected DocumentCodeType typeCode; + @XmlElement(name = "IssueDateTime") + protected DateTimeType issueDateTime; + @XmlElement(name = "CopyIndicator") + protected IndicatorType copyIndicator; + @XmlElement(name = "LanguageID") + protected List languageID; + @XmlElement(name = "IncludedNote") + protected List includedNote; + @XmlElement(name = "EffectiveSpecifiedPeriod") + protected SpecifiedPeriodType effectiveSpecifiedPeriod; + + /** + * Ruft den Wert der id-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getID() { + return id; + } + + /** + * Legt den Wert der id-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setID(IDType value) { + this.id = value; + } + + /** + * Gets the value of the name property. + * + *

+ * 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 set method for the name property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getName().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getName() { + if (name == null) { + name = new ArrayList(); + } + return this.name; + } + + /** + * Ruft den Wert der typeCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link DocumentCodeType } + * + */ + public DocumentCodeType getTypeCode() { + return typeCode; + } + + /** + * Legt den Wert der typeCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DocumentCodeType } + * + */ + public void setTypeCode(DocumentCodeType value) { + this.typeCode = value; + } + + /** + * Ruft den Wert der issueDateTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link DateTimeType } + * + */ + public DateTimeType getIssueDateTime() { + return issueDateTime; + } + + /** + * Legt den Wert der issueDateTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DateTimeType } + * + */ + public void setIssueDateTime(DateTimeType value) { + this.issueDateTime = value; + } + + /** + * Ruft den Wert der copyIndicator-Eigenschaft ab. + * + * @return + * possible object is + * {@link IndicatorType } + * + */ + public IndicatorType getCopyIndicator() { + return copyIndicator; + } + + /** + * Legt den Wert der copyIndicator-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IndicatorType } + * + */ + public void setCopyIndicator(IndicatorType value) { + this.copyIndicator = value; + } + + /** + * Gets the value of the languageID property. + * + *

+ * 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 set method for the languageID property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getLanguageID().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IDType } + * + * + */ + public List getLanguageID() { + if (languageID == null) { + languageID = new ArrayList(); + } + return this.languageID; + } + + /** + * Gets the value of the includedNote property. + * + *

+ * 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 set method for the includedNote property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getIncludedNote().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link NoteType } + * + * + */ + public List getIncludedNote() { + if (includedNote == null) { + includedNote = new ArrayList(); + } + return this.includedNote; + } + + /** + * Ruft den Wert der effectiveSpecifiedPeriod-Eigenschaft ab. + * + * @return + * possible object is + * {@link SpecifiedPeriodType } + * + */ + public SpecifiedPeriodType getEffectiveSpecifiedPeriod() { + return effectiveSpecifiedPeriod; + } + + /** + * Legt den Wert der effectiveSpecifiedPeriod-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SpecifiedPeriodType } + * + */ + public void setEffectiveSpecifiedPeriod(SpecifiedPeriodType value) { + this.effectiveSpecifiedPeriod = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/IDType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/IDType.java new file mode 100644 index 00000000..0ed89ebd --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/IDType.java @@ -0,0 +1,129 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r IDType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="IDType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>token">
+ *       <attribute name="schemeID" type="{http://www.w3.org/2001/XMLSchema}token" />
+ *       <attribute name="schemeAgencyID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDTypeSchemeAgencyIDContentType" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IDType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "value" +}) +public class IDType { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "schemeID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String schemeID; + @XmlAttribute(name = "schemeAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String schemeAgencyID; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Ruft den Wert der schemeID-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSchemeID() { + return schemeID; + } + + /** + * Legt den Wert der schemeID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSchemeID(String value) { + this.schemeID = value; + } + + /** + * Ruft den Wert der schemeAgencyID-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSchemeAgencyID() { + return schemeAgencyID; + } + + /** + * Legt den Wert der schemeAgencyID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSchemeAgencyID(String value) { + this.schemeAgencyID = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/IndicatorType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/IndicatorType.java new file mode 100644 index 00000000..0f7d1acf --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/IndicatorType.java @@ -0,0 +1,69 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r IndicatorType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="IndicatorType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <choice>
+ *         <element name="Indicator" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *       </choice>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "IndicatorType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "indicator" +}) +public class IndicatorType { + + @XmlElement(name = "Indicator") + protected Boolean indicator; + + /** + * Ruft den Wert der indicator-Eigenschaft ab. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isIndicator() { + return indicator; + } + + /** + * Legt den Wert der indicator-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setIndicator(Boolean value) { + this.indicator = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/LogisticsServiceChargeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/LogisticsServiceChargeType.java new file mode 100644 index 00000000..81917725 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/LogisticsServiceChargeType.java @@ -0,0 +1,142 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r LogisticsServiceChargeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="LogisticsServiceChargeType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Description" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="AppliedAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="AppliedTradeTax" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeTaxType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "LogisticsServiceChargeType", propOrder = { + "description", + "appliedAmount", + "appliedTradeTax" +}) +public class LogisticsServiceChargeType { + + @XmlElement(name = "Description") + protected List description; + @XmlElement(name = "AppliedAmount") + protected List appliedAmount; + @XmlElement(name = "AppliedTradeTax") + protected List appliedTradeTax; + + /** + * Gets the value of the description property. + * + *

+ * 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 set method for the description property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getDescription() { + if (description == null) { + description = new ArrayList(); + } + return this.description; + } + + /** + * Gets the value of the appliedAmount property. + * + *

+ * 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 set method for the appliedAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAppliedAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getAppliedAmount() { + if (appliedAmount == null) { + appliedAmount = new ArrayList(); + } + return this.appliedAmount; + } + + /** + * Gets the value of the appliedTradeTax property. + * + *

+ * 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 set method for the appliedTradeTax property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAppliedTradeTax().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeTaxType } + * + * + */ + public List getAppliedTradeTax() { + if (appliedTradeTax == null) { + appliedTradeTax = new ArrayList(); + } + return this.appliedTradeTax; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/LogisticsTransportMovementType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/LogisticsTransportMovementType.java new file mode 100644 index 00000000..9e874472 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/LogisticsTransportMovementType.java @@ -0,0 +1,97 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r LogisticsTransportMovementType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="LogisticsTransportMovementType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ModeCode" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}CodeType" minOccurs="0"/>
+ *         <element name="ID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "LogisticsTransportMovementType", propOrder = { + "modeCode", + "id" +}) +public class LogisticsTransportMovementType { + + @XmlElement(name = "ModeCode") + protected CodeType modeCode; + @XmlElement(name = "ID") + protected IDType id; + + /** + * Ruft den Wert der modeCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link CodeType } + * + */ + public CodeType getModeCode() { + return modeCode; + } + + /** + * Legt den Wert der modeCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link CodeType } + * + */ + public void setModeCode(CodeType value) { + this.modeCode = value; + } + + /** + * Ruft den Wert der id-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getID() { + return id; + } + + /** + * Legt den Wert der id-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setID(IDType value) { + this.id = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/MeasureType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/MeasureType.java new file mode 100644 index 00000000..0efff587 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/MeasureType.java @@ -0,0 +1,98 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import java.math.BigDecimal; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r MeasureType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="MeasureType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>decimal">
+ *       <attribute name="unitCode" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}MeasureTypeUnitCodeContentType" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "MeasureType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "value" +}) +public class MeasureType { + + @XmlValue + protected BigDecimal value; + @XmlAttribute(name = "unitCode") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String unitCode; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link BigDecimal } + * + */ + public BigDecimal getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BigDecimal } + * + */ + public void setValue(BigDecimal value) { + this.value = value; + } + + /** + * Ruft den Wert der unitCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getUnitCode() { + return unitCode; + } + + /** + * Legt den Wert der unitCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setUnitCode(String value) { + this.unitCode = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/NoteType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/NoteType.java new file mode 100644 index 00000000..2be7c6b0 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/NoteType.java @@ -0,0 +1,143 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r NoteType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NoteType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ContentCode" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}CodeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="Content" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SubjectCode" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}CodeType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NoteType", propOrder = { + "contentCode", + "content", + "subjectCode" +}) +public class NoteType { + + public static final String GENERAL = ""; + public static final String REGULARINFO = "REG"; + public static final String PRICECONDITION = "AAK"; + public static final String CONDITIONS = "AAJ"; + public static final String PAYMENTINFO = "PMT"; + + @XmlElement(name = "ContentCode") + protected List contentCode; + @XmlElement(name = "Content") + protected List content; + @XmlElement(name = "SubjectCode") + protected CodeType subjectCode; + + /** + * Gets the value of the contentCode property. + * + *

+ * 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 set method for the contentCode property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContentCode().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CodeType } + * + * + */ + public List getContentCode() { + if (contentCode == null) { + contentCode = new ArrayList(); + } + return this.contentCode; + } + + /** + * Gets the value of the content property. + * + *

+ * 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 set method for the content property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getContent() { + if (content == null) { + content = new ArrayList(); + } + return this.content; + } + + /** + * Ruft den Wert der subjectCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link CodeType } + * + */ + public CodeType getSubjectCode() { + return subjectCode; + } + + /** + * Legt den Wert der subjectCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link CodeType } + * + */ + public void setSubjectCode(CodeType value) { + this.subjectCode = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/NumericType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/NumericType.java new file mode 100644 index 00000000..28ed0b5f --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/NumericType.java @@ -0,0 +1,67 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import java.math.BigDecimal; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; + + +/** + *

Java-Klasse f�r NumericType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="NumericType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>decimal">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "NumericType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "value" +}) +public class NumericType { + + @XmlValue + protected BigDecimal value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link BigDecimal } + * + */ + public BigDecimal getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BigDecimal } + * + */ + public void setValue(BigDecimal value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ObjectFactory.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ObjectFactory.java new file mode 100644 index 00000000..bc159efe --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ObjectFactory.java @@ -0,0 +1,533 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the org.mustangproject.ZUGFeRD.model package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _CrossIndustryDocument_QNAME = new QName("urn:ferd:CrossIndustryDocument:invoice:1p0", "CrossIndustryDocument"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.mustangproject.ZUGFeRD.model + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link DateTimeType } + * + */ + public DateTimeType createDateTimeType() { + return new DateTimeType(); + } + + /** + * Create an instance of {@link CrossIndustryDocumentType } + * + */ + public CrossIndustryDocumentType createCrossIndustryDocumentType() { + return new CrossIndustryDocumentType(); + } + + /** + * Create an instance of {@link AllowanceChargeReasonCodeType } + * + */ + public AllowanceChargeReasonCodeType createAllowanceChargeReasonCodeType() { + return new AllowanceChargeReasonCodeType(); + } + + /** + * Create an instance of {@link CountryIDType } + * + */ + public CountryIDType createCountryIDType() { + return new CountryIDType(); + } + + /** + * Create an instance of {@link DeliveryTermsCodeType } + * + */ + public DeliveryTermsCodeType createDeliveryTermsCodeType() { + return new DeliveryTermsCodeType(); + } + + /** + * Create an instance of {@link DocumentCodeType } + * + */ + public DocumentCodeType createDocumentCodeType() { + return new DocumentCodeType(); + } + + /** + * Create an instance of {@link PaymentMeansCodeType } + * + */ + public PaymentMeansCodeType createPaymentMeansCodeType() { + return new PaymentMeansCodeType(); + } + + /** + * Create an instance of {@link ReferenceCodeType } + * + */ + public ReferenceCodeType createReferenceCodeType() { + return new ReferenceCodeType(); + } + + /** + * Create an instance of {@link TaxCategoryCodeType } + * + */ + public TaxCategoryCodeType createTaxCategoryCodeType() { + return new TaxCategoryCodeType(); + } + + /** + * Create an instance of {@link TaxTypeCodeType } + * + */ + public TaxTypeCodeType createTaxTypeCodeType() { + return new TaxTypeCodeType(); + } + + /** + * Create an instance of {@link AmountType } + * + */ + public AmountType createAmountType() { + return new AmountType(); + } + + /** + * Create an instance of {@link CodeType } + * + */ + public CodeType createCodeType() { + return new CodeType(); + } + + /** + * Create an instance of {@link IDType } + * + */ + public IDType createIDType() { + return new IDType(); + } + + /** + * Create an instance of {@link IndicatorType } + * + */ + public IndicatorType createIndicatorType() { + return new IndicatorType(); + } + + /** + * Create an instance of {@link MeasureType } + * + */ + public MeasureType createMeasureType() { + return new MeasureType(); + } + + /** + * Create an instance of {@link NumericType } + * + */ + public NumericType createNumericType() { + return new NumericType(); + } + + /** + * Create an instance of {@link PercentType } + * + */ + public PercentType createPercentType() { + return new PercentType(); + } + + /** + * Create an instance of {@link QuantityType } + * + */ + public QuantityType createQuantityType() { + return new QuantityType(); + } + + /** + * Create an instance of {@link TextType } + * + */ + public TextType createTextType() { + return new TextType(); + } + + /** + * Create an instance of {@link CreditorFinancialAccountType } + * + */ + public CreditorFinancialAccountType createCreditorFinancialAccountType() { + return new CreditorFinancialAccountType(); + } + + /** + * Create an instance of {@link CreditorFinancialInstitutionType } + * + */ + public CreditorFinancialInstitutionType createCreditorFinancialInstitutionType() { + return new CreditorFinancialInstitutionType(); + } + + /** + * Create an instance of {@link DebtorFinancialAccountType } + * + */ + public DebtorFinancialAccountType createDebtorFinancialAccountType() { + return new DebtorFinancialAccountType(); + } + + /** + * Create an instance of {@link DebtorFinancialInstitutionType } + * + */ + public DebtorFinancialInstitutionType createDebtorFinancialInstitutionType() { + return new DebtorFinancialInstitutionType(); + } + + /** + * Create an instance of {@link DocumentContextParameterType } + * + */ + public DocumentContextParameterType createDocumentContextParameterType() { + return new DocumentContextParameterType(); + } + + /** + * Create an instance of {@link DocumentLineDocumentType } + * + */ + public DocumentLineDocumentType createDocumentLineDocumentType() { + return new DocumentLineDocumentType(); + } + + /** + * Create an instance of {@link ExchangedDocumentContextType } + * + */ + public ExchangedDocumentContextType createExchangedDocumentContextType() { + return new ExchangedDocumentContextType(); + } + + /** + * Create an instance of {@link ExchangedDocumentType } + * + */ + public ExchangedDocumentType createExchangedDocumentType() { + return new ExchangedDocumentType(); + } + + /** + * Create an instance of {@link LogisticsServiceChargeType } + * + */ + public LogisticsServiceChargeType createLogisticsServiceChargeType() { + return new LogisticsServiceChargeType(); + } + + /** + * Create an instance of {@link LogisticsTransportMovementType } + * + */ + public LogisticsTransportMovementType createLogisticsTransportMovementType() { + return new LogisticsTransportMovementType(); + } + + /** + * Create an instance of {@link NoteType } + * + */ + public NoteType createNoteType() { + return new NoteType(); + } + + /** + * Create an instance of {@link ProductCharacteristicType } + * + */ + public ProductCharacteristicType createProductCharacteristicType() { + return new ProductCharacteristicType(); + } + + /** + * Create an instance of {@link ProductClassificationType } + * + */ + public ProductClassificationType createProductClassificationType() { + return new ProductClassificationType(); + } + + /** + * Create an instance of {@link ReferencedDocumentType } + * + */ + public ReferencedDocumentType createReferencedDocumentType() { + return new ReferencedDocumentType(); + } + + /** + * Create an instance of {@link ReferencedProductType } + * + */ + public ReferencedProductType createReferencedProductType() { + return new ReferencedProductType(); + } + + /** + * Create an instance of {@link SpecifiedPeriodType } + * + */ + public SpecifiedPeriodType createSpecifiedPeriodType() { + return new SpecifiedPeriodType(); + } + + /** + * Create an instance of {@link SupplyChainConsignmentType } + * + */ + public SupplyChainConsignmentType createSupplyChainConsignmentType() { + return new SupplyChainConsignmentType(); + } + + /** + * Create an instance of {@link SupplyChainEventType } + * + */ + public SupplyChainEventType createSupplyChainEventType() { + return new SupplyChainEventType(); + } + + /** + * Create an instance of {@link SupplyChainTradeAgreementType } + * + */ + public SupplyChainTradeAgreementType createSupplyChainTradeAgreementType() { + return new SupplyChainTradeAgreementType(); + } + + /** + * Create an instance of {@link SupplyChainTradeDeliveryType } + * + */ + public SupplyChainTradeDeliveryType createSupplyChainTradeDeliveryType() { + return new SupplyChainTradeDeliveryType(); + } + + /** + * Create an instance of {@link SupplyChainTradeLineItemType } + * + */ + public SupplyChainTradeLineItemType createSupplyChainTradeLineItemType() { + return new SupplyChainTradeLineItemType(); + } + + /** + * Create an instance of {@link SupplyChainTradeSettlementType } + * + */ + public SupplyChainTradeSettlementType createSupplyChainTradeSettlementType() { + return new SupplyChainTradeSettlementType(); + } + + /** + * Create an instance of {@link SupplyChainTradeTransactionType } + * + */ + public SupplyChainTradeTransactionType createSupplyChainTradeTransactionType() { + return new SupplyChainTradeTransactionType(); + } + + /** + * Create an instance of {@link TaxRegistrationType } + * + */ + public TaxRegistrationType createTaxRegistrationType() { + return new TaxRegistrationType(); + } + + /** + * Create an instance of {@link TradeAccountingAccountType } + * + */ + public TradeAccountingAccountType createTradeAccountingAccountType() { + return new TradeAccountingAccountType(); + } + + /** + * Create an instance of {@link TradeAddressType } + * + */ + public TradeAddressType createTradeAddressType() { + return new TradeAddressType(); + } + + /** + * Create an instance of {@link TradeAllowanceChargeType } + * + */ + public TradeAllowanceChargeType createTradeAllowanceChargeType() { + return new TradeAllowanceChargeType(); + } + + /** + * Create an instance of {@link TradeContactType } + * + */ + public TradeContactType createTradeContactType() { + return new TradeContactType(); + } + + /** + * Create an instance of {@link TradeCountryType } + * + */ + public TradeCountryType createTradeCountryType() { + return new TradeCountryType(); + } + + /** + * Create an instance of {@link TradeDeliveryTermsType } + * + */ + public TradeDeliveryTermsType createTradeDeliveryTermsType() { + return new TradeDeliveryTermsType(); + } + + /** + * Create an instance of {@link TradePartyType } + * + */ + public TradePartyType createTradePartyType() { + return new TradePartyType(); + } + + /** + * Create an instance of {@link TradePaymentDiscountTermsType } + * + */ + public TradePaymentDiscountTermsType createTradePaymentDiscountTermsType() { + return new TradePaymentDiscountTermsType(); + } + + /** + * Create an instance of {@link TradePaymentPenaltyTermsType } + * + */ + public TradePaymentPenaltyTermsType createTradePaymentPenaltyTermsType() { + return new TradePaymentPenaltyTermsType(); + } + + /** + * Create an instance of {@link TradePaymentTermsType } + * + */ + public TradePaymentTermsType createTradePaymentTermsType() { + return new TradePaymentTermsType(); + } + + /** + * Create an instance of {@link TradePriceType } + * + */ + public TradePriceType createTradePriceType() { + return new TradePriceType(); + } + + /** + * Create an instance of {@link TradeProductType } + * + */ + public TradeProductType createTradeProductType() { + return new TradeProductType(); + } + + /** + * Create an instance of {@link TradeSettlementMonetarySummationType } + * + */ + public TradeSettlementMonetarySummationType createTradeSettlementMonetarySummationType() { + return new TradeSettlementMonetarySummationType(); + } + + /** + * Create an instance of {@link TradeSettlementPaymentMeansType } + * + */ + public TradeSettlementPaymentMeansType createTradeSettlementPaymentMeansType() { + return new TradeSettlementPaymentMeansType(); + } + + /** + * Create an instance of {@link TradeTaxType } + * + */ + public TradeTaxType createTradeTaxType() { + return new TradeTaxType(); + } + + /** + * Create an instance of {@link UniversalCommunicationType } + * + */ + public UniversalCommunicationType createUniversalCommunicationType() { + return new UniversalCommunicationType(); + } + + /** + * Create an instance of {@link DateTimeType.DateTimeString } + * + */ + public DateTimeType.DateTimeString createDateTimeTypeDateTimeString() { + return new DateTimeType.DateTimeString(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CrossIndustryDocumentType }{@code >}} + * + */ + @XmlElementDecl(namespace = "urn:ferd:CrossIndustryDocument:invoice:1p0", name = "CrossIndustryDocument") + public JAXBElement createCrossIndustryDocument(CrossIndustryDocumentType value) { + return new JAXBElement(_CrossIndustryDocument_QNAME, CrossIndustryDocumentType.class, null, value); + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/PaymentMeansCodeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/PaymentMeansCodeType.java new file mode 100644 index 00000000..b8a9d66e --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/PaymentMeansCodeType.java @@ -0,0 +1,79 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r PaymentMeansCodeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PaymentMeansCodeType">
+ *   <simpleContent>
+ *     <extension base="<urn:un:unece:uncefact:data:standard:QualifiedDataType:12>PaymentMeansCodeContentType">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PaymentMeansCodeType", namespace = "urn:un:unece:uncefact:data:standard:QualifiedDataType:12", propOrder = { + "value" +}) +public class PaymentMeansCodeType { + + public static final String BANKACCOUNT = "42"; + public static final String NOTSPECIFIED = "1"; + public static final String AUTOMATICCLEARING = "3"; + public static final String CASH = "10"; + public static final String CHECK = "20"; + public static final String DEBITADVICE = "31"; + public static final String CREDITCARD = "48"; + public static final String DEBIT = "49"; + public static final String COMPENSATION = "97"; + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/PercentType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/PercentType.java new file mode 100644 index 00000000..8cf77697 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/PercentType.java @@ -0,0 +1,67 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import java.math.BigDecimal; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; + + +/** + *

Java-Klasse f�r PercentType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="PercentType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>decimal">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PercentType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "value" +}) +public class PercentType { + + @XmlValue + protected BigDecimal value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link BigDecimal } + * + */ + public BigDecimal getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BigDecimal } + * + */ + public void setValue(BigDecimal value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ProductCharacteristicType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ProductCharacteristicType.java new file mode 100644 index 00000000..fa5b3a06 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ProductCharacteristicType.java @@ -0,0 +1,175 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r ProductCharacteristicType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ProductCharacteristicType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TypeCode" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}CodeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="Description" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ValueMeasure" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}MeasureType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="Value" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ProductCharacteristicType", propOrder = { + "typeCode", + "description", + "valueMeasure", + "value" +}) +public class ProductCharacteristicType { + + @XmlElement(name = "TypeCode") + protected List typeCode; + @XmlElement(name = "Description") + protected List description; + @XmlElement(name = "ValueMeasure") + protected List valueMeasure; + @XmlElement(name = "Value") + protected List value; + + /** + * Gets the value of the typeCode property. + * + *

+ * 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 set method for the typeCode property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTypeCode().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CodeType } + * + * + */ + public List getTypeCode() { + if (typeCode == null) { + typeCode = new ArrayList(); + } + return this.typeCode; + } + + /** + * Gets the value of the description property. + * + *

+ * 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 set method for the description property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getDescription() { + if (description == null) { + description = new ArrayList(); + } + return this.description; + } + + /** + * Gets the value of the valueMeasure property. + * + *

+ * 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 set method for the valueMeasure property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValueMeasure().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link MeasureType } + * + * + */ + public List getValueMeasure() { + if (valueMeasure == null) { + valueMeasure = new ArrayList(); + } + return this.valueMeasure; + } + + /** + * Gets the value of the value property. + * + *

+ * 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 set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getValue() { + if (value == null) { + value = new ArrayList(); + } + return this.value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ProductClassificationType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ProductClassificationType.java new file mode 100644 index 00000000..dedd58da --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ProductClassificationType.java @@ -0,0 +1,104 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r ProductClassificationType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ProductClassificationType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ClassCode" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}CodeType" minOccurs="0"/>
+ *         <element name="ClassName" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ProductClassificationType", propOrder = { + "classCode", + "className" +}) +public class ProductClassificationType { + + @XmlElement(name = "ClassCode") + protected CodeType classCode; + @XmlElement(name = "ClassName") + protected List className; + + /** + * Ruft den Wert der classCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link CodeType } + * + */ + public CodeType getClassCode() { + return classCode; + } + + /** + * Legt den Wert der classCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link CodeType } + * + */ + public void setClassCode(CodeType value) { + this.classCode = value; + } + + /** + * Gets the value of the className property. + * + *

+ * 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 set method for the className property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getClassName().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getClassName() { + if (className == null) { + className = new ArrayList(); + } + return this.className; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/QuantityType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/QuantityType.java new file mode 100644 index 00000000..01ee7b7f --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/QuantityType.java @@ -0,0 +1,120 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import java.math.BigDecimal; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r QuantityType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="QuantityType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>decimal">
+ *       <attribute name="unitCode" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}QuantityTypeUnitCodeContentType" />
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "QuantityType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "value" +}) +public class QuantityType { + + public static final String PIECE = "C62"; + public static final String DAY = "DAY"; + public static final String HECTARE = "HAR"; + public static final String HOUR = "HUR"; + public static final String KILOGRAM = "KGM"; + public static final String KILOMETER = "KTM"; + public static final String KILOWATTHOUR = "KWH"; + public static final String FIXEDRATE = "LS"; + public static final String LITRE = "LTR"; + public static final String MINUTE = "MIN"; + public static final String SQUAREMILLIMETER = "MMK"; + public static final String MILLIMETER = "MMT"; + public static final String SQUAREMETER = "MTK"; + public static final String CUBICMETER = "MTQ"; + public static final String METER = "MTR"; + public static final String PRODUCTCOUNT = "NAR"; + public static final String PRODUCTPAIR = "NPR"; + public static final String PERCENT = "P1"; + public static final String SET = "SET"; + public static final String TON = "TNE"; + public static final String WEEK = "WEE"; + + @XmlValue + protected BigDecimal value; + @XmlAttribute(name = "unitCode") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String unitCode; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link BigDecimal } + * + */ + public BigDecimal getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BigDecimal } + * + */ + public void setValue(BigDecimal value) { + this.value = value; + } + + /** + * Ruft den Wert der unitCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getUnitCode() { + return unitCode; + } + + /** + * Legt den Wert der unitCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setUnitCode(String value) { + this.unitCode = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ReferenceCodeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ReferenceCodeType.java new file mode 100644 index 00000000..bec47d24 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ReferenceCodeType.java @@ -0,0 +1,69 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r ReferenceCodeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReferenceCodeType">
+ *   <simpleContent>
+ *     <extension base="<urn:un:unece:uncefact:data:standard:QualifiedDataType:12>ReferenceCodeContentType">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReferenceCodeType", namespace = "urn:un:unece:uncefact:data:standard:QualifiedDataType:12", propOrder = { + "value" +}) +public class ReferenceCodeType { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ReferencedDocumentType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ReferencedDocumentType.java new file mode 100644 index 00000000..dc4706ff --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ReferencedDocumentType.java @@ -0,0 +1,190 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r ReferencedDocumentType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReferencedDocumentType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="IssueDateTime" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}DateMandatoryDateTimeType" minOccurs="0"/>
+ *         <element name="LineID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="TypeCode" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}DocumentCodeType" minOccurs="0"/>
+ *         <element name="ID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ReferenceTypeCode" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}ReferenceCodeType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReferencedDocumentType", propOrder = { + "issueDateTime", + "lineID", + "typeCode", + "id", + "referenceTypeCode" +}) +public class ReferencedDocumentType { + + @XmlElement(name = "IssueDateTime") + @XmlSchemaType(name = "anySimpleType") + protected String issueDateTime; + @XmlElement(name = "LineID") + protected IDType lineID; + @XmlElement(name = "TypeCode") + protected DocumentCodeType typeCode; + @XmlElement(name = "ID") + protected List id; + @XmlElement(name = "ReferenceTypeCode") + protected ReferenceCodeType referenceTypeCode; + + /** + * Ruft den Wert der issueDateTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIssueDateTime() { + return issueDateTime; + } + + /** + * Legt den Wert der issueDateTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIssueDateTime(String value) { + this.issueDateTime = value; + } + + /** + * Ruft den Wert der lineID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getLineID() { + return lineID; + } + + /** + * Legt den Wert der lineID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setLineID(IDType value) { + this.lineID = value; + } + + /** + * Ruft den Wert der typeCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link DocumentCodeType } + * + */ + public DocumentCodeType getTypeCode() { + return typeCode; + } + + /** + * Legt den Wert der typeCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DocumentCodeType } + * + */ + public void setTypeCode(DocumentCodeType value) { + this.typeCode = value; + } + + /** + * Gets the value of the id property. + * + *

+ * 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 set method for the id property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getID().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IDType } + * + * + */ + public List getID() { + if (id == null) { + id = new ArrayList(); + } + return this.id; + } + + /** + * Ruft den Wert der referenceTypeCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link ReferenceCodeType } + * + */ + public ReferenceCodeType getReferenceTypeCode() { + return referenceTypeCode; + } + + /** + * Legt den Wert der referenceTypeCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ReferenceCodeType } + * + */ + public void setReferenceTypeCode(ReferenceCodeType value) { + this.referenceTypeCode = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ReferencedProductType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ReferencedProductType.java new file mode 100644 index 00000000..646dcd9e --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/ReferencedProductType.java @@ -0,0 +1,231 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r ReferencedProductType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="ReferencedProductType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="GlobalID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SellerAssignedID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="BuyerAssignedID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="Name" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="Description" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="UnitQuantity" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}QuantityType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ReferencedProductType", propOrder = { + "globalID", + "sellerAssignedID", + "buyerAssignedID", + "name", + "description", + "unitQuantity" +}) +public class ReferencedProductType { + + @XmlElement(name = "GlobalID") + protected List globalID; + @XmlElement(name = "SellerAssignedID") + protected IDType sellerAssignedID; + @XmlElement(name = "BuyerAssignedID") + protected IDType buyerAssignedID; + @XmlElement(name = "Name") + protected List name; + @XmlElement(name = "Description") + protected List description; + @XmlElement(name = "UnitQuantity") + protected List unitQuantity; + + /** + * Gets the value of the globalID property. + * + *

+ * 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 set method for the globalID property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getGlobalID().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IDType } + * + * + */ + public List getGlobalID() { + if (globalID == null) { + globalID = new ArrayList(); + } + return this.globalID; + } + + /** + * Ruft den Wert der sellerAssignedID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getSellerAssignedID() { + return sellerAssignedID; + } + + /** + * Legt den Wert der sellerAssignedID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setSellerAssignedID(IDType value) { + this.sellerAssignedID = value; + } + + /** + * Ruft den Wert der buyerAssignedID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getBuyerAssignedID() { + return buyerAssignedID; + } + + /** + * Legt den Wert der buyerAssignedID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setBuyerAssignedID(IDType value) { + this.buyerAssignedID = value; + } + + /** + * Gets the value of the name property. + * + *

+ * 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 set method for the name property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getName().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getName() { + if (name == null) { + name = new ArrayList(); + } + return this.name; + } + + /** + * Gets the value of the description property. + * + *

+ * 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 set method for the description property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getDescription() { + if (description == null) { + description = new ArrayList(); + } + return this.description; + } + + /** + * Gets the value of the unitQuantity property. + * + *

+ * 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 set method for the unitQuantity property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getUnitQuantity().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link QuantityType } + * + * + */ + public List getUnitQuantity() { + if (unitQuantity == null) { + unitQuantity = new ArrayList(); + } + return this.unitQuantity; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SpecifiedPeriodType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SpecifiedPeriodType.java new file mode 100644 index 00000000..f1823e47 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SpecifiedPeriodType.java @@ -0,0 +1,125 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r SpecifiedPeriodType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * 
+ *   
+ *     
+ *       
+ *         
+ *         
+ *         
+ *       
+ *     
+ *   
+ * 
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SpecifiedPeriodType", propOrder = { + "startDateTime", + "endDateTime", + "completeDateTime" +}) +public class SpecifiedPeriodType { + + @XmlElement(name = "StartDateTime") + protected DateTimeType startDateTime; + @XmlElement(name = "EndDateTime") + protected DateTimeType endDateTime; + @XmlElement(name = "CompleteDateTime") + protected DateTimeType completeDateTime; + + /** + * Ruft den Wert der startDateTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link DateTimeType } + * + */ + public DateTimeType getStartDateTime() { + return startDateTime; + } + + /** + * Legt den Wert der startDateTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DateTimeType } + * + */ + public void setStartDateTime(DateTimeType value) { + this.startDateTime = value; + } + + /** + * Ruft den Wert der endDateTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link DateTimeType } + * + */ + public DateTimeType getEndDateTime() { + return endDateTime; + } + + /** + * Legt den Wert der endDateTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DateTimeType } + * + */ + public void setEndDateTime(DateTimeType value) { + this.endDateTime = value; + } + + /** + * Ruft den Wert der completeDateTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link DateTimeType } + * + */ + public DateTimeType getCompleteDateTime() { + return completeDateTime; + } + + /** + * Legt den Wert der completeDateTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DateTimeType } + * + */ + public void setCompleteDateTime(DateTimeType value) { + this.completeDateTime = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainConsignmentType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainConsignmentType.java new file mode 100644 index 00000000..cdb08594 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainConsignmentType.java @@ -0,0 +1,76 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r SupplyChainConsignmentType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SupplyChainConsignmentType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="SpecifiedLogisticsTransportMovement" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}LogisticsTransportMovementType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SupplyChainConsignmentType", propOrder = { + "specifiedLogisticsTransportMovement" +}) +public class SupplyChainConsignmentType { + + @XmlElement(name = "SpecifiedLogisticsTransportMovement") + protected List specifiedLogisticsTransportMovement; + + /** + * Gets the value of the specifiedLogisticsTransportMovement property. + * + *

+ * 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 set method for the specifiedLogisticsTransportMovement property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSpecifiedLogisticsTransportMovement().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link LogisticsTransportMovementType } + * + * + */ + public List getSpecifiedLogisticsTransportMovement() { + if (specifiedLogisticsTransportMovement == null) { + specifiedLogisticsTransportMovement = new ArrayList(); + } + return this.specifiedLogisticsTransportMovement; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainEventType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainEventType.java new file mode 100644 index 00000000..aaf14cb0 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainEventType.java @@ -0,0 +1,76 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r SupplyChainEventType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SupplyChainEventType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="OccurrenceDateTime" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}DateTimeType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SupplyChainEventType", propOrder = { + "occurrenceDateTime" +}) +public class SupplyChainEventType { + + @XmlElement(name = "OccurrenceDateTime") + protected List occurrenceDateTime; + + /** + * Gets the value of the occurrenceDateTime property. + * + *

+ * 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 set method for the occurrenceDateTime property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getOccurrenceDateTime().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link DateTimeType } + * + * + */ + public List getOccurrenceDateTime() { + if (occurrenceDateTime == null) { + occurrenceDateTime = new ArrayList(); + } + return this.occurrenceDateTime; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeAgreementType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeAgreementType.java new file mode 100644 index 00000000..3372b779 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeAgreementType.java @@ -0,0 +1,386 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r SupplyChainTradeAgreementType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SupplyChainTradeAgreementType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BuyerReference" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SellerTradeParty" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePartyType" minOccurs="0"/>
+ *         <element name="BuyerTradeParty" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePartyType" minOccurs="0"/>
+ *         <element name="ProductEndUserTradeParty" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePartyType" minOccurs="0"/>
+ *         <element name="ApplicableTradeDeliveryTerms" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeDeliveryTermsType" minOccurs="0"/>
+ *         <element name="BuyerOrderReferencedDocument" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ReferencedDocumentType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ContractReferencedDocument" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ReferencedDocumentType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="AdditionalReferencedDocument" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ReferencedDocumentType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="GrossPriceProductTradePrice" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePriceType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="NetPriceProductTradePrice" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePriceType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="CustomerOrderReferencedDocument" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ReferencedDocumentType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SupplyChainTradeAgreementType", propOrder = { + "buyerReference", + "sellerTradeParty", + "buyerTradeParty", + "productEndUserTradeParty", + "applicableTradeDeliveryTerms", + "buyerOrderReferencedDocument", + "contractReferencedDocument", + "additionalReferencedDocument", + "grossPriceProductTradePrice", + "netPriceProductTradePrice", + "customerOrderReferencedDocument" +}) +public class SupplyChainTradeAgreementType { + + @XmlElement(name = "BuyerReference") + protected List buyerReference; + @XmlElement(name = "SellerTradeParty") + protected TradePartyType sellerTradeParty; + @XmlElement(name = "BuyerTradeParty") + protected TradePartyType buyerTradeParty; + @XmlElement(name = "ProductEndUserTradeParty") + protected TradePartyType productEndUserTradeParty; + @XmlElement(name = "ApplicableTradeDeliveryTerms") + protected TradeDeliveryTermsType applicableTradeDeliveryTerms; + @XmlElement(name = "BuyerOrderReferencedDocument") + protected List buyerOrderReferencedDocument; + @XmlElement(name = "ContractReferencedDocument") + protected List contractReferencedDocument; + @XmlElement(name = "AdditionalReferencedDocument") + protected List additionalReferencedDocument; + @XmlElement(name = "GrossPriceProductTradePrice") + protected List grossPriceProductTradePrice; + @XmlElement(name = "NetPriceProductTradePrice") + protected List netPriceProductTradePrice; + @XmlElement(name = "CustomerOrderReferencedDocument") + protected List customerOrderReferencedDocument; + + /** + * Gets the value of the buyerReference property. + * + *

+ * 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 set method for the buyerReference property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBuyerReference().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getBuyerReference() { + if (buyerReference == null) { + buyerReference = new ArrayList(); + } + return this.buyerReference; + } + + /** + * Ruft den Wert der sellerTradeParty-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradePartyType } + * + */ + public TradePartyType getSellerTradeParty() { + return sellerTradeParty; + } + + /** + * Legt den Wert der sellerTradeParty-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradePartyType } + * + */ + public void setSellerTradeParty(TradePartyType value) { + this.sellerTradeParty = value; + } + + /** + * Ruft den Wert der buyerTradeParty-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradePartyType } + * + */ + public TradePartyType getBuyerTradeParty() { + return buyerTradeParty; + } + + /** + * Legt den Wert der buyerTradeParty-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradePartyType } + * + */ + public void setBuyerTradeParty(TradePartyType value) { + this.buyerTradeParty = value; + } + + /** + * Ruft den Wert der productEndUserTradeParty-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradePartyType } + * + */ + public TradePartyType getProductEndUserTradeParty() { + return productEndUserTradeParty; + } + + /** + * Legt den Wert der productEndUserTradeParty-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradePartyType } + * + */ + public void setProductEndUserTradeParty(TradePartyType value) { + this.productEndUserTradeParty = value; + } + + /** + * Ruft den Wert der applicableTradeDeliveryTerms-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradeDeliveryTermsType } + * + */ + public TradeDeliveryTermsType getApplicableTradeDeliveryTerms() { + return applicableTradeDeliveryTerms; + } + + /** + * Legt den Wert der applicableTradeDeliveryTerms-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradeDeliveryTermsType } + * + */ + public void setApplicableTradeDeliveryTerms(TradeDeliveryTermsType value) { + this.applicableTradeDeliveryTerms = value; + } + + /** + * Gets the value of the buyerOrderReferencedDocument property. + * + *

+ * 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 set method for the buyerOrderReferencedDocument property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBuyerOrderReferencedDocument().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferencedDocumentType } + * + * + */ + public List getBuyerOrderReferencedDocument() { + if (buyerOrderReferencedDocument == null) { + buyerOrderReferencedDocument = new ArrayList(); + } + return this.buyerOrderReferencedDocument; + } + + /** + * Gets the value of the contractReferencedDocument property. + * + *

+ * 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 set method for the contractReferencedDocument property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getContractReferencedDocument().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferencedDocumentType } + * + * + */ + public List getContractReferencedDocument() { + if (contractReferencedDocument == null) { + contractReferencedDocument = new ArrayList(); + } + return this.contractReferencedDocument; + } + + /** + * Gets the value of the additionalReferencedDocument property. + * + *

+ * 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 set method for the additionalReferencedDocument property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAdditionalReferencedDocument().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferencedDocumentType } + * + * + */ + public List getAdditionalReferencedDocument() { + if (additionalReferencedDocument == null) { + additionalReferencedDocument = new ArrayList(); + } + return this.additionalReferencedDocument; + } + + /** + * Gets the value of the grossPriceProductTradePrice property. + * + *

+ * 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 set method for the grossPriceProductTradePrice property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getGrossPriceProductTradePrice().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradePriceType } + * + * + */ + public List getGrossPriceProductTradePrice() { + if (grossPriceProductTradePrice == null) { + grossPriceProductTradePrice = new ArrayList(); + } + return this.grossPriceProductTradePrice; + } + + /** + * Gets the value of the netPriceProductTradePrice property. + * + *

+ * 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 set method for the netPriceProductTradePrice property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getNetPriceProductTradePrice().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradePriceType } + * + * + */ + public List getNetPriceProductTradePrice() { + if (netPriceProductTradePrice == null) { + netPriceProductTradePrice = new ArrayList(); + } + return this.netPriceProductTradePrice; + } + + /** + * Gets the value of the customerOrderReferencedDocument property. + * + *

+ * 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 set method for the customerOrderReferencedDocument property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getCustomerOrderReferencedDocument().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferencedDocumentType } + * + * + */ + public List getCustomerOrderReferencedDocument() { + if (customerOrderReferencedDocument == null) { + customerOrderReferencedDocument = new ArrayList(); + } + return this.customerOrderReferencedDocument; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeDeliveryType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeDeliveryType.java new file mode 100644 index 00000000..a48ae1b6 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeDeliveryType.java @@ -0,0 +1,366 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r SupplyChainTradeDeliveryType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SupplyChainTradeDeliveryType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BilledQuantity" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}QuantityType" minOccurs="0"/>
+ *         <element name="ChargeFreeQuantity" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}QuantityType" minOccurs="0"/>
+ *         <element name="PackageQuantity" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}QuantityType" minOccurs="0"/>
+ *         <element name="RelatedSupplyChainConsignment" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainConsignmentType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ShipToTradeParty" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePartyType" minOccurs="0"/>
+ *         <element name="UltimateShipToTradeParty" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePartyType" minOccurs="0"/>
+ *         <element name="ShipFromTradeParty" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePartyType" minOccurs="0"/>
+ *         <element name="ActualDeliverySupplyChainEvent" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainEventType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="DespatchAdviceReferencedDocument" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ReferencedDocumentType" minOccurs="0"/>
+ *         <element name="ReceivingAdviceReferencedDocument" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ReferencedDocumentType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="DeliveryNoteReferencedDocument" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ReferencedDocumentType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SupplyChainTradeDeliveryType", propOrder = { + "billedQuantity", + "chargeFreeQuantity", + "packageQuantity", + "relatedSupplyChainConsignment", + "shipToTradeParty", + "ultimateShipToTradeParty", + "shipFromTradeParty", + "actualDeliverySupplyChainEvent", + "despatchAdviceReferencedDocument", + "receivingAdviceReferencedDocument", + "deliveryNoteReferencedDocument" +}) +public class SupplyChainTradeDeliveryType { + + @XmlElement(name = "BilledQuantity") + protected QuantityType billedQuantity; + @XmlElement(name = "ChargeFreeQuantity") + protected QuantityType chargeFreeQuantity; + @XmlElement(name = "PackageQuantity") + protected QuantityType packageQuantity; + @XmlElement(name = "RelatedSupplyChainConsignment") + protected List relatedSupplyChainConsignment; + @XmlElement(name = "ShipToTradeParty") + protected TradePartyType shipToTradeParty; + @XmlElement(name = "UltimateShipToTradeParty") + protected TradePartyType ultimateShipToTradeParty; + @XmlElement(name = "ShipFromTradeParty") + protected TradePartyType shipFromTradeParty; + @XmlElement(name = "ActualDeliverySupplyChainEvent") + protected List actualDeliverySupplyChainEvent; + @XmlElement(name = "DespatchAdviceReferencedDocument") + protected ReferencedDocumentType despatchAdviceReferencedDocument; + @XmlElement(name = "ReceivingAdviceReferencedDocument") + protected List receivingAdviceReferencedDocument; + @XmlElement(name = "DeliveryNoteReferencedDocument") + protected ReferencedDocumentType deliveryNoteReferencedDocument; + + /** + * Ruft den Wert der billedQuantity-Eigenschaft ab. + * + * @return + * possible object is + * {@link QuantityType } + * + */ + public QuantityType getBilledQuantity() { + return billedQuantity; + } + + /** + * Legt den Wert der billedQuantity-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link QuantityType } + * + */ + public void setBilledQuantity(QuantityType value) { + this.billedQuantity = value; + } + + /** + * Ruft den Wert der chargeFreeQuantity-Eigenschaft ab. + * + * @return + * possible object is + * {@link QuantityType } + * + */ + public QuantityType getChargeFreeQuantity() { + return chargeFreeQuantity; + } + + /** + * Legt den Wert der chargeFreeQuantity-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link QuantityType } + * + */ + public void setChargeFreeQuantity(QuantityType value) { + this.chargeFreeQuantity = value; + } + + /** + * Ruft den Wert der packageQuantity-Eigenschaft ab. + * + * @return + * possible object is + * {@link QuantityType } + * + */ + public QuantityType getPackageQuantity() { + return packageQuantity; + } + + /** + * Legt den Wert der packageQuantity-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link QuantityType } + * + */ + public void setPackageQuantity(QuantityType value) { + this.packageQuantity = value; + } + + /** + * Gets the value of the relatedSupplyChainConsignment property. + * + *

+ * 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 set method for the relatedSupplyChainConsignment property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getRelatedSupplyChainConsignment().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SupplyChainConsignmentType } + * + * + */ + public List getRelatedSupplyChainConsignment() { + if (relatedSupplyChainConsignment == null) { + relatedSupplyChainConsignment = new ArrayList(); + } + return this.relatedSupplyChainConsignment; + } + + /** + * Ruft den Wert der shipToTradeParty-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradePartyType } + * + */ + public TradePartyType getShipToTradeParty() { + return shipToTradeParty; + } + + /** + * Legt den Wert der shipToTradeParty-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradePartyType } + * + */ + public void setShipToTradeParty(TradePartyType value) { + this.shipToTradeParty = value; + } + + /** + * Ruft den Wert der ultimateShipToTradeParty-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradePartyType } + * + */ + public TradePartyType getUltimateShipToTradeParty() { + return ultimateShipToTradeParty; + } + + /** + * Legt den Wert der ultimateShipToTradeParty-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradePartyType } + * + */ + public void setUltimateShipToTradeParty(TradePartyType value) { + this.ultimateShipToTradeParty = value; + } + + /** + * Ruft den Wert der shipFromTradeParty-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradePartyType } + * + */ + public TradePartyType getShipFromTradeParty() { + return shipFromTradeParty; + } + + /** + * Legt den Wert der shipFromTradeParty-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradePartyType } + * + */ + public void setShipFromTradeParty(TradePartyType value) { + this.shipFromTradeParty = value; + } + + /** + * Gets the value of the actualDeliverySupplyChainEvent property. + * + *

+ * 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 set method for the actualDeliverySupplyChainEvent property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getActualDeliverySupplyChainEvent().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SupplyChainEventType } + * + * + */ + public List getActualDeliverySupplyChainEvent() { + if (actualDeliverySupplyChainEvent == null) { + actualDeliverySupplyChainEvent = new ArrayList(); + } + return this.actualDeliverySupplyChainEvent; + } + + /** + * Ruft den Wert der despatchAdviceReferencedDocument-Eigenschaft ab. + * + * @return + * possible object is + * {@link ReferencedDocumentType } + * + */ + public ReferencedDocumentType getDespatchAdviceReferencedDocument() { + return despatchAdviceReferencedDocument; + } + + /** + * Legt den Wert der despatchAdviceReferencedDocument-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ReferencedDocumentType } + * + */ + public void setDespatchAdviceReferencedDocument(ReferencedDocumentType value) { + this.despatchAdviceReferencedDocument = value; + } + + /** + * Gets the value of the receivingAdviceReferencedDocument property. + * + *

+ * 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 set method for the receivingAdviceReferencedDocument property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReceivingAdviceReferencedDocument().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferencedDocumentType } + * + * + */ + public List getReceivingAdviceReferencedDocument() { + if (receivingAdviceReferencedDocument == null) { + receivingAdviceReferencedDocument = new ArrayList(); + } + return this.receivingAdviceReferencedDocument; + } + + /** + * Ruft den Wert der deliveryNoteReferencedDocument-Eigenschaft ab. + * + * @return + * possible object is + * {@link ReferencedDocumentType } + * + */ + public ReferencedDocumentType getDeliveryNoteReferencedDocument() { + return deliveryNoteReferencedDocument; + } + + /** + * Legt den Wert der deliveryNoteReferencedDocument-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ReferencedDocumentType } + * + */ + public void setDeliveryNoteReferencedDocument(ReferencedDocumentType value) { + this.deliveryNoteReferencedDocument = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeLineItemType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeLineItemType.java new file mode 100644 index 00000000..84846eca --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeLineItemType.java @@ -0,0 +1,181 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r SupplyChainTradeLineItemType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SupplyChainTradeLineItemType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="AssociatedDocumentLineDocument" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}DocumentLineDocumentType" minOccurs="0"/>
+ *         <element name="SpecifiedSupplyChainTradeAgreement" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainTradeAgreementType" minOccurs="0"/>
+ *         <element name="SpecifiedSupplyChainTradeDelivery" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainTradeDeliveryType" minOccurs="0"/>
+ *         <element name="SpecifiedSupplyChainTradeSettlement" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainTradeSettlementType" minOccurs="0"/>
+ *         <element name="SpecifiedTradeProduct" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeProductType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SupplyChainTradeLineItemType", propOrder = { + "associatedDocumentLineDocument", + "specifiedSupplyChainTradeAgreement", + "specifiedSupplyChainTradeDelivery", + "specifiedSupplyChainTradeSettlement", + "specifiedTradeProduct" +}) +public class SupplyChainTradeLineItemType { + + @XmlElement(name = "AssociatedDocumentLineDocument") + protected DocumentLineDocumentType associatedDocumentLineDocument; + @XmlElement(name = "SpecifiedSupplyChainTradeAgreement") + protected SupplyChainTradeAgreementType specifiedSupplyChainTradeAgreement; + @XmlElement(name = "SpecifiedSupplyChainTradeDelivery") + protected SupplyChainTradeDeliveryType specifiedSupplyChainTradeDelivery; + @XmlElement(name = "SpecifiedSupplyChainTradeSettlement") + protected SupplyChainTradeSettlementType specifiedSupplyChainTradeSettlement; + @XmlElement(name = "SpecifiedTradeProduct") + protected TradeProductType specifiedTradeProduct; + + /** + * Ruft den Wert der associatedDocumentLineDocument-Eigenschaft ab. + * + * @return + * possible object is + * {@link DocumentLineDocumentType } + * + */ + public DocumentLineDocumentType getAssociatedDocumentLineDocument() { + return associatedDocumentLineDocument; + } + + /** + * Legt den Wert der associatedDocumentLineDocument-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DocumentLineDocumentType } + * + */ + public void setAssociatedDocumentLineDocument(DocumentLineDocumentType value) { + this.associatedDocumentLineDocument = value; + } + + /** + * Ruft den Wert der specifiedSupplyChainTradeAgreement-Eigenschaft ab. + * + * @return + * possible object is + * {@link SupplyChainTradeAgreementType } + * + */ + public SupplyChainTradeAgreementType getSpecifiedSupplyChainTradeAgreement() { + return specifiedSupplyChainTradeAgreement; + } + + /** + * Legt den Wert der specifiedSupplyChainTradeAgreement-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SupplyChainTradeAgreementType } + * + */ + public void setSpecifiedSupplyChainTradeAgreement(SupplyChainTradeAgreementType value) { + this.specifiedSupplyChainTradeAgreement = value; + } + + /** + * Ruft den Wert der specifiedSupplyChainTradeDelivery-Eigenschaft ab. + * + * @return + * possible object is + * {@link SupplyChainTradeDeliveryType } + * + */ + public SupplyChainTradeDeliveryType getSpecifiedSupplyChainTradeDelivery() { + return specifiedSupplyChainTradeDelivery; + } + + /** + * Legt den Wert der specifiedSupplyChainTradeDelivery-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SupplyChainTradeDeliveryType } + * + */ + public void setSpecifiedSupplyChainTradeDelivery(SupplyChainTradeDeliveryType value) { + this.specifiedSupplyChainTradeDelivery = value; + } + + /** + * Ruft den Wert der specifiedSupplyChainTradeSettlement-Eigenschaft ab. + * + * @return + * possible object is + * {@link SupplyChainTradeSettlementType } + * + */ + public SupplyChainTradeSettlementType getSpecifiedSupplyChainTradeSettlement() { + return specifiedSupplyChainTradeSettlement; + } + + /** + * Legt den Wert der specifiedSupplyChainTradeSettlement-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SupplyChainTradeSettlementType } + * + */ + public void setSpecifiedSupplyChainTradeSettlement(SupplyChainTradeSettlementType value) { + this.specifiedSupplyChainTradeSettlement = value; + } + + /** + * Ruft den Wert der specifiedTradeProduct-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradeProductType } + * + */ + public TradeProductType getSpecifiedTradeProduct() { + return specifiedTradeProduct; + } + + /** + * Legt den Wert der specifiedTradeProduct-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradeProductType } + * + */ + public void setSpecifiedTradeProduct(TradeProductType value) { + this.specifiedTradeProduct = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeSettlementType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeSettlementType.java new file mode 100644 index 00000000..f4cfd4f4 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeSettlementType.java @@ -0,0 +1,457 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r SupplyChainTradeSettlementType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SupplyChainTradeSettlementType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PaymentReference" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="InvoiceCurrencyCode" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}CodeType" minOccurs="0"/>
+ *         <element name="InvoiceeTradeParty" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePartyType" minOccurs="0"/>
+ *         <element name="PayeeTradeParty" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePartyType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SpecifiedTradeSettlementPaymentMeans" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeSettlementPaymentMeansType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ApplicableTradeTax" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeTaxType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="BillingSpecifiedPeriod" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SpecifiedPeriodType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SpecifiedTradeAllowanceCharge" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeAllowanceChargeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SpecifiedLogisticsServiceCharge" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}LogisticsServiceChargeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SpecifiedTradePaymentTerms" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePaymentTermsType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SpecifiedTradeAccountingAccount" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeAccountingAccountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SpecifiedTradeSettlementMonetarySummation" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeSettlementMonetarySummationType" minOccurs="0"/>
+ *         <element name="ReceivableSpecifiedTradeAccountingAccount" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeAccountingAccountType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SupplyChainTradeSettlementType", propOrder = { + "paymentReference", + "invoiceCurrencyCode", + "invoiceeTradeParty", + "payeeTradeParty", + "specifiedTradeSettlementPaymentMeans", + "applicableTradeTax", + "billingSpecifiedPeriod", + "specifiedTradeAllowanceCharge", + "specifiedLogisticsServiceCharge", + "specifiedTradePaymentTerms", + "specifiedTradeAccountingAccount", + "specifiedTradeSettlementMonetarySummation", + "receivableSpecifiedTradeAccountingAccount" +}) +public class SupplyChainTradeSettlementType { + + @XmlElement(name = "PaymentReference") + protected List paymentReference; + @XmlElement(name = "InvoiceCurrencyCode") + protected CodeType invoiceCurrencyCode; + @XmlElement(name = "InvoiceeTradeParty") + protected TradePartyType invoiceeTradeParty; + @XmlElement(name = "PayeeTradeParty") + protected List payeeTradeParty; + @XmlElement(name = "SpecifiedTradeSettlementPaymentMeans") + protected List specifiedTradeSettlementPaymentMeans; + @XmlElement(name = "ApplicableTradeTax") + protected List applicableTradeTax; + @XmlElement(name = "BillingSpecifiedPeriod") + protected List billingSpecifiedPeriod; + @XmlElement(name = "SpecifiedTradeAllowanceCharge") + protected List specifiedTradeAllowanceCharge; + @XmlElement(name = "SpecifiedLogisticsServiceCharge") + protected List specifiedLogisticsServiceCharge; + @XmlElement(name = "SpecifiedTradePaymentTerms") + protected List specifiedTradePaymentTerms; + @XmlElement(name = "SpecifiedTradeAccountingAccount") + protected List specifiedTradeAccountingAccount; + @XmlElement(name = "SpecifiedTradeSettlementMonetarySummation") + protected TradeSettlementMonetarySummationType specifiedTradeSettlementMonetarySummation; + @XmlElement(name = "ReceivableSpecifiedTradeAccountingAccount") + protected List receivableSpecifiedTradeAccountingAccount; + + /** + * Gets the value of the paymentReference property. + * + *

+ * 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 set method for the paymentReference property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPaymentReference().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getPaymentReference() { + if (paymentReference == null) { + paymentReference = new ArrayList(); + } + return this.paymentReference; + } + + /** + * Ruft den Wert der invoiceCurrencyCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link CodeType } + * + */ + public CodeType getInvoiceCurrencyCode() { + return invoiceCurrencyCode; + } + + /** + * Legt den Wert der invoiceCurrencyCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link CodeType } + * + */ + public void setInvoiceCurrencyCode(CodeType value) { + this.invoiceCurrencyCode = value; + } + + /** + * Ruft den Wert der invoiceeTradeParty-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradePartyType } + * + */ + public TradePartyType getInvoiceeTradeParty() { + return invoiceeTradeParty; + } + + /** + * Legt den Wert der invoiceeTradeParty-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradePartyType } + * + */ + public void setInvoiceeTradeParty(TradePartyType value) { + this.invoiceeTradeParty = value; + } + + /** + * Gets the value of the payeeTradeParty property. + * + *

+ * 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 set method for the payeeTradeParty property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPayeeTradeParty().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradePartyType } + * + * + */ + public List getPayeeTradeParty() { + if (payeeTradeParty == null) { + payeeTradeParty = new ArrayList(); + } + return this.payeeTradeParty; + } + + /** + * Gets the value of the specifiedTradeSettlementPaymentMeans property. + * + *

+ * 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 set method for the specifiedTradeSettlementPaymentMeans property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSpecifiedTradeSettlementPaymentMeans().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeSettlementPaymentMeansType } + * + * + */ + public List getSpecifiedTradeSettlementPaymentMeans() { + if (specifiedTradeSettlementPaymentMeans == null) { + specifiedTradeSettlementPaymentMeans = new ArrayList(); + } + return this.specifiedTradeSettlementPaymentMeans; + } + + /** + * Gets the value of the applicableTradeTax property. + * + *

+ * 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 set method for the applicableTradeTax property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getApplicableTradeTax().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeTaxType } + * + * + */ + public List getApplicableTradeTax() { + if (applicableTradeTax == null) { + applicableTradeTax = new ArrayList(); + } + return this.applicableTradeTax; + } + + /** + * Gets the value of the billingSpecifiedPeriod property. + * + *

+ * 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 set method for the billingSpecifiedPeriod property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBillingSpecifiedPeriod().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SpecifiedPeriodType } + * + * + */ + public List getBillingSpecifiedPeriod() { + if (billingSpecifiedPeriod == null) { + billingSpecifiedPeriod = new ArrayList(); + } + return this.billingSpecifiedPeriod; + } + + /** + * Gets the value of the specifiedTradeAllowanceCharge property. + * + *

+ * 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 set method for the specifiedTradeAllowanceCharge property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSpecifiedTradeAllowanceCharge().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeAllowanceChargeType } + * + * + */ + public List getSpecifiedTradeAllowanceCharge() { + if (specifiedTradeAllowanceCharge == null) { + specifiedTradeAllowanceCharge = new ArrayList(); + } + return this.specifiedTradeAllowanceCharge; + } + + /** + * Gets the value of the specifiedLogisticsServiceCharge property. + * + *

+ * 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 set method for the specifiedLogisticsServiceCharge property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSpecifiedLogisticsServiceCharge().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link LogisticsServiceChargeType } + * + * + */ + public List getSpecifiedLogisticsServiceCharge() { + if (specifiedLogisticsServiceCharge == null) { + specifiedLogisticsServiceCharge = new ArrayList(); + } + return this.specifiedLogisticsServiceCharge; + } + + /** + * Gets the value of the specifiedTradePaymentTerms property. + * + *

+ * 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 set method for the specifiedTradePaymentTerms property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSpecifiedTradePaymentTerms().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradePaymentTermsType } + * + * + */ + public List getSpecifiedTradePaymentTerms() { + if (specifiedTradePaymentTerms == null) { + specifiedTradePaymentTerms = new ArrayList(); + } + return this.specifiedTradePaymentTerms; + } + + /** + * Gets the value of the specifiedTradeAccountingAccount property. + * + *

+ * 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 set method for the specifiedTradeAccountingAccount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSpecifiedTradeAccountingAccount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeAccountingAccountType } + * + * + */ + public List getSpecifiedTradeAccountingAccount() { + if (specifiedTradeAccountingAccount == null) { + specifiedTradeAccountingAccount = new ArrayList(); + } + return this.specifiedTradeAccountingAccount; + } + + /** + * Ruft den Wert der specifiedTradeSettlementMonetarySummation-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradeSettlementMonetarySummationType } + * + */ + public TradeSettlementMonetarySummationType getSpecifiedTradeSettlementMonetarySummation() { + return specifiedTradeSettlementMonetarySummation; + } + + /** + * Legt den Wert der specifiedTradeSettlementMonetarySummation-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradeSettlementMonetarySummationType } + * + */ + public void setSpecifiedTradeSettlementMonetarySummation(TradeSettlementMonetarySummationType value) { + this.specifiedTradeSettlementMonetarySummation = value; + } + + /** + * Gets the value of the receivableSpecifiedTradeAccountingAccount property. + * + *

+ * 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 set method for the receivableSpecifiedTradeAccountingAccount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getReceivableSpecifiedTradeAccountingAccount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeAccountingAccountType } + * + * + */ + public List getReceivableSpecifiedTradeAccountingAccount() { + if (receivableSpecifiedTradeAccountingAccount == null) { + receivableSpecifiedTradeAccountingAccount = new ArrayList(); + } + return this.receivableSpecifiedTradeAccountingAccount; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeTransactionType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeTransactionType.java new file mode 100644 index 00000000..65d6e471 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/SupplyChainTradeTransactionType.java @@ -0,0 +1,165 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r SupplyChainTradeTransactionType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="SupplyChainTradeTransactionType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ApplicableSupplyChainTradeAgreement" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainTradeAgreementType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ApplicableSupplyChainTradeDelivery" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainTradeDeliveryType" minOccurs="0"/>
+ *         <element name="ApplicableSupplyChainTradeSettlement" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainTradeSettlementType" minOccurs="0"/>
+ *         <element name="IncludedSupplyChainTradeLineItem" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}SupplyChainTradeLineItemType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SupplyChainTradeTransactionType", propOrder = { + "applicableSupplyChainTradeAgreement", + "applicableSupplyChainTradeDelivery", + "applicableSupplyChainTradeSettlement", + "includedSupplyChainTradeLineItem" +}) +public class SupplyChainTradeTransactionType { + + @XmlElement(name = "ApplicableSupplyChainTradeAgreement") + protected List applicableSupplyChainTradeAgreement; + @XmlElement(name = "ApplicableSupplyChainTradeDelivery") + protected SupplyChainTradeDeliveryType applicableSupplyChainTradeDelivery; + @XmlElement(name = "ApplicableSupplyChainTradeSettlement") + protected SupplyChainTradeSettlementType applicableSupplyChainTradeSettlement; + @XmlElement(name = "IncludedSupplyChainTradeLineItem") + protected List includedSupplyChainTradeLineItem; + + /** + * Gets the value of the applicableSupplyChainTradeAgreement property. + * + *

+ * 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 set method for the applicableSupplyChainTradeAgreement property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getApplicableSupplyChainTradeAgreement().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SupplyChainTradeAgreementType } + * + * + */ + public List getApplicableSupplyChainTradeAgreement() { + if (applicableSupplyChainTradeAgreement == null) { + applicableSupplyChainTradeAgreement = new ArrayList(); + } + return this.applicableSupplyChainTradeAgreement; + } + + /** + * Ruft den Wert der applicableSupplyChainTradeDelivery-Eigenschaft ab. + * + * @return + * possible object is + * {@link SupplyChainTradeDeliveryType } + * + */ + public SupplyChainTradeDeliveryType getApplicableSupplyChainTradeDelivery() { + return applicableSupplyChainTradeDelivery; + } + + /** + * Legt den Wert der applicableSupplyChainTradeDelivery-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SupplyChainTradeDeliveryType } + * + */ + public void setApplicableSupplyChainTradeDelivery(SupplyChainTradeDeliveryType value) { + this.applicableSupplyChainTradeDelivery = value; + } + + /** + * Ruft den Wert der applicableSupplyChainTradeSettlement-Eigenschaft ab. + * + * @return + * possible object is + * {@link SupplyChainTradeSettlementType } + * + */ + public SupplyChainTradeSettlementType getApplicableSupplyChainTradeSettlement() { + return applicableSupplyChainTradeSettlement; + } + + /** + * Legt den Wert der applicableSupplyChainTradeSettlement-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SupplyChainTradeSettlementType } + * + */ + public void setApplicableSupplyChainTradeSettlement(SupplyChainTradeSettlementType value) { + this.applicableSupplyChainTradeSettlement = value; + } + + /** + * Gets the value of the includedSupplyChainTradeLineItem property. + * + *

+ * 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 set method for the includedSupplyChainTradeLineItem property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getIncludedSupplyChainTradeLineItem().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link SupplyChainTradeLineItemType } + * + * + */ + public List getIncludedSupplyChainTradeLineItem() { + if (includedSupplyChainTradeLineItem == null) { + includedSupplyChainTradeLineItem = new ArrayList(); + } + return this.includedSupplyChainTradeLineItem; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TaxCategoryCodeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TaxCategoryCodeType.java new file mode 100644 index 00000000..c1f24ec1 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TaxCategoryCodeType.java @@ -0,0 +1,76 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r TaxCategoryCodeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TaxCategoryCodeType">
+ *   <simpleContent>
+ *     <extension base="<urn:un:unece:uncefact:data:standard:QualifiedDataType:12>TaxCategoryCodeContentType">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TaxCategoryCodeType", namespace = "urn:un:unece:uncefact:data:standard:QualifiedDataType:12", propOrder = { + "value" +}) +public class TaxCategoryCodeType { + + public static final String STANDARDRATE = "S"; + public static final String REVERSECHARGE = "AE"; + public static final String TAXEXEMPT = "E"; + public static final String ZEROTAXPRODUCTS = "Z"; + public static final String UNTAXEDSERVICE = "O"; + public static final String INTRACOMMUNITY = "IC"; + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TaxRegistrationType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TaxRegistrationType.java new file mode 100644 index 00000000..5fcb5b3c --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TaxRegistrationType.java @@ -0,0 +1,72 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r TaxRegistrationType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TaxRegistrationType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TaxRegistrationType", propOrder = { + "id" +}) +public class TaxRegistrationType { + + public static final String USTID = "VA"; + public static final String TAXID = "FC"; + + @XmlElement(name = "ID") + protected IDType id; + + /** + * Ruft den Wert der id-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getID() { + return id; + } + + /** + * Legt den Wert der id-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setID(IDType value) { + this.id = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TaxTypeCodeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TaxTypeCodeType.java new file mode 100644 index 00000000..d3c59fe6 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TaxTypeCodeType.java @@ -0,0 +1,73 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java-Klasse f�r TaxTypeCodeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TaxTypeCodeType">
+ *   <simpleContent>
+ *     <extension base="<urn:un:unece:uncefact:data:standard:QualifiedDataType:12>TaxTypeCodeContentType">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TaxTypeCodeType", namespace = "urn:un:unece:uncefact:data:standard:QualifiedDataType:12", propOrder = { + "value" +}) +public class TaxTypeCodeType { + + public static final String SALESTAX = "VAT"; + public static final String INSURANCETAX = "ZF_INSURANCE_TAX"; + public static final String OLDPART = "AAJ"; + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + protected String value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TextType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TextType.java new file mode 100644 index 00000000..84ee4eb7 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TextType.java @@ -0,0 +1,66 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.XmlValue; + + +/** + *

Java-Klasse f�r TextType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TextType">
+ *   <simpleContent>
+ *     <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ *     </extension>
+ *   </simpleContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TextType", namespace = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", propOrder = { + "value" +}) +public class TextType { + + @XmlValue + protected String value; + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeAccountingAccountType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeAccountingAccountType.java new file mode 100644 index 00000000..4545ed74 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeAccountingAccountType.java @@ -0,0 +1,69 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r TradeAccountingAccountType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeAccountingAccountType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeAccountingAccountType", propOrder = { + "id" +}) +public class TradeAccountingAccountType { + + @XmlElement(name = "ID") + protected IDType id; + + /** + * Ruft den Wert der id-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getID() { + return id; + } + + /** + * Legt den Wert der id-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setID(IDType value) { + this.id = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeAddressType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeAddressType.java new file mode 100644 index 00000000..a1008330 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeAddressType.java @@ -0,0 +1,188 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradeAddressType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeAddressType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PostcodeCode" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}CodeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="LineOne" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *         <element name="LineTwo" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *         <element name="CityName" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *         <element name="CountryID" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}CountryIDType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeAddressType", propOrder = { + "postcodeCode", + "lineOne", + "lineTwo", + "cityName", + "countryID" +}) +public class TradeAddressType { + + @XmlElement(name = "PostcodeCode") + protected List postcodeCode; + @XmlElement(name = "LineOne") + protected TextType lineOne; + @XmlElement(name = "LineTwo") + protected TextType lineTwo; + @XmlElement(name = "CityName") + protected TextType cityName; + @XmlElement(name = "CountryID") + protected CountryIDType countryID; + + /** + * Gets the value of the postcodeCode property. + * + *

+ * 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 set method for the postcodeCode property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPostcodeCode().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CodeType } + * + * + */ + public List getPostcodeCode() { + if (postcodeCode == null) { + postcodeCode = new ArrayList(); + } + return this.postcodeCode; + } + + /** + * Ruft den Wert der lineOne-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getLineOne() { + return lineOne; + } + + /** + * Legt den Wert der lineOne-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setLineOne(TextType value) { + this.lineOne = value; + } + + /** + * Ruft den Wert der lineTwo-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getLineTwo() { + return lineTwo; + } + + /** + * Legt den Wert der lineTwo-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setLineTwo(TextType value) { + this.lineTwo = value; + } + + /** + * Ruft den Wert der cityName-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getCityName() { + return cityName; + } + + /** + * Legt den Wert der cityName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setCityName(TextType value) { + this.cityName = value; + } + + /** + * Ruft den Wert der countryID-Eigenschaft ab. + * + * @return + * possible object is + * {@link CountryIDType } + * + */ + public CountryIDType getCountryID() { + return countryID; + } + + /** + * Legt den Wert der countryID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link CountryIDType } + * + */ + public void setCountryID(CountryIDType value) { + this.countryID = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeAllowanceChargeType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeAllowanceChargeType.java new file mode 100644 index 00000000..0d85382e --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeAllowanceChargeType.java @@ -0,0 +1,305 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradeAllowanceChargeType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeAllowanceChargeType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ChargeIndicator" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IndicatorType" minOccurs="0"/>
+ *         <element name="SequenceNumeric" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}NumericType" minOccurs="0"/>
+ *         <element name="CalculationPercent" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}PercentType" minOccurs="0"/>
+ *         <element name="BasisAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" minOccurs="0"/>
+ *         <element name="BasisQuantity" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}QuantityType" minOccurs="0"/>
+ *         <element name="ActualAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ReasonCode" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}AllowanceChargeReasonCodeType" minOccurs="0"/>
+ *         <element name="Reason" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *         <element name="CategoryTradeTax" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeTaxType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeAllowanceChargeType", propOrder = { + "chargeIndicator", + "sequenceNumeric", + "calculationPercent", + "basisAmount", + "basisQuantity", + "actualAmount", + "reasonCode", + "reason", + "categoryTradeTax" +}) +public class TradeAllowanceChargeType { + + @XmlElement(name = "ChargeIndicator") + protected IndicatorType chargeIndicator; + @XmlElement(name = "SequenceNumeric") + protected NumericType sequenceNumeric; + @XmlElement(name = "CalculationPercent") + protected PercentType calculationPercent; + @XmlElement(name = "BasisAmount") + protected AmountType basisAmount; + @XmlElement(name = "BasisQuantity") + protected QuantityType basisQuantity; + @XmlElement(name = "ActualAmount") + protected List actualAmount; + @XmlElement(name = "ReasonCode") + protected AllowanceChargeReasonCodeType reasonCode; + @XmlElement(name = "Reason") + protected TextType reason; + @XmlElement(name = "CategoryTradeTax") + protected List categoryTradeTax; + + /** + * Ruft den Wert der chargeIndicator-Eigenschaft ab. + * + * @return + * possible object is + * {@link IndicatorType } + * + */ + public IndicatorType getChargeIndicator() { + return chargeIndicator; + } + + /** + * Legt den Wert der chargeIndicator-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IndicatorType } + * + */ + public void setChargeIndicator(IndicatorType value) { + this.chargeIndicator = value; + } + + /** + * Ruft den Wert der sequenceNumeric-Eigenschaft ab. + * + * @return + * possible object is + * {@link NumericType } + * + */ + public NumericType getSequenceNumeric() { + return sequenceNumeric; + } + + /** + * Legt den Wert der sequenceNumeric-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link NumericType } + * + */ + public void setSequenceNumeric(NumericType value) { + this.sequenceNumeric = value; + } + + /** + * Ruft den Wert der calculationPercent-Eigenschaft ab. + * + * @return + * possible object is + * {@link PercentType } + * + */ + public PercentType getCalculationPercent() { + return calculationPercent; + } + + /** + * Legt den Wert der calculationPercent-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PercentType } + * + */ + public void setCalculationPercent(PercentType value) { + this.calculationPercent = value; + } + + /** + * Ruft den Wert der basisAmount-Eigenschaft ab. + * + * @return + * possible object is + * {@link AmountType } + * + */ + public AmountType getBasisAmount() { + return basisAmount; + } + + /** + * Legt den Wert der basisAmount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link AmountType } + * + */ + public void setBasisAmount(AmountType value) { + this.basisAmount = value; + } + + /** + * Ruft den Wert der basisQuantity-Eigenschaft ab. + * + * @return + * possible object is + * {@link QuantityType } + * + */ + public QuantityType getBasisQuantity() { + return basisQuantity; + } + + /** + * Legt den Wert der basisQuantity-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link QuantityType } + * + */ + public void setBasisQuantity(QuantityType value) { + this.basisQuantity = value; + } + + /** + * Gets the value of the actualAmount property. + * + *

+ * 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 set method for the actualAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getActualAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getActualAmount() { + if (actualAmount == null) { + actualAmount = new ArrayList(); + } + return this.actualAmount; + } + + /** + * Ruft den Wert der reasonCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link AllowanceChargeReasonCodeType } + * + */ + public AllowanceChargeReasonCodeType getReasonCode() { + return reasonCode; + } + + /** + * Legt den Wert der reasonCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link AllowanceChargeReasonCodeType } + * + */ + public void setReasonCode(AllowanceChargeReasonCodeType value) { + this.reasonCode = value; + } + + /** + * Ruft den Wert der reason-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getReason() { + return reason; + } + + /** + * Legt den Wert der reason-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setReason(TextType value) { + this.reason = value; + } + + /** + * Gets the value of the categoryTradeTax property. + * + *

+ * 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 set method for the categoryTradeTax property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getCategoryTradeTax().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeTaxType } + * + * + */ + public List getCategoryTradeTax() { + if (categoryTradeTax == null) { + categoryTradeTax = new ArrayList(); + } + return this.categoryTradeTax; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeContactType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeContactType.java new file mode 100644 index 00000000..e81483dd --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeContactType.java @@ -0,0 +1,193 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradeContactType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeContactType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="PersonName" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *         <element name="DepartmentName" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *         <element name="TelephoneUniversalCommunication" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}UniversalCommunicationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="FaxUniversalCommunication" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}UniversalCommunicationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="EmailURIUniversalCommunication" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}UniversalCommunicationType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeContactType", propOrder = { + "personName", + "departmentName", + "telephoneUniversalCommunication", + "faxUniversalCommunication", + "emailURIUniversalCommunication" +}) +public class TradeContactType { + + @XmlElement(name = "PersonName") + protected TextType personName; + @XmlElement(name = "DepartmentName") + protected TextType departmentName; + @XmlElement(name = "TelephoneUniversalCommunication") + protected List telephoneUniversalCommunication; + @XmlElement(name = "FaxUniversalCommunication") + protected List faxUniversalCommunication; + @XmlElement(name = "EmailURIUniversalCommunication") + protected UniversalCommunicationType emailURIUniversalCommunication; + + /** + * Ruft den Wert der personName-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getPersonName() { + return personName; + } + + /** + * Legt den Wert der personName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setPersonName(TextType value) { + this.personName = value; + } + + /** + * Ruft den Wert der departmentName-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getDepartmentName() { + return departmentName; + } + + /** + * Legt den Wert der departmentName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setDepartmentName(TextType value) { + this.departmentName = value; + } + + /** + * Gets the value of the telephoneUniversalCommunication property. + * + *

+ * 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 set method for the telephoneUniversalCommunication property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTelephoneUniversalCommunication().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link UniversalCommunicationType } + * + * + */ + public List getTelephoneUniversalCommunication() { + if (telephoneUniversalCommunication == null) { + telephoneUniversalCommunication = new ArrayList(); + } + return this.telephoneUniversalCommunication; + } + + /** + * Gets the value of the faxUniversalCommunication property. + * + *

+ * 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 set method for the faxUniversalCommunication property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getFaxUniversalCommunication().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link UniversalCommunicationType } + * + * + */ + public List getFaxUniversalCommunication() { + if (faxUniversalCommunication == null) { + faxUniversalCommunication = new ArrayList(); + } + return this.faxUniversalCommunication; + } + + /** + * Ruft den Wert der emailURIUniversalCommunication-Eigenschaft ab. + * + * @return + * possible object is + * {@link UniversalCommunicationType } + * + */ + public UniversalCommunicationType getEmailURIUniversalCommunication() { + return emailURIUniversalCommunication; + } + + /** + * Legt den Wert der emailURIUniversalCommunication-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link UniversalCommunicationType } + * + */ + public void setEmailURIUniversalCommunication(UniversalCommunicationType value) { + this.emailURIUniversalCommunication = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeCountryType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeCountryType.java new file mode 100644 index 00000000..e22f9258 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeCountryType.java @@ -0,0 +1,76 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradeCountryType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeCountryType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ID" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}CountryIDType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeCountryType", propOrder = { + "id" +}) +public class TradeCountryType { + + @XmlElement(name = "ID") + protected List id; + + /** + * Gets the value of the id property. + * + *

+ * 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 set method for the id property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getID().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CountryIDType } + * + * + */ + public List getID() { + if (id == null) { + id = new ArrayList(); + } + return this.id; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeDeliveryTermsType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeDeliveryTermsType.java new file mode 100644 index 00000000..677dc7a3 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeDeliveryTermsType.java @@ -0,0 +1,69 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r TradeDeliveryTermsType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeDeliveryTermsType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="DeliveryTypeCode" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}DeliveryTermsCodeType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeDeliveryTermsType", propOrder = { + "deliveryTypeCode" +}) +public class TradeDeliveryTermsType { + + @XmlElement(name = "DeliveryTypeCode") + protected DeliveryTermsCodeType deliveryTypeCode; + + /** + * Ruft den Wert der deliveryTypeCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link DeliveryTermsCodeType } + * + */ + public DeliveryTermsCodeType getDeliveryTypeCode() { + return deliveryTypeCode; + } + + /** + * Legt den Wert der deliveryTypeCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DeliveryTermsCodeType } + * + */ + public void setDeliveryTypeCode(DeliveryTermsCodeType value) { + this.deliveryTypeCode = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePartyType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePartyType.java new file mode 100644 index 00000000..ee70c846 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePartyType.java @@ -0,0 +1,231 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradePartyType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradePartyType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="GlobalID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="Name" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *         <element name="DefinedTradeContact" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeContactType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="PostalTradeAddress" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeAddressType" minOccurs="0"/>
+ *         <element name="SpecifiedTaxRegistration" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TaxRegistrationType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradePartyType", propOrder = { + "id", + "globalID", + "name", + "definedTradeContact", + "postalTradeAddress", + "specifiedTaxRegistration" +}) +public class TradePartyType { + + @XmlElement(name = "ID") + protected List id; + @XmlElement(name = "GlobalID") + protected List globalID; + @XmlElement(name = "Name") + protected TextType name; + @XmlElement(name = "DefinedTradeContact") + protected List definedTradeContact; + @XmlElement(name = "PostalTradeAddress") + protected TradeAddressType postalTradeAddress; + @XmlElement(name = "SpecifiedTaxRegistration") + protected List specifiedTaxRegistration; + + /** + * Gets the value of the id property. + * + *

+ * 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 set method for the id property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getID().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IDType } + * + * + */ + public List getID() { + if (id == null) { + id = new ArrayList(); + } + return this.id; + } + + /** + * Gets the value of the globalID property. + * + *

+ * 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 set method for the globalID property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getGlobalID().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IDType } + * + * + */ + public List getGlobalID() { + if (globalID == null) { + globalID = new ArrayList(); + } + return this.globalID; + } + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setName(TextType value) { + this.name = value; + } + + /** + * Gets the value of the definedTradeContact property. + * + *

+ * 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 set method for the definedTradeContact property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDefinedTradeContact().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeContactType } + * + * + */ + public List getDefinedTradeContact() { + if (definedTradeContact == null) { + definedTradeContact = new ArrayList(); + } + return this.definedTradeContact; + } + + /** + * Ruft den Wert der postalTradeAddress-Eigenschaft ab. + * + * @return + * possible object is + * {@link TradeAddressType } + * + */ + public TradeAddressType getPostalTradeAddress() { + return postalTradeAddress; + } + + /** + * Legt den Wert der postalTradeAddress-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TradeAddressType } + * + */ + public void setPostalTradeAddress(TradeAddressType value) { + this.postalTradeAddress = value; + } + + /** + * Gets the value of the specifiedTaxRegistration property. + * + *

+ * 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 set method for the specifiedTaxRegistration property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getSpecifiedTaxRegistration().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TaxRegistrationType } + * + * + */ + public List getSpecifiedTaxRegistration() { + if (specifiedTaxRegistration == null) { + specifiedTaxRegistration = new ArrayList(); + } + return this.specifiedTaxRegistration; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePaymentDiscountTermsType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePaymentDiscountTermsType.java new file mode 100644 index 00000000..ca141163 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePaymentDiscountTermsType.java @@ -0,0 +1,193 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradePaymentDiscountTermsType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradePaymentDiscountTermsType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BasisDateTime" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}DateTimeType" minOccurs="0"/>
+ *         <element name="BasisPeriodMeasure" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}MeasureType" minOccurs="0"/>
+ *         <element name="BasisAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="CalculationPercent" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}PercentType" minOccurs="0"/>
+ *         <element name="ActualDiscountAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradePaymentDiscountTermsType", propOrder = { + "basisDateTime", + "basisPeriodMeasure", + "basisAmount", + "calculationPercent", + "actualDiscountAmount" +}) +public class TradePaymentDiscountTermsType { + + @XmlElement(name = "BasisDateTime") + protected DateTimeType basisDateTime; + @XmlElement(name = "BasisPeriodMeasure") + protected MeasureType basisPeriodMeasure; + @XmlElement(name = "BasisAmount") + protected List basisAmount; + @XmlElement(name = "CalculationPercent") + protected PercentType calculationPercent; + @XmlElement(name = "ActualDiscountAmount") + protected List actualDiscountAmount; + + /** + * Ruft den Wert der basisDateTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link DateTimeType } + * + */ + public DateTimeType getBasisDateTime() { + return basisDateTime; + } + + /** + * Legt den Wert der basisDateTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DateTimeType } + * + */ + public void setBasisDateTime(DateTimeType value) { + this.basisDateTime = value; + } + + /** + * Ruft den Wert der basisPeriodMeasure-Eigenschaft ab. + * + * @return + * possible object is + * {@link MeasureType } + * + */ + public MeasureType getBasisPeriodMeasure() { + return basisPeriodMeasure; + } + + /** + * Legt den Wert der basisPeriodMeasure-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MeasureType } + * + */ + public void setBasisPeriodMeasure(MeasureType value) { + this.basisPeriodMeasure = value; + } + + /** + * Gets the value of the basisAmount property. + * + *

+ * 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 set method for the basisAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBasisAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getBasisAmount() { + if (basisAmount == null) { + basisAmount = new ArrayList(); + } + return this.basisAmount; + } + + /** + * Ruft den Wert der calculationPercent-Eigenschaft ab. + * + * @return + * possible object is + * {@link PercentType } + * + */ + public PercentType getCalculationPercent() { + return calculationPercent; + } + + /** + * Legt den Wert der calculationPercent-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PercentType } + * + */ + public void setCalculationPercent(PercentType value) { + this.calculationPercent = value; + } + + /** + * Gets the value of the actualDiscountAmount property. + * + *

+ * 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 set method for the actualDiscountAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getActualDiscountAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getActualDiscountAmount() { + if (actualDiscountAmount == null) { + actualDiscountAmount = new ArrayList(); + } + return this.actualDiscountAmount; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePaymentPenaltyTermsType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePaymentPenaltyTermsType.java new file mode 100644 index 00000000..f050c742 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePaymentPenaltyTermsType.java @@ -0,0 +1,193 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradePaymentPenaltyTermsType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradePaymentPenaltyTermsType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="BasisDateTime" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}DateTimeType" minOccurs="0"/>
+ *         <element name="BasisPeriodMeasure" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}MeasureType" minOccurs="0"/>
+ *         <element name="BasisAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="CalculationPercent" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}PercentType" minOccurs="0"/>
+ *         <element name="ActualPenaltyAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradePaymentPenaltyTermsType", propOrder = { + "basisDateTime", + "basisPeriodMeasure", + "basisAmount", + "calculationPercent", + "actualPenaltyAmount" +}) +public class TradePaymentPenaltyTermsType { + + @XmlElement(name = "BasisDateTime") + protected DateTimeType basisDateTime; + @XmlElement(name = "BasisPeriodMeasure") + protected MeasureType basisPeriodMeasure; + @XmlElement(name = "BasisAmount") + protected List basisAmount; + @XmlElement(name = "CalculationPercent") + protected PercentType calculationPercent; + @XmlElement(name = "ActualPenaltyAmount") + protected List actualPenaltyAmount; + + /** + * Ruft den Wert der basisDateTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link DateTimeType } + * + */ + public DateTimeType getBasisDateTime() { + return basisDateTime; + } + + /** + * Legt den Wert der basisDateTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DateTimeType } + * + */ + public void setBasisDateTime(DateTimeType value) { + this.basisDateTime = value; + } + + /** + * Ruft den Wert der basisPeriodMeasure-Eigenschaft ab. + * + * @return + * possible object is + * {@link MeasureType } + * + */ + public MeasureType getBasisPeriodMeasure() { + return basisPeriodMeasure; + } + + /** + * Legt den Wert der basisPeriodMeasure-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link MeasureType } + * + */ + public void setBasisPeriodMeasure(MeasureType value) { + this.basisPeriodMeasure = value; + } + + /** + * Gets the value of the basisAmount property. + * + *

+ * 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 set method for the basisAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBasisAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getBasisAmount() { + if (basisAmount == null) { + basisAmount = new ArrayList(); + } + return this.basisAmount; + } + + /** + * Ruft den Wert der calculationPercent-Eigenschaft ab. + * + * @return + * possible object is + * {@link PercentType } + * + */ + public PercentType getCalculationPercent() { + return calculationPercent; + } + + /** + * Legt den Wert der calculationPercent-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PercentType } + * + */ + public void setCalculationPercent(PercentType value) { + this.calculationPercent = value; + } + + /** + * Gets the value of the actualPenaltyAmount property. + * + *

+ * 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 set method for the actualPenaltyAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getActualPenaltyAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getActualPenaltyAmount() { + if (actualPenaltyAmount == null) { + actualPenaltyAmount = new ArrayList(); + } + return this.actualPenaltyAmount; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePaymentTermsType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePaymentTermsType.java new file mode 100644 index 00000000..476d89e7 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePaymentTermsType.java @@ -0,0 +1,203 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradePaymentTermsType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradePaymentTermsType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="Description" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="DueDateDateTime" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}DateTimeType" minOccurs="0"/>
+ *         <element name="PartialPaymentAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ApplicableTradePaymentPenaltyTerms" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePaymentPenaltyTermsType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ApplicableTradePaymentDiscountTerms" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradePaymentDiscountTermsType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradePaymentTermsType", propOrder = { + "description", + "dueDateDateTime", + "partialPaymentAmount", + "applicableTradePaymentPenaltyTerms", + "applicableTradePaymentDiscountTerms" +}) +public class TradePaymentTermsType { + + @XmlElement(name = "Description") + protected List description; + @XmlElement(name = "DueDateDateTime") + protected DateTimeType dueDateDateTime; + @XmlElement(name = "PartialPaymentAmount") + protected List partialPaymentAmount; + @XmlElement(name = "ApplicableTradePaymentPenaltyTerms") + protected List applicableTradePaymentPenaltyTerms; + @XmlElement(name = "ApplicableTradePaymentDiscountTerms") + protected List applicableTradePaymentDiscountTerms; + + /** + * Gets the value of the description property. + * + *

+ * 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 set method for the description property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getDescription() { + if (description == null) { + description = new ArrayList(); + } + return this.description; + } + + /** + * Ruft den Wert der dueDateDateTime-Eigenschaft ab. + * + * @return + * possible object is + * {@link DateTimeType } + * + */ + public DateTimeType getDueDateDateTime() { + return dueDateDateTime; + } + + /** + * Legt den Wert der dueDateDateTime-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DateTimeType } + * + */ + public void setDueDateDateTime(DateTimeType value) { + this.dueDateDateTime = value; + } + + /** + * Gets the value of the partialPaymentAmount property. + * + *

+ * 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 set method for the partialPaymentAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPartialPaymentAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getPartialPaymentAmount() { + if (partialPaymentAmount == null) { + partialPaymentAmount = new ArrayList(); + } + return this.partialPaymentAmount; + } + + /** + * Gets the value of the applicableTradePaymentPenaltyTerms property. + * + *

+ * 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 set method for the applicableTradePaymentPenaltyTerms property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getApplicableTradePaymentPenaltyTerms().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradePaymentPenaltyTermsType } + * + * + */ + public List getApplicableTradePaymentPenaltyTerms() { + if (applicableTradePaymentPenaltyTerms == null) { + applicableTradePaymentPenaltyTerms = new ArrayList(); + } + return this.applicableTradePaymentPenaltyTerms; + } + + /** + * Gets the value of the applicableTradePaymentDiscountTerms property. + * + *

+ * 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 set method for the applicableTradePaymentDiscountTerms property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getApplicableTradePaymentDiscountTerms().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradePaymentDiscountTermsType } + * + * + */ + public List getApplicableTradePaymentDiscountTerms() { + if (applicableTradePaymentDiscountTerms == null) { + applicableTradePaymentDiscountTerms = new ArrayList(); + } + return this.applicableTradePaymentDiscountTerms; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePriceType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePriceType.java new file mode 100644 index 00000000..a205a694 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradePriceType.java @@ -0,0 +1,137 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradePriceType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradePriceType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="ChargeAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="BasisQuantity" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}QuantityType" minOccurs="0"/>
+ *         <element name="AppliedTradeAllowanceCharge" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeAllowanceChargeType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradePriceType", propOrder = { + "chargeAmount", + "basisQuantity", + "appliedTradeAllowanceCharge" +}) +public class TradePriceType { + + @XmlElement(name = "ChargeAmount") + protected List chargeAmount; + @XmlElement(name = "BasisQuantity") + protected QuantityType basisQuantity; + @XmlElement(name = "AppliedTradeAllowanceCharge") + protected List appliedTradeAllowanceCharge; + + /** + * Gets the value of the chargeAmount property. + * + *

+ * 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 set method for the chargeAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getChargeAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getChargeAmount() { + if (chargeAmount == null) { + chargeAmount = new ArrayList(); + } + return this.chargeAmount; + } + + /** + * Ruft den Wert der basisQuantity-Eigenschaft ab. + * + * @return + * possible object is + * {@link QuantityType } + * + */ + public QuantityType getBasisQuantity() { + return basisQuantity; + } + + /** + * Legt den Wert der basisQuantity-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link QuantityType } + * + */ + public void setBasisQuantity(QuantityType value) { + this.basisQuantity = value; + } + + /** + * Gets the value of the appliedTradeAllowanceCharge property. + * + *

+ * 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 set method for the appliedTradeAllowanceCharge property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAppliedTradeAllowanceCharge().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeAllowanceChargeType } + * + * + */ + public List getAppliedTradeAllowanceCharge() { + if (appliedTradeAllowanceCharge == null) { + appliedTradeAllowanceCharge = new ArrayList(); + } + return this.appliedTradeAllowanceCharge; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeProductType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeProductType.java new file mode 100644 index 00000000..dcd79221 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeProductType.java @@ -0,0 +1,330 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradeProductType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeProductType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="GlobalID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="SellerAssignedID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="BuyerAssignedID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="Name" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="Description" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ApplicableProductCharacteristic" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ProductCharacteristicType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="DesignatedProductClassification" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ProductClassificationType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="OriginTradeCountry" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}TradeCountryType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="IncludedReferencedProduct" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}ReferencedProductType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeProductType", propOrder = { + "globalID", + "sellerAssignedID", + "buyerAssignedID", + "name", + "description", + "applicableProductCharacteristic", + "designatedProductClassification", + "originTradeCountry", + "includedReferencedProduct" +}) +public class TradeProductType { + + @XmlElement(name = "GlobalID") + protected List globalID; + @XmlElement(name = "SellerAssignedID") + protected IDType sellerAssignedID; + @XmlElement(name = "BuyerAssignedID") + protected IDType buyerAssignedID; + @XmlElement(name = "Name") + protected List name; + @XmlElement(name = "Description") + protected List description; + @XmlElement(name = "ApplicableProductCharacteristic") + protected List applicableProductCharacteristic; + @XmlElement(name = "DesignatedProductClassification") + protected List designatedProductClassification; + @XmlElement(name = "OriginTradeCountry") + protected List originTradeCountry; + @XmlElement(name = "IncludedReferencedProduct") + protected List includedReferencedProduct; + + /** + * Gets the value of the globalID property. + * + *

+ * 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 set method for the globalID property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getGlobalID().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IDType } + * + * + */ + public List getGlobalID() { + if (globalID == null) { + globalID = new ArrayList(); + } + return this.globalID; + } + + /** + * Ruft den Wert der sellerAssignedID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getSellerAssignedID() { + return sellerAssignedID; + } + + /** + * Legt den Wert der sellerAssignedID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setSellerAssignedID(IDType value) { + this.sellerAssignedID = value; + } + + /** + * Ruft den Wert der buyerAssignedID-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getBuyerAssignedID() { + return buyerAssignedID; + } + + /** + * Legt den Wert der buyerAssignedID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setBuyerAssignedID(IDType value) { + this.buyerAssignedID = value; + } + + /** + * Gets the value of the name property. + * + *

+ * 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 set method for the name property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getName().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getName() { + if (name == null) { + name = new ArrayList(); + } + return this.name; + } + + /** + * Gets the value of the description property. + * + *

+ * 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 set method for the description property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getDescription() { + if (description == null) { + description = new ArrayList(); + } + return this.description; + } + + /** + * Gets the value of the applicableProductCharacteristic property. + * + *

+ * 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 set method for the applicableProductCharacteristic property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getApplicableProductCharacteristic().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ProductCharacteristicType } + * + * + */ + public List getApplicableProductCharacteristic() { + if (applicableProductCharacteristic == null) { + applicableProductCharacteristic = new ArrayList(); + } + return this.applicableProductCharacteristic; + } + + /** + * Gets the value of the designatedProductClassification property. + * + *

+ * 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 set method for the designatedProductClassification property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDesignatedProductClassification().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ProductClassificationType } + * + * + */ + public List getDesignatedProductClassification() { + if (designatedProductClassification == null) { + designatedProductClassification = new ArrayList(); + } + return this.designatedProductClassification; + } + + /** + * Gets the value of the originTradeCountry property. + * + *

+ * 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 set method for the originTradeCountry property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getOriginTradeCountry().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TradeCountryType } + * + * + */ + public List getOriginTradeCountry() { + if (originTradeCountry == null) { + originTradeCountry = new ArrayList(); + } + return this.originTradeCountry; + } + + /** + * Gets the value of the includedReferencedProduct property. + * + *

+ * 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 set method for the includedReferencedProduct property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getIncludedReferencedProduct().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ReferencedProductType } + * + * + */ + public List getIncludedReferencedProduct() { + if (includedReferencedProduct == null) { + includedReferencedProduct = new ArrayList(); + } + return this.includedReferencedProduct; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeSettlementMonetarySummationType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeSettlementMonetarySummationType.java new file mode 100644 index 00000000..596aeb7a --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeSettlementMonetarySummationType.java @@ -0,0 +1,340 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradeSettlementMonetarySummationType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeSettlementMonetarySummationType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="LineTotalAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ChargeTotalAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="AllowanceTotalAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="TaxBasisTotalAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="TaxTotalAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="GrandTotalAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="TotalPrepaidAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="TotalAllowanceChargeAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="DuePayableAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeSettlementMonetarySummationType", propOrder = { + "lineTotalAmount", + "chargeTotalAmount", + "allowanceTotalAmount", + "taxBasisTotalAmount", + "taxTotalAmount", + "grandTotalAmount", + "totalPrepaidAmount", + "totalAllowanceChargeAmount", + "duePayableAmount" +}) +public class TradeSettlementMonetarySummationType { + + @XmlElement(name = "LineTotalAmount") + protected List lineTotalAmount; + @XmlElement(name = "ChargeTotalAmount") + protected List chargeTotalAmount; + @XmlElement(name = "AllowanceTotalAmount") + protected List allowanceTotalAmount; + @XmlElement(name = "TaxBasisTotalAmount") + protected List taxBasisTotalAmount; + @XmlElement(name = "TaxTotalAmount") + protected List taxTotalAmount; + @XmlElement(name = "GrandTotalAmount") + protected List grandTotalAmount; + @XmlElement(name = "TotalPrepaidAmount") + protected List totalPrepaidAmount; + @XmlElement(name = "TotalAllowanceChargeAmount") + protected List totalAllowanceChargeAmount; + @XmlElement(name = "DuePayableAmount") + protected List duePayableAmount; + + /** + * Gets the value of the lineTotalAmount property. + * + *

+ * 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 set method for the lineTotalAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getLineTotalAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getLineTotalAmount() { + if (lineTotalAmount == null) { + lineTotalAmount = new ArrayList(); + } + return this.lineTotalAmount; + } + + /** + * Gets the value of the chargeTotalAmount property. + * + *

+ * 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 set method for the chargeTotalAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getChargeTotalAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getChargeTotalAmount() { + if (chargeTotalAmount == null) { + chargeTotalAmount = new ArrayList(); + } + return this.chargeTotalAmount; + } + + /** + * Gets the value of the allowanceTotalAmount property. + * + *

+ * 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 set method for the allowanceTotalAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAllowanceTotalAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getAllowanceTotalAmount() { + if (allowanceTotalAmount == null) { + allowanceTotalAmount = new ArrayList(); + } + return this.allowanceTotalAmount; + } + + /** + * Gets the value of the taxBasisTotalAmount property. + * + *

+ * 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 set method for the taxBasisTotalAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTaxBasisTotalAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getTaxBasisTotalAmount() { + if (taxBasisTotalAmount == null) { + taxBasisTotalAmount = new ArrayList(); + } + return this.taxBasisTotalAmount; + } + + /** + * Gets the value of the taxTotalAmount property. + * + *

+ * 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 set method for the taxTotalAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTaxTotalAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getTaxTotalAmount() { + if (taxTotalAmount == null) { + taxTotalAmount = new ArrayList(); + } + return this.taxTotalAmount; + } + + /** + * Gets the value of the grandTotalAmount property. + * + *

+ * 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 set method for the grandTotalAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getGrandTotalAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getGrandTotalAmount() { + if (grandTotalAmount == null) { + grandTotalAmount = new ArrayList(); + } + return this.grandTotalAmount; + } + + /** + * Gets the value of the totalPrepaidAmount property. + * + *

+ * 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 set method for the totalPrepaidAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTotalPrepaidAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getTotalPrepaidAmount() { + if (totalPrepaidAmount == null) { + totalPrepaidAmount = new ArrayList(); + } + return this.totalPrepaidAmount; + } + + /** + * Gets the value of the totalAllowanceChargeAmount property. + * + *

+ * 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 set method for the totalAllowanceChargeAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getTotalAllowanceChargeAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getTotalAllowanceChargeAmount() { + if (totalAllowanceChargeAmount == null) { + totalAllowanceChargeAmount = new ArrayList(); + } + return this.totalAllowanceChargeAmount; + } + + /** + * Gets the value of the duePayableAmount property. + * + *

+ * 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 set method for the duePayableAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDuePayableAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getDuePayableAmount() { + if (duePayableAmount == null) { + duePayableAmount = new ArrayList(); + } + return this.duePayableAmount; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeSettlementPaymentMeansType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeSettlementPaymentMeansType.java new file mode 100644 index 00000000..f629bbaf --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeSettlementPaymentMeansType.java @@ -0,0 +1,249 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradeSettlementPaymentMeansType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeSettlementPaymentMeansType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="TypeCode" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}PaymentMeansCodeType" minOccurs="0"/>
+ *         <element name="Information" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="ID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="PayerPartyDebtorFinancialAccount" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}DebtorFinancialAccountType" minOccurs="0"/>
+ *         <element name="PayeePartyCreditorFinancialAccount" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}CreditorFinancialAccountType" minOccurs="0"/>
+ *         <element name="PayerSpecifiedDebtorFinancialInstitution" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}DebtorFinancialInstitutionType" minOccurs="0"/>
+ *         <element name="PayeeSpecifiedCreditorFinancialInstitution" type="{urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12}CreditorFinancialInstitutionType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeSettlementPaymentMeansType", propOrder = { + "typeCode", + "information", + "id", + "payerPartyDebtorFinancialAccount", + "payeePartyCreditorFinancialAccount", + "payerSpecifiedDebtorFinancialInstitution", + "payeeSpecifiedCreditorFinancialInstitution" +}) +public class TradeSettlementPaymentMeansType { + + @XmlElement(name = "TypeCode") + protected PaymentMeansCodeType typeCode; + @XmlElement(name = "Information") + protected List information; + @XmlElement(name = "ID") + protected List id; + @XmlElement(name = "PayerPartyDebtorFinancialAccount") + protected DebtorFinancialAccountType payerPartyDebtorFinancialAccount; + @XmlElement(name = "PayeePartyCreditorFinancialAccount") + protected CreditorFinancialAccountType payeePartyCreditorFinancialAccount; + @XmlElement(name = "PayerSpecifiedDebtorFinancialInstitution") + protected DebtorFinancialInstitutionType payerSpecifiedDebtorFinancialInstitution; + @XmlElement(name = "PayeeSpecifiedCreditorFinancialInstitution") + protected CreditorFinancialInstitutionType payeeSpecifiedCreditorFinancialInstitution; + + /** + * Ruft den Wert der typeCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link PaymentMeansCodeType } + * + */ + public PaymentMeansCodeType getTypeCode() { + return typeCode; + } + + /** + * Legt den Wert der typeCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PaymentMeansCodeType } + * + */ + public void setTypeCode(PaymentMeansCodeType value) { + this.typeCode = value; + } + + /** + * Gets the value of the information property. + * + *

+ * 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 set method for the information property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getInformation().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link TextType } + * + * + */ + public List getInformation() { + if (information == null) { + information = new ArrayList(); + } + return this.information; + } + + /** + * Gets the value of the id property. + * + *

+ * 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 set method for the id property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getID().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link IDType } + * + * + */ + public List getID() { + if (id == null) { + id = new ArrayList(); + } + return this.id; + } + + /** + * Ruft den Wert der payerPartyDebtorFinancialAccount-Eigenschaft ab. + * + * @return + * possible object is + * {@link DebtorFinancialAccountType } + * + */ + public DebtorFinancialAccountType getPayerPartyDebtorFinancialAccount() { + return payerPartyDebtorFinancialAccount; + } + + /** + * Legt den Wert der payerPartyDebtorFinancialAccount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DebtorFinancialAccountType } + * + */ + public void setPayerPartyDebtorFinancialAccount(DebtorFinancialAccountType value) { + this.payerPartyDebtorFinancialAccount = value; + } + + /** + * Ruft den Wert der payeePartyCreditorFinancialAccount-Eigenschaft ab. + * + * @return + * possible object is + * {@link CreditorFinancialAccountType } + * + */ + public CreditorFinancialAccountType getPayeePartyCreditorFinancialAccount() { + return payeePartyCreditorFinancialAccount; + } + + /** + * Legt den Wert der payeePartyCreditorFinancialAccount-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link CreditorFinancialAccountType } + * + */ + public void setPayeePartyCreditorFinancialAccount(CreditorFinancialAccountType value) { + this.payeePartyCreditorFinancialAccount = value; + } + + /** + * Ruft den Wert der payerSpecifiedDebtorFinancialInstitution-Eigenschaft ab. + * + * @return + * possible object is + * {@link DebtorFinancialInstitutionType } + * + */ + public DebtorFinancialInstitutionType getPayerSpecifiedDebtorFinancialInstitution() { + return payerSpecifiedDebtorFinancialInstitution; + } + + /** + * Legt den Wert der payerSpecifiedDebtorFinancialInstitution-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DebtorFinancialInstitutionType } + * + */ + public void setPayerSpecifiedDebtorFinancialInstitution(DebtorFinancialInstitutionType value) { + this.payerSpecifiedDebtorFinancialInstitution = value; + } + + /** + * Ruft den Wert der payeeSpecifiedCreditorFinancialInstitution-Eigenschaft ab. + * + * @return + * possible object is + * {@link CreditorFinancialInstitutionType } + * + */ + public CreditorFinancialInstitutionType getPayeeSpecifiedCreditorFinancialInstitution() { + return payeeSpecifiedCreditorFinancialInstitution; + } + + /** + * Legt den Wert der payeeSpecifiedCreditorFinancialInstitution-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link CreditorFinancialInstitutionType } + * + */ + public void setPayeeSpecifiedCreditorFinancialInstitution(CreditorFinancialInstitutionType value) { + this.payeeSpecifiedCreditorFinancialInstitution = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeTaxType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeTaxType.java new file mode 100644 index 00000000..eb2f970f --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/TradeTaxType.java @@ -0,0 +1,287 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +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.XmlType; + + +/** + *

Java-Klasse f�r TradeTaxType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="TradeTaxType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="CalculatedAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="TypeCode" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}TaxTypeCodeType" minOccurs="0"/>
+ *         <element name="ExemptionReason" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *         <element name="BasisAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="LineTotalBasisAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="AllowanceChargeBasisAmount" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}AmountType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="CategoryCode" type="{urn:un:unece:uncefact:data:standard:QualifiedDataType:12}TaxCategoryCodeType" minOccurs="0"/>
+ *         <element name="ApplicablePercent" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}PercentType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "TradeTaxType", propOrder = { + "calculatedAmount", + "typeCode", + "exemptionReason", + "basisAmount", + "lineTotalBasisAmount", + "allowanceChargeBasisAmount", + "categoryCode", + "applicablePercent" +}) +public class TradeTaxType { + + @XmlElement(name = "CalculatedAmount") + protected List calculatedAmount; + @XmlElement(name = "TypeCode") + protected TaxTypeCodeType typeCode; + @XmlElement(name = "ExemptionReason") + protected TextType exemptionReason; + @XmlElement(name = "BasisAmount") + protected List basisAmount; + @XmlElement(name = "LineTotalBasisAmount") + protected List lineTotalBasisAmount; + @XmlElement(name = "AllowanceChargeBasisAmount") + protected List allowanceChargeBasisAmount; + @XmlElement(name = "CategoryCode") + protected TaxCategoryCodeType categoryCode; + @XmlElement(name = "ApplicablePercent") + protected PercentType applicablePercent; + + /** + * Gets the value of the calculatedAmount property. + * + *

+ * 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 set method for the calculatedAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getCalculatedAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getCalculatedAmount() { + if (calculatedAmount == null) { + calculatedAmount = new ArrayList(); + } + return this.calculatedAmount; + } + + /** + * Ruft den Wert der typeCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link TaxTypeCodeType } + * + */ + public TaxTypeCodeType getTypeCode() { + return typeCode; + } + + /** + * Legt den Wert der typeCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TaxTypeCodeType } + * + */ + public void setTypeCode(TaxTypeCodeType value) { + this.typeCode = value; + } + + /** + * Ruft den Wert der exemptionReason-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getExemptionReason() { + return exemptionReason; + } + + /** + * Legt den Wert der exemptionReason-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setExemptionReason(TextType value) { + this.exemptionReason = value; + } + + /** + * Gets the value of the basisAmount property. + * + *

+ * 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 set method for the basisAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getBasisAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getBasisAmount() { + if (basisAmount == null) { + basisAmount = new ArrayList(); + } + return this.basisAmount; + } + + /** + * Gets the value of the lineTotalBasisAmount property. + * + *

+ * 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 set method for the lineTotalBasisAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getLineTotalBasisAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getLineTotalBasisAmount() { + if (lineTotalBasisAmount == null) { + lineTotalBasisAmount = new ArrayList(); + } + return this.lineTotalBasisAmount; + } + + /** + * Gets the value of the allowanceChargeBasisAmount property. + * + *

+ * 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 set method for the allowanceChargeBasisAmount property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAllowanceChargeBasisAmount().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link AmountType } + * + * + */ + public List getAllowanceChargeBasisAmount() { + if (allowanceChargeBasisAmount == null) { + allowanceChargeBasisAmount = new ArrayList(); + } + return this.allowanceChargeBasisAmount; + } + + /** + * Ruft den Wert der categoryCode-Eigenschaft ab. + * + * @return + * possible object is + * {@link TaxCategoryCodeType } + * + */ + public TaxCategoryCodeType getCategoryCode() { + return categoryCode; + } + + /** + * Legt den Wert der categoryCode-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TaxCategoryCodeType } + * + */ + public void setCategoryCode(TaxCategoryCodeType value) { + this.categoryCode = value; + } + + /** + * Ruft den Wert der applicablePercent-Eigenschaft ab. + * + * @return + * possible object is + * {@link PercentType } + * + */ + public PercentType getApplicablePercent() { + return applicablePercent; + } + + /** + * Legt den Wert der applicablePercent-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PercentType } + * + */ + public void setApplicablePercent(PercentType value) { + this.applicablePercent = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/UniversalCommunicationType.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/UniversalCommunicationType.java new file mode 100644 index 00000000..a087c8f9 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/UniversalCommunicationType.java @@ -0,0 +1,97 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + + +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java-Klasse f�r UniversalCommunicationType complex type. + * + *

Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + *

+ * <complexType name="UniversalCommunicationType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="URIID" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}IDType" minOccurs="0"/>
+ *         <element name="CompleteNumber" type="{urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15}TextType" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "UniversalCommunicationType", propOrder = { + "uriid", + "completeNumber" +}) +public class UniversalCommunicationType { + + @XmlElement(name = "URIID") + protected IDType uriid; + @XmlElement(name = "CompleteNumber") + protected TextType completeNumber; + + /** + * Ruft den Wert der uriid-Eigenschaft ab. + * + * @return + * possible object is + * {@link IDType } + * + */ + public IDType getURIID() { + return uriid; + } + + /** + * Legt den Wert der uriid-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link IDType } + * + */ + public void setURIID(IDType value) { + this.uriid = value; + } + + /** + * Ruft den Wert der completeNumber-Eigenschaft ab. + * + * @return + * possible object is + * {@link TextType } + * + */ + public TextType getCompleteNumber() { + return completeNumber; + } + + /** + * Legt den Wert der completeNumber-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TextType } + * + */ + public void setCompleteNumber(TextType value) { + this.completeNumber = value; + } + +} diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/package-info.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/package-info.java new file mode 100644 index 00000000..c8c7a670 --- /dev/null +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/model/package-info.java @@ -0,0 +1,18 @@ +// +// Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 generiert +// Siehe http://java.sun.com/xml/jaxb +// �nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. +// Generiert: 2015.10.16 um 06:16:03 PM CEST +// + +@XmlSchema(namespace = "urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12", + xmlns = { + @XmlNs(namespaceURI = "http://www.w3.org/2001/XMLSchema-instance", prefix = "xsi"), + @XmlNs(namespaceURI = "urn:ferd:CrossIndustryDocument:invoice:1p0", prefix = "rsm"), + @XmlNs(namespaceURI = "urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12", prefix = "ram"), + @XmlNs(namespaceURI = "urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15", prefix = "udt"), + }, + elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +package org.mustangproject.ZUGFeRD.model; + +import javax.xml.bind.annotation.*; \ No newline at end of file diff --git a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java b/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java index b1b92fdf..bce0eb04 100644 --- a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java +++ b/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java @@ -3,6 +3,7 @@ package org.mustangproject.ZUGFeRD; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; @@ -132,6 +133,22 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp return allItems; } + @Override + public String getInvoiceCurrency() { + return "EUR"; + } + + @Override + public String getOwnPaymentInfoText() { + return "Überweisung"; + } + + @Override + public String getPaymentTermDescription() { + SimpleDateFormat germanDateFormat = new SimpleDateFormat("dd.MM.yyyy"); + return "Zahlbar ohne Abzug bis zum " + germanDateFormat.format(getDueDate()); + } + class Contact implements IZUGFeRDExportableContact { diff --git a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java b/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java index 23a083b3..4f06df2d 100644 --- a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java +++ b/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java @@ -3,6 +3,7 @@ package org.mustangproject.ZUGFeRD; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; @@ -131,6 +132,22 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta return allItems; } + @Override + public String getInvoiceCurrency() { + return "EUR"; + } + + @Override + public String getOwnPaymentInfoText() { + return "Überweisung"; + } + + @Override + public String getPaymentTermDescription() { + SimpleDateFormat germanDateFormat = new SimpleDateFormat("dd.MM.yyyy"); + return "Zahlbar ohne Abzug bis zum " + germanDateFormat.format(getDueDate()); + } + class Contact implements IZUGFeRDExportableContact {