diff --git a/History.md b/History.md index 1a50736f..0a274709 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,6 @@ +- migration: testIndicator entfernen +- in ram:ExchangedDocument: ram:name entfernen +- updated javadoc 1.7.2 ===== diff --git a/src/main/java/org/mustangproject/ZUGFeRD/IExporterFactory.java b/src/main/java/org/mustangproject/ZUGFeRD/IExporterFactory.java index 47c22cc6..6822d744 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/IExporterFactory.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/IExporterFactory.java @@ -22,6 +22,13 @@ import java.io.IOException; import java.io.InputStream; public interface IExporterFactory { + /** + * factory: loads a PDF file and returns an appropriate exporter + * + * @param pdfFilename binary of a PDF/A1 compliant document + * @return the generated exporter + * @throws IOException if anything is wrong with filename + */ public ZUGFeRDExporter load(String pdfFilename) throws IOException; /** @@ -29,6 +36,8 @@ public interface IExporterFactory { * metadata level, this will not e.g. convert graphics to JPG-2000) * * @param pdfBinary binary of a PDF/A1 compliant document + * @return the generated exporter + * @throws IOException (should not happen at all) */ public ZUGFeRDExporter load(byte[] pdfBinary) throws IOException; @@ -37,7 +46,8 @@ public interface IExporterFactory { * metadata level, this will not e.g. convert graphics to JPG-2000) * * @param pdfSource source to read a PDF/A1 compliant document from - * @throws IOException + * @throws IOException if anything is wrong with inputstream + * @return the generated ZUGFeRDExporter */ public ZUGFeRDExporter load(InputStream pdfSource) throws IOException; diff --git a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableContact.java b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableContact.java index 7b7e1c89..6b154b67 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableContact.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableContact.java @@ -19,11 +19,11 @@ package org.mustangproject.ZUGFeRD; /** - * Mustangproject's ZUGFeRD implementation Neccessary interface for ZUGFeRD exporter Licensed under the APLv2 + * Mustangproject's ZUGFeRD implementation neccessary interface for ZUGFeRD exporter Licensed under the APLv2 * * @author jstaerk * @version 1.2.0 - * @date 2014-05-10 + * dated 2014-05-10 */ diff --git a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableProduct.java b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableProduct.java index d58a2588..ea41877f 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableProduct.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableProduct.java @@ -27,7 +27,7 @@ import java.math.BigDecimal; * * @author jstaerk * @version 1.2.0 - * @date 2014-05-10 + * dated 2014-05-10 */ public interface IZUGFeRDExportableProduct { diff --git a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java index 6addf89f..0de986c1 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java @@ -64,7 +64,7 @@ public interface IZUGFeRDExportableTransaction { /** * this should be the full sender institution name, details, manager and tax registration. It is one of the few functions which may return null. e.g. - *

+ *

* Lieferant GmbH Lieferantenstraße 20 80333 München Deutschland Geschäftsführer: Hans Muster Handelsregisternummer: H A 123 * * @return null or full sender institution name, details, manager and tax registration @@ -115,6 +115,8 @@ public interface IZUGFeRDExportableTransaction { /** * the creditors payment informations + * + * @return an array of IZUGFeRDTradeSettlementPayment */ IZUGFeRDTradeSettlementPayment[] getTradeSettlementPayment(); diff --git a/src/main/java/org/mustangproject/ZUGFeRD/VATAmount.java b/src/main/java/org/mustangproject/ZUGFeRD/VATAmount.java index 817595f6..3ba0acc1 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/VATAmount.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/VATAmount.java @@ -27,7 +27,7 @@ import java.math.BigDecimal; * * @author jstaerk * @version 1.2.0 - * @date 2015-10-29 + * dated 2015-10-29 */ public class VATAmount { @@ -61,6 +61,7 @@ public class VATAmount { /** * * @deprecated Use {@link #getCategoryCode() instead} + * @return String with category code */ @Deprecated public String getDocumentCode() { @@ -68,7 +69,7 @@ public class VATAmount { } /** - * + * @param documentCode as String * @deprecated Use {@link #setCategoryCode(String)} instead */ @Deprecated diff --git a/src/main/java/org/mustangproject/ZUGFeRD/XMPSchemaZugferd.java b/src/main/java/org/mustangproject/ZUGFeRD/XMPSchemaZugferd.java index 57cc5197..c2a4bde5 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/XMPSchemaZugferd.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/XMPSchemaZugferd.java @@ -31,8 +31,13 @@ import org.apache.xmpbox.schema.XMPSchema; public class XMPSchemaZugferd extends XMPSchema { - /** + /*** * This is what needs to be added to the RDF metadata - basically the name of the embedded Zugferd file + * @param metadata the xmp to be added to + * @param conformanceLevel e.g. conformanceLevel.EN16931 + * @param URN the xml URI for the XMP + * @param prefix the xml namespace prefix for the XMP, zf for ZUGFeRD, fx for Factur-X + * @param filename the filename of the invoice */ public XMPSchemaZugferd(XMPMetadata metadata, ZUGFeRDConformanceLevel conformanceLevel, String URN, String prefix, String filename) { super(metadata, URN, prefix, "ZUGFeRD Schema"); diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java index 211a8397..af5dd4cc 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java @@ -195,15 +195,16 @@ public class ZUGFeRDExporter implements Closeable { /** * All files are PDF/A-3, setConformance refers to the level conformance. - *

+ * * PDF/A-3 has three conformance 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 :-) + * @param newLevel "A", "U" or "B" * * @deprecated Use {@link ZUGFeRDExporterFromA1Factory} instead */ @@ -217,16 +218,17 @@ public class ZUGFeRDExporter implements Closeable { /** * All files are PDF/A-3, setConformance refers to the level conformance. - *

+ *

* PDF/A-3 has three conformance 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 :-) * + * @param newLevel "A", "U" or "B" * @deprecated Use * {@link #setConformanceLevel(org.mustangproject.ZUGFeRD.PDFAConformanceLevel)} * instead @@ -251,27 +253,45 @@ public class ZUGFeRDExporter implements Closeable { ignoreA1Errors = true; } - /** + /*** + * load from a pdf which is already A/3 + * @param filename the PDF + * @throws IOException if anything is wrong with filename * @deprecated Use the factory method {@link #createFromPDFA3(String)} instead */ @Deprecated public void loadPDFA3(String filename) throws IOException { doc = PDDocument.load(new File(filename)); } - + + /*** + * factory create a ZUGFeRD exporter for a PDF/A-3 pdf file + * @param filename of the pdf + * @return the created ZUGFeRDExporter + * @throws IOException if something is wrong with filename + */ public static ZUGFeRDExporter createFromPDFA3(String filename) throws IOException { return new ZUGFeRDExporter(PDDocument.load(new File(filename))); } /** - * @deprecated Use the factory method {@link #createFromPDFA3(InputStream)} - * instead + * load from a pdf which is already A/3 from filestream + * @param file InputStream to load pdf from + * @deprecated Use the factory method {@link #createFromPDFA3(InputStream)} instead + * @throws IOException in case anything is wrong with file + * */ @Deprecated public void loadPDFA3(InputStream file) throws IOException { doc = PDDocument.load(file); } + /*** + * factory create a ZUGFeRD exporter for a PDF/A-3 inputstream + * @param pdfSource the InputStream of the pdf + * @return the created ZUGFeRDExporter + * @throws IOException (should not happen) + */ public static ZUGFeRDExporter createFromPDFA3(InputStream pdfSource) throws IOException { return new ZUGFeRDExporter(PDDocument.load(pdfSource)); } @@ -279,7 +299,13 @@ public class ZUGFeRDExporter implements Closeable { /** * 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) - * + * @param filename the pdf + * @param producer the name of the xmp producer (app) + * @param creator the name of the xmp creator (user) + * @param attachZugferdHeaders whether to attach XMP ZUGFeRD headers + * @return the created PDFbox PDDocumentCatalog + * @throws IOException if anything is wrong with file + * @throws TransformerException in case of xml (XMP) parsing issues * @deprecated use the {@link ZUGFeRDExporterFromA1Factory} instead */ @Deprecated @@ -291,7 +317,18 @@ public class ZUGFeRDExporter implements Closeable { return doc.getDocumentCatalog(); } - /** + /*** + * + * 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) + + * @param file the InputStream of the pdf + * @param producer the name of the xmp producer (app) + * @param creator the name of the xmp creator (user) + * @param attachZugferdHeaders whether to attach XMP ZUGFeRD headers + * @return the created PDFbox PDDocumentCatalog + * @throws IOException if anything is wrong with file + * @throws TransformerException in case of xml (XMP) parsing issues * @deprecated use the {@link ZUGFeRDExporterFromA1Factory} instead */ @Deprecated @@ -303,6 +340,7 @@ public class ZUGFeRDExporter implements Closeable { return doc.getDocumentCatalog(); } + private IExporterFactory createPDFA1Factory() { ZUGFeRDExporterFromA1Factory factory = new ZUGFeRDExporterFromA1Factory(); if (ignoreA1Errors) { @@ -325,6 +363,7 @@ public class ZUGFeRDExporter implements Closeable { * populate the XML. This parameter may be null, if so the XML data * should hav ebeen set via * setZUGFeRDXMLData(byte[] zugferdData) + * @throws IOException if anything is wrong with already loaded PDF */ public void PDFattachZugferdFile(IZUGFeRDExportableTransaction trans) throws IOException { prepareDocument(); @@ -339,6 +378,11 @@ public class ZUGFeRDExporter implements Closeable { } } + /*** + * Perform the final export to a now ZUGFeRD-enriched PDF file + * @param ZUGFeRDfilename the pdf file name + * @throws IOException if anything is wrong in the target location + */ public void export(String ZUGFeRDfilename) throws IOException { if (!documentPrepared) { prepareDocument(); @@ -353,6 +397,12 @@ public class ZUGFeRDExporter implements Closeable { } } + + /*** + * Perform the final export to a now ZUGFeRD-enriched PDF file as OutputStream + * @param output the OutputStream + * @throws IOException if anything is wrong in the OutputStream + */ public void export(OutputStream output) throws IOException { if (!documentPrepared) { prepareDocument(); @@ -376,7 +426,7 @@ public class ZUGFeRDExporter implements Closeable { * @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 - * @throws java.io.IOException + * @throws java.io.IOException if anything is wrong with filename */ public void PDFAttachGenericFile(PDDocument doc, String filename, String relationship, String description, String subType, byte[] data) throws IOException { @@ -446,6 +496,7 @@ public class ZUGFeRDExporter implements Closeable { * API or component. * * @param zugferdData XML data to be set as a byte array (XML file in raw form). + * @throws IOException (should not happen) */ public void setZUGFeRDXMLData(byte[] zugferdData) throws IOException { CustomXMLProvider cus = new CustomXMLProvider(); @@ -495,7 +546,7 @@ public class ZUGFeRDExporter implements Closeable { * neccessary PDF/A schema extension description to be able to add this * information to RDF * - * @param metadata + * @param metadata the PDFbox XMPMetadata object */ protected void addXMP(XMPMetadata metadata) { @@ -607,7 +658,7 @@ public class ZUGFeRDExporter implements Closeable { /** * the human author (use factory method instead) * - * @param creator + * @param creator the (human) name who created the PDF */ @Deprecated public void setCreator(String creator) { @@ -617,7 +668,7 @@ public class ZUGFeRDExporter implements Closeable { /** * the CreatorTool attribute for the PDF * - * @param creator + * @param creatorTool the application which created the PDF */ protected void setCreatorTool(String creatorTool) { this.creatorTool = creatorTool; @@ -626,7 +677,7 @@ public class ZUGFeRDExporter implements Closeable { /** * the authoring software (use factory method instead) * - * @param producer + * @param producer the authoring software */ @Deprecated public void setProducer(String producer) { diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3Factory.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3Factory.java index a0a5cb20..ffed7bb7 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3Factory.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3Factory.java @@ -173,14 +173,14 @@ public class ZUGFeRDExporterFromA3Factory implements IExporterFactory { /** * 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 IExporterFactory setConformanceLevel(PDFAConformanceLevel newLevel) { diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index be95f293..a9f1c9c2 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -378,6 +378,7 @@ public class ZUGFeRDImporter { /** * Returns the raw XML data as extracted from the ZUGFeRD PDF file. + * @return the raw ZUGFeRD XML data */ public byte[] getRawXML() { return rawXML; diff --git a/src/main/java/org/mustangproject/toecount/Toecount.java b/src/main/java/org/mustangproject/toecount/Toecount.java index f6f235a0..1cb1c7ce 100755 --- a/src/main/java/org/mustangproject/toecount/Toecount.java +++ b/src/main/java/org/mustangproject/toecount/Toecount.java @@ -162,16 +162,11 @@ public class Toecount { /** * Prompts the user for a input or output filename * - * @param the - * text the user is asked - * @param a - * default Filename - * @param expectedExtension - * will warn if filename does not match expected file extension - * @param ensureFileExists - * will warn if file does NOT exist (for input files) - * @param ensureFileNotExists - * will warn if file DOES exist (for output files) + * @param prompt the text the user is asked + * @param defaultFilename a default Filename + * @param expectedExtension will warn if filename does not match expected file extension + * @param ensureFileExists will warn if file does NOT exist (for input files) + * @param ensureFileNotExists will warn if file DOES exist (for output files) * @return String */ protected static String getFilenameFromUser(String prompt, String defaultFilename, String expectedExtension,