![JAR search and dependency download from the Maven repository](/logo.png)
org.mustangproject.ZUGFeRD.XMPSchemaZugferd Maven / Gradle / Ivy
/** **********************************************************************
*
* Copyright 2018 Jochen Staerk
*
* Use is subject to license terms.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
* See the License for the specific language governing permissions and
* limitations under the License.
*
*********************************************************************** */
package org.mustangproject.ZUGFeRD;
/**
* Mustangproject's ZUGFeRD implementation
* ZUGFeRD exporter helper class
* Licensed under the APLv2
* @date 2014-05-10
* @version 1.2.0s
* @author jstaerk
* */
import org.apache.xmpbox.XMPMetadata;
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 zfVersion which ZF version to use (2 for FX)
* @param isFacturX whether to export as Factur-X
* @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, int zfVersion, boolean isFacturX, Profile conformanceLevel,
String URN, String prefix, String filename) {
this(metadata, zfVersion, isFacturX, conformanceLevel, URN, prefix, filename, null);
}
/***
* 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 zfVersion which ZF version to use (2 for FX)
* @param isFacturX whether to export as Factur-X
* @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
* @param version meta-data version to set. May be null, and then it is set automatically
*/
public XMPSchemaZugferd(XMPMetadata metadata, int zfVersion, boolean isFacturX, Profile conformanceLevel,
String URN, String prefix, String filename, String version) {
super(metadata, URN, prefix, "ZUGFeRD Schema");
setAboutAsSimple("");
String conformanceLevelValue = conformanceLevel.getXMPName();
setTextPropertyValue("ConformanceLevel", conformanceLevelValue);
setTextPropertyValue("DocumentType", "INVOICE");
setTextPropertyValue("DocumentFileName", filename);
if (version == null) {
version = "1.0";
if ((zfVersion==2)&&(!isFacturX)) {
version="2p0";
}
}
setTextPropertyValue("Version", version);
}
/***
* Specify a custom XMP metadata document type
* @param type INVOICE or ORDER
* @return fluent setter
*/
public XMPSchemaZugferd setType(String type) {
setTextPropertyValue("DocumentType", type);
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy