oasis.names.specification.ubl.schema.xsd.commonaggregatecomponents_2.CustomerPartyType Maven / Gradle / Ivy
package oasis.names.specification.ubl.schema.xsd.commonaggregatecomponents_2;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import com.phloc.commons.annotations.ReturnsMutableObject;
import com.phloc.commons.equals.EqualsUtils;
import com.phloc.commons.hash.HashCodeGenerator;
import com.phloc.commons.string.ToStringGenerator;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.AdditionalAccountIDType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.CustomerAssignedAccountIDType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.SupplierAssignedAccountIDType;
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><ccts:Component xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ccts:ComponentType>ABIE</ccts:ComponentType><ccts:DictionaryEntryName>Customer Party. Details</ccts:DictionaryEntryName><ccts:Definition>Information about the Customer Party.</ccts:Definition><ccts:ObjectClass>Customer Party</ccts:ObjectClass></ccts:Component>
*
*
*
* Java class for CustomerPartyType complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="CustomerPartyType">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}CustomerAssignedAccountID" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}SupplierAssignedAccountID" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}AdditionalAccountID" maxOccurs="unbounded" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}Party" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}DeliveryContact" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}AccountingContact" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}BuyerContact" minOccurs="0"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CustomerPartyType", propOrder = {
"customerAssignedAccountID",
"supplierAssignedAccountID",
"additionalAccountID",
"party",
"deliveryContact",
"accountingContact",
"buyerContact"
})
public class CustomerPartyType implements Serializable
{
@XmlElement(name = "CustomerAssignedAccountID", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
private CustomerAssignedAccountIDType customerAssignedAccountID;
@XmlElement(name = "SupplierAssignedAccountID", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
private SupplierAssignedAccountIDType supplierAssignedAccountID;
@XmlElement(name = "AdditionalAccountID", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
private List additionalAccountID;
@XmlElement(name = "Party")
private PartyType party;
@XmlElement(name = "DeliveryContact")
private ContactType deliveryContact;
@XmlElement(name = "AccountingContact")
private ContactType accountingContact;
@XmlElement(name = "BuyerContact")
private ContactType buyerContact;
/**
* Default constructor
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
*/
public CustomerPartyType() {
}
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><ccts:Component xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ccts:ComponentType>BBIE</ccts:ComponentType><ccts:DictionaryEntryName>Customer Party. Customer Assigned_ Account Identifier. Identifier</ccts:DictionaryEntryName><ccts:Definition>An identifier for the Customer's account, assigned by the Customer itself.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Customer Party</ccts:ObjectClass><ccts:PropertyTermQualifier>Customer Assigned</ccts:PropertyTermQualifier><ccts:PropertyTerm>Account Identifier</ccts:PropertyTerm><ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm><ccts:DataType>Identifier. Type</ccts:DataType></ccts:Component>
*
*
*
* @return
* possible object is
* {@link CustomerAssignedAccountIDType }
*
*/
@Nullable
public CustomerAssignedAccountIDType getCustomerAssignedAccountID() {
return customerAssignedAccountID;
}
/**
* Sets the value of the customerAssignedAccountID property.
*
* @param value
* allowed object is
* {@link CustomerAssignedAccountIDType }
*
*/
public void setCustomerAssignedAccountID(
@Nullable
CustomerAssignedAccountIDType value) {
this.customerAssignedAccountID = value;
}
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><ccts:Component xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ccts:ComponentType>BBIE</ccts:ComponentType><ccts:DictionaryEntryName>Customer Party. Supplier Assigned_ Account Identifier. Identifier</ccts:DictionaryEntryName><ccts:Definition>An identifier for the Customer's account, assigned by the Supplier.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Customer Party</ccts:ObjectClass><ccts:PropertyTermQualifier>Supplier Assigned</ccts:PropertyTermQualifier><ccts:PropertyTerm>Account Identifier</ccts:PropertyTerm><ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm><ccts:DataType>Identifier. Type</ccts:DataType></ccts:Component>
*
*
*
* @return
* possible object is
* {@link SupplierAssignedAccountIDType }
*
*/
@Nullable
public SupplierAssignedAccountIDType getSupplierAssignedAccountID() {
return supplierAssignedAccountID;
}
/**
* Sets the value of the supplierAssignedAccountID property.
*
* @param value
* allowed object is
* {@link SupplierAssignedAccountIDType }
*
*/
public void setSupplierAssignedAccountID(
@Nullable
SupplierAssignedAccountIDType value) {
this.supplierAssignedAccountID = value;
}
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><ccts:Component xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ccts:ComponentType>BBIE</ccts:ComponentType><ccts:DictionaryEntryName>Customer Party. Additional_ Account Identifier. Identifier</ccts:DictionaryEntryName><ccts:Definition>An identifier for the Customer's account, assigned by a third party.</ccts:Definition><ccts:Cardinality>0..n</ccts:Cardinality><ccts:ObjectClass>Customer Party</ccts:ObjectClass><ccts:PropertyTermQualifier>Additional</ccts:PropertyTermQualifier><ccts:PropertyTerm>Account Identifier</ccts:PropertyTerm><ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm><ccts:DataType>Identifier. Type</ccts:DataType></ccts:Component>
*
* Gets the value of the additionalAccountID 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 additionalAccountID property.
*
*
* For example, to add a new item, do as follows:
*
* getAdditionalAccountID().add(newItem);
*
*
*
*
* Objects of the following type(s) are allowed in the list
* {@link AdditionalAccountIDType }
*
*
*/
@Nonnull
@ReturnsMutableObject(reason = "JAXB implementation style")
public List getAdditionalAccountID() {
if (additionalAccountID == null) {
additionalAccountID = new ArrayList();
}
return this.additionalAccountID;
}
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><ccts:Component xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ccts:ComponentType>ASBIE</ccts:ComponentType><ccts:DictionaryEntryName>Customer Party. Party</ccts:DictionaryEntryName><ccts:Definition>An association to Party.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Customer Party</ccts:ObjectClass><ccts:PropertyTerm>Party</ccts:PropertyTerm><ccts:AssociatedObjectClass>Party</ccts:AssociatedObjectClass></ccts:Component>
*
*
*
* @return
* possible object is
* {@link PartyType }
*
*/
@Nullable
public PartyType getParty() {
return party;
}
/**
* Sets the value of the party property.
*
* @param value
* allowed object is
* {@link PartyType }
*
*/
public void setParty(
@Nullable
PartyType value) {
this.party = value;
}
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><ccts:Component xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ccts:ComponentType>ASBIE</ccts:ComponentType><ccts:DictionaryEntryName>Customer Party. Delivery_ Contact. Contact</ccts:DictionaryEntryName><ccts:Definition>An association to Delivery Contact.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Customer Party</ccts:ObjectClass><ccts:PropertyTermQualifier>Delivery</ccts:PropertyTermQualifier><ccts:PropertyTerm>Contact</ccts:PropertyTerm><ccts:AssociatedObjectClass>Contact</ccts:AssociatedObjectClass></ccts:Component>
*
*
*
* @return
* possible object is
* {@link ContactType }
*
*/
@Nullable
public ContactType getDeliveryContact() {
return deliveryContact;
}
/**
* Sets the value of the deliveryContact property.
*
* @param value
* allowed object is
* {@link ContactType }
*
*/
public void setDeliveryContact(
@Nullable
ContactType value) {
this.deliveryContact = value;
}
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><ccts:Component xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ccts:ComponentType>ASBIE</ccts:ComponentType><ccts:DictionaryEntryName>Customer Party. Accounting_ Contact. Contact</ccts:DictionaryEntryName><ccts:Definition>An association to Accounting Contact (Customer).</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Customer Party</ccts:ObjectClass><ccts:PropertyTermQualifier>Accounting</ccts:PropertyTermQualifier><ccts:PropertyTerm>Contact</ccts:PropertyTerm><ccts:AssociatedObjectClass>Contact</ccts:AssociatedObjectClass></ccts:Component>
*
*
*
* @return
* possible object is
* {@link ContactType }
*
*/
@Nullable
public ContactType getAccountingContact() {
return accountingContact;
}
/**
* Sets the value of the accountingContact property.
*
* @param value
* allowed object is
* {@link ContactType }
*
*/
public void setAccountingContact(
@Nullable
ContactType value) {
this.accountingContact = value;
}
/**
*
*
* <?xml version="1.0" encoding="UTF-8"?><ccts:Component xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><ccts:ComponentType>ASBIE</ccts:ComponentType><ccts:DictionaryEntryName>Customer Party. Buyer_ Contact. Contact</ccts:DictionaryEntryName><ccts:Definition>An association to Buyer Contact.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Customer Party</ccts:ObjectClass><ccts:PropertyTermQualifier>Buyer</ccts:PropertyTermQualifier><ccts:PropertyTerm>Contact</ccts:PropertyTerm><ccts:AssociatedObjectClass>Contact</ccts:AssociatedObjectClass></ccts:Component>
*
*
*
* @return
* possible object is
* {@link ContactType }
*
*/
@Nullable
public ContactType getBuyerContact() {
return buyerContact;
}
/**
* Sets the value of the buyerContact property.
*
* @param value
* allowed object is
* {@link ContactType }
*
*/
public void setBuyerContact(
@Nullable
ContactType value) {
this.buyerContact = value;
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-equalshashcode
*
*/
@Override
public boolean equals(final Object o) {
if (o == this) {
return true;
}
if ((o == null)||(!getClass().equals(o.getClass()))) {
return false;
}
final CustomerPartyType rhs = ((CustomerPartyType) o);
if (!EqualsUtils.equals(customerAssignedAccountID, rhs.customerAssignedAccountID)) {
return false;
}
if (!EqualsUtils.equals(supplierAssignedAccountID, rhs.supplierAssignedAccountID)) {
return false;
}
if (!EqualsUtils.equals(additionalAccountID, rhs.additionalAccountID)) {
return false;
}
if (!EqualsUtils.equals(party, rhs.party)) {
return false;
}
if (!EqualsUtils.equals(deliveryContact, rhs.deliveryContact)) {
return false;
}
if (!EqualsUtils.equals(accountingContact, rhs.accountingContact)) {
return false;
}
if (!EqualsUtils.equals(buyerContact, rhs.buyerContact)) {
return false;
}
return true;
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-equalshashcode
*
*/
@Override
public int hashCode() {
return new HashCodeGenerator(this).append(customerAssignedAccountID).append(supplierAssignedAccountID).append(additionalAccountID).append(party).append(deliveryContact).append(accountingContact).append(buyerContact).getHashCode();
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-tostring
*
*/
@Override
public String toString() {
return new ToStringGenerator(this).append("customerAssignedAccountID", customerAssignedAccountID).append("supplierAssignedAccountID", supplierAssignedAccountID).append("additionalAccountID", additionalAccountID).append("party", party).append("deliveryContact", deliveryContact).append("accountingContact", accountingContact).append("buyerContact", buyerContact).toString();
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @param aList
* The new list member to set. May be null
.
*/
public void setAdditionalAccountID(
@Nullable
final List aList) {
additionalAccountID = aList;
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @return
* true
if at least one item is contained, false
otherwise.
*/
public boolean hasAdditionalAccountIDEntries() {
return (!getAdditionalAccountID().isEmpty());
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @return
* true
if no item is contained, false
otherwise.
*/
public boolean hasNoAdditionalAccountIDEntries() {
return getAdditionalAccountID().isEmpty();
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @return
* The number of contained elements. Always ≥ 0.
*/
@Nonnegative
public int getAdditionalAccountIDCount() {
return getAdditionalAccountID().size();
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-list-extension
*
* @param index
* The index to retrieve
* @return
* The element at the specified index. May be null
* @throws ArrayIndexOutOfBoundsException
* if the index is invalid!
*/
@Nullable
public AdditionalAccountIDType getAdditionalAccountIDAtIndex(
@Nonnegative
final int index) {
return getAdditionalAccountID().get(index);
}
/**
* Special setter with value of type String
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
* @param valueParam
* The value to be set. May be null
.
* @return
* The created intermediary object of type CustomerAssignedAccountIDType and never null
*/
@Nonnull
public CustomerAssignedAccountIDType setCustomerAssignedAccountID(
@Nullable
final String valueParam) {
CustomerAssignedAccountIDType aObj = getCustomerAssignedAccountID();
if (aObj == null) {
aObj = new CustomerAssignedAccountIDType(valueParam);
setCustomerAssignedAccountID(aObj);
} else {
aObj.setValue(valueParam);
}
return aObj;
}
/**
* Special setter with value of type String
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
* @param valueParam
* The value to be set. May be null
.
* @return
* The created intermediary object of type SupplierAssignedAccountIDType and never null
*/
@Nonnull
public SupplierAssignedAccountIDType setSupplierAssignedAccountID(
@Nullable
final String valueParam) {
SupplierAssignedAccountIDType aObj = getSupplierAssignedAccountID();
if (aObj == null) {
aObj = new SupplierAssignedAccountIDType(valueParam);
setSupplierAssignedAccountID(aObj);
} else {
aObj.setValue(valueParam);
}
return aObj;
}
/**
* Get the value of the contained CustomerAssignedAccountIDType object
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
* @return
* Either the value of the contained CustomerAssignedAccountIDType object or null
*/
@Nullable
public String getCustomerAssignedAccountIDValue() {
CustomerAssignedAccountIDType aObj = getCustomerAssignedAccountID();
return ((aObj == null)?null:aObj.getValue());
}
/**
* Get the value of the contained SupplierAssignedAccountIDType object
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
* @return
* Either the value of the contained SupplierAssignedAccountIDType object or null
*/
@Nullable
public String getSupplierAssignedAccountIDValue() {
SupplierAssignedAccountIDType aObj = getSupplierAssignedAccountID();
return ((aObj == null)?null:aObj.getValue());
}
}