org.mustangproject.ZUGFeRD.IZUGFeRDExportableTradeParty Maven / Gradle / Ivy
Show all versions of library Show documentation
/**
* *********************************************************************
*
* 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 neccessary interface for ZUGFeRD exporter Licensed under the APLv2
*
* @author jstaerk
* @version 2.0.0
* dated 2020-09-12
*/
public interface IZUGFeRDExportableTradeParty {
/**
* customer identification assigned by the seller
*
* @return customer identification
*/
default String getID() {
return null;
}
/**
* customer global identification assigned by the seller
*
* @return customer identification
*/
default String getGlobalID() {
return null;
}
/***
* gets the official representation
* @return the interface with the attributes of the legal organisation
*/
default IZUGFeRDLegalOrganisation getLegalOrganisation() {
return null;
}
/**
* customer global identification scheme
*
* @return customer identification
*/
default String getGlobalIDScheme() {
return null;
}
/**
* URIUniversalCommunication scheme (see EAS code list of the ZUGFeRD documentation)
* I believe EM for Email
* @return String with code
*/
default String getUriUniversalCommunicationIDScheme() {
return null;
}
/**
* The URIID of URIUniversalCommunicationID (e.g. email address)
* It is used by some countries, i.e. Luxembourg, Peppol
* @return the URI as string
*/
default String getUriUniversalCommunicationID() {
return null;
}
/***
* gets the email of the organization (not the one of the contact person)
* will return null if not set or if the provided UriUniversalCommunicationID
* is not a email address
*
* @return String the email, or null
*/
default String getEmail() {
if ((getUriUniversalCommunicationIDScheme()!=null)&&(getUriUniversalCommunicationIDScheme().equals("EM"))) {
return getUriUniversalCommunicationID();
}
return null;
}
/***
* the named contact person for inquiries
* @return contact
*/
default IZUGFeRDExportableContact getContact() {
return null;
}
/**
* e.g. first and last name of the owner
*
* @return full name of the party
*/
String getName();
/**
* @return description, e.g. if it's a small company
*/
default String getDescription() { return null; }
/**
* Postal code of the recipient
*
* @return Postal code of the recipient
*/
String getZIP();
/**
* VAT ID (Umsatzsteueridentifikationsnummer) of the contact
*
* @return VAT ID (Umsatzsteueridentifikationsnummer) of the contact
*/
default String getVATID() {
return null;
}
/**
* two-letter country code of the contact
*
* @return two-letter iso country code of the contact
*/
String getCountry();
/**
* Returns the city of the contact
*
* @return Returns the city of the recipient
*/
String getLocation();
/**
* Returns the street address (street+number) of the contact
*
* @return street address (street+number) of the contact
*/
String getStreet();
/**
* returns additional address information which is display in xml tag "LineTwo"
* e.g. "Rear building"
*
* @return additional address information
*/
default String getAdditionalAddress() {
return null;
}
/**
* returns additional address information which is display in xml tag "LineThree"
* e.g. "Second floor" if LineTwo is already used, e.g. "Rear Building".
* This attribute could sometimes be BT-165?
*
* @return additional address information
*/
default String getAdditionalAddressExtension() {
return null;
}
/***
* obligatory for sender but not for recipient
* @return the tax id as string
*/
default String getTaxID() {
return null;
}
}