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,