oasis.names.specification.ubl.schema.xsd.commonaggregatecomponents_2.PartyTaxSchemeType Maven / Gradle / Ivy
package oasis.names.specification.ubl.schema.xsd.commonaggregatecomponents_2;
import java.io.Serializable;
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.equals.EqualsUtils;
import com.phloc.commons.hash.HashCodeGenerator;
import com.phloc.commons.string.ToStringGenerator;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.CompanyIDType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.ExemptionReasonCodeType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.ExemptionReasonType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.RegistrationNameType;
import oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.TaxLevelCodeType;
/**
*
*
* <?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>Party Tax Scheme. Details</ccts:DictionaryEntryName><ccts:Definition>Information about a party's Tax Scheme.</ccts:Definition><ccts:ObjectClass>Party Tax Scheme</ccts:ObjectClass></ccts:Component>
*
*
*
* Java class for PartyTaxSchemeType complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="PartyTaxSchemeType">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}RegistrationName" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}CompanyID" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}TaxLevelCode" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}ExemptionReasonCode" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2}ExemptionReason" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}RegistrationAddress" minOccurs="0"/>
* <element ref="{urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2}TaxScheme"/>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PartyTaxSchemeType", propOrder = {
"registrationName",
"companyID",
"taxLevelCode",
"exemptionReasonCode",
"exemptionReason",
"registrationAddress",
"taxScheme"
})
public class PartyTaxSchemeType implements Serializable
{
@XmlElement(name = "RegistrationName", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
private RegistrationNameType registrationName;
@XmlElement(name = "CompanyID", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
private CompanyIDType companyID;
@XmlElement(name = "TaxLevelCode", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
private TaxLevelCodeType taxLevelCode;
@XmlElement(name = "ExemptionReasonCode", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
private ExemptionReasonCodeType exemptionReasonCode;
@XmlElement(name = "ExemptionReason", namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
private ExemptionReasonType exemptionReason;
@XmlElement(name = "RegistrationAddress")
private AddressType registrationAddress;
@XmlElement(name = "TaxScheme", required = true)
private TaxSchemeType taxScheme;
/**
* Default constructor
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
*/
public PartyTaxSchemeType() {
}
/**
*
*
* <?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>Party Tax Scheme. Registration_ Name. Name</ccts:DictionaryEntryName><ccts:Definition>The official name of the party as registered with the relevant fiscal authority.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Party Tax Scheme</ccts:ObjectClass><ccts:PropertyTermQualifier>Registration</ccts:PropertyTermQualifier><ccts:PropertyTerm>Name</ccts:PropertyTerm><ccts:RepresentationTerm>Name</ccts:RepresentationTerm><ccts:DataType>Name. Type</ccts:DataType><ccts:Examples>"Microsoft Corporation"</ccts:Examples></ccts:Component>
*
*
*
* @return
* possible object is
* {@link RegistrationNameType }
*
*/
@Nullable
public RegistrationNameType getRegistrationName() {
return registrationName;
}
/**
* Sets the value of the registrationName property.
*
* @param value
* allowed object is
* {@link RegistrationNameType }
*
*/
public void setRegistrationName(
@Nullable
RegistrationNameType value) {
this.registrationName = 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>Party Tax Scheme. Company Identifier. Identifier</ccts:DictionaryEntryName><ccts:Definition>The identifier assigned for tax purposes to a party by the taxation authority.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Party Tax Scheme</ccts:ObjectClass><ccts:PropertyTerm>Company Identifier</ccts:PropertyTerm><ccts:RepresentationTerm>Identifier</ccts:RepresentationTerm><ccts:DataType>Identifier. Type</ccts:DataType><ccts:AlternativeBusinessTerms>VAT Number</ccts:AlternativeBusinessTerms><ccts:Examples>"3556625"</ccts:Examples></ccts:Component>
*
*
*
* @return
* possible object is
* {@link CompanyIDType }
*
*/
@Nullable
public CompanyIDType getCompanyID() {
return companyID;
}
/**
* Sets the value of the companyID property.
*
* @param value
* allowed object is
* {@link CompanyIDType }
*
*/
public void setCompanyID(
@Nullable
CompanyIDType value) {
this.companyID = 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>Party Tax Scheme. Tax Level Code. Code</ccts:DictionaryEntryName><ccts:Definition>The section or role within the tax scheme that applies to the party.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Party Tax Scheme</ccts:ObjectClass><ccts:PropertyTerm>Tax Level Code</ccts:PropertyTerm><ccts:RepresentationTerm>Code</ccts:RepresentationTerm><ccts:DataType>Code. Type</ccts:DataType></ccts:Component>
*
*
*
* @return
* possible object is
* {@link TaxLevelCodeType }
*
*/
@Nullable
public TaxLevelCodeType getTaxLevelCode() {
return taxLevelCode;
}
/**
* Sets the value of the taxLevelCode property.
*
* @param value
* allowed object is
* {@link TaxLevelCodeType }
*
*/
public void setTaxLevelCode(
@Nullable
TaxLevelCodeType value) {
this.taxLevelCode = 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>Party Tax Scheme. Exemption Reason Code. Code</ccts:DictionaryEntryName><ccts:Definition>A reason for a party's exemption from tax, expressed as a code.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Party Tax Scheme</ccts:ObjectClass><ccts:PropertyTerm>Exemption Reason Code</ccts:PropertyTerm><ccts:RepresentationTerm>Code</ccts:RepresentationTerm><ccts:DataType>Code. Type</ccts:DataType></ccts:Component>
*
*
*
* @return
* possible object is
* {@link ExemptionReasonCodeType }
*
*/
@Nullable
public ExemptionReasonCodeType getExemptionReasonCode() {
return exemptionReasonCode;
}
/**
* Sets the value of the exemptionReasonCode property.
*
* @param value
* allowed object is
* {@link ExemptionReasonCodeType }
*
*/
public void setExemptionReasonCode(
@Nullable
ExemptionReasonCodeType value) {
this.exemptionReasonCode = 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>Party Tax Scheme. Exemption_ Reason. Text</ccts:DictionaryEntryName><ccts:Definition>A reason for a party's exemption from tax, expressed as text.</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Party Tax Scheme</ccts:ObjectClass><ccts:PropertyTermQualifier>Exemption</ccts:PropertyTermQualifier><ccts:PropertyTerm>Reason</ccts:PropertyTerm><ccts:RepresentationTerm>Text</ccts:RepresentationTerm><ccts:DataType>Text. Type</ccts:DataType></ccts:Component>
*
*
*
* @return
* possible object is
* {@link ExemptionReasonType }
*
*/
@Nullable
public ExemptionReasonType getExemptionReason() {
return exemptionReason;
}
/**
* Sets the value of the exemptionReason property.
*
* @param value
* allowed object is
* {@link ExemptionReasonType }
*
*/
public void setExemptionReason(
@Nullable
ExemptionReasonType value) {
this.exemptionReason = 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>Party Tax Scheme. Registration_ Address. Address</ccts:DictionaryEntryName><ccts:Definition>An association to Registered Address (for tax purposes).</ccts:Definition><ccts:Cardinality>0..1</ccts:Cardinality><ccts:ObjectClass>Party Tax Scheme</ccts:ObjectClass><ccts:PropertyTermQualifier>Registration</ccts:PropertyTermQualifier><ccts:PropertyTerm>Address</ccts:PropertyTerm><ccts:AssociatedObjectClass>Address</ccts:AssociatedObjectClass></ccts:Component>
*
*
*
* @return
* possible object is
* {@link AddressType }
*
*/
@Nullable
public AddressType getRegistrationAddress() {
return registrationAddress;
}
/**
* Sets the value of the registrationAddress property.
*
* @param value
* allowed object is
* {@link AddressType }
*
*/
public void setRegistrationAddress(
@Nullable
AddressType value) {
this.registrationAddress = 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>Party Tax Scheme. Tax Scheme</ccts:DictionaryEntryName><ccts:Definition>An association to Tax Scheme.</ccts:Definition><ccts:Cardinality>1</ccts:Cardinality><ccts:ObjectClass>Party Tax Scheme</ccts:ObjectClass><ccts:PropertyTerm>Tax Scheme</ccts:PropertyTerm><ccts:AssociatedObjectClass>Tax Scheme</ccts:AssociatedObjectClass></ccts:Component>
*
*
*
* @return
* possible object is
* {@link TaxSchemeType }
*
*/
@Nullable
public TaxSchemeType getTaxScheme() {
return taxScheme;
}
/**
* Sets the value of the taxScheme property.
*
* @param value
* allowed object is
* {@link TaxSchemeType }
*
*/
public void setTaxScheme(
@Nullable
TaxSchemeType value) {
this.taxScheme = 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 PartyTaxSchemeType rhs = ((PartyTaxSchemeType) o);
if (!EqualsUtils.equals(registrationName, rhs.registrationName)) {
return false;
}
if (!EqualsUtils.equals(companyID, rhs.companyID)) {
return false;
}
if (!EqualsUtils.equals(taxLevelCode, rhs.taxLevelCode)) {
return false;
}
if (!EqualsUtils.equals(exemptionReasonCode, rhs.exemptionReasonCode)) {
return false;
}
if (!EqualsUtils.equals(exemptionReason, rhs.exemptionReason)) {
return false;
}
if (!EqualsUtils.equals(registrationAddress, rhs.registrationAddress)) {
return false;
}
if (!EqualsUtils.equals(taxScheme, rhs.taxScheme)) {
return false;
}
return true;
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-equalshashcode
*
*/
@Override
public int hashCode() {
return new HashCodeGenerator(this).append(registrationName).append(companyID).append(taxLevelCode).append(exemptionReasonCode).append(exemptionReason).append(registrationAddress).append(taxScheme).getHashCode();
}
/**
* Created by phloc-jaxb22-plugin -Xphloc-tostring
*
*/
@Override
public String toString() {
return new ToStringGenerator(this).append("registrationName", registrationName).append("companyID", companyID).append("taxLevelCode", taxLevelCode).append("exemptionReasonCode", exemptionReasonCode).append("exemptionReason", exemptionReason).append("registrationAddress", registrationAddress).append("taxScheme", taxScheme).toString();
}
/**
* 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 ExemptionReasonType and never null
*/
@Nonnull
public ExemptionReasonType setExemptionReason(
@Nullable
final String valueParam) {
ExemptionReasonType aObj = getExemptionReason();
if (aObj == null) {
aObj = new ExemptionReasonType(valueParam);
setExemptionReason(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 RegistrationNameType and never null
*/
@Nonnull
public RegistrationNameType setRegistrationName(
@Nullable
final String valueParam) {
RegistrationNameType aObj = getRegistrationName();
if (aObj == null) {
aObj = new RegistrationNameType(valueParam);
setRegistrationName(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 CompanyIDType and never null
*/
@Nonnull
public CompanyIDType setCompanyID(
@Nullable
final String valueParam) {
CompanyIDType aObj = getCompanyID();
if (aObj == null) {
aObj = new CompanyIDType(valueParam);
setCompanyID(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 TaxLevelCodeType and never null
*/
@Nonnull
public TaxLevelCodeType setTaxLevelCode(
@Nullable
final String valueParam) {
TaxLevelCodeType aObj = getTaxLevelCode();
if (aObj == null) {
aObj = new TaxLevelCodeType(valueParam);
setTaxLevelCode(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 ExemptionReasonCodeType and never null
*/
@Nonnull
public ExemptionReasonCodeType setExemptionReasonCode(
@Nullable
final String valueParam) {
ExemptionReasonCodeType aObj = getExemptionReasonCode();
if (aObj == null) {
aObj = new ExemptionReasonCodeType(valueParam);
setExemptionReasonCode(aObj);
} else {
aObj.setValue(valueParam);
}
return aObj;
}
/**
* Get the value of the contained RegistrationNameType object
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
* @return
* Either the value of the contained RegistrationNameType object or null
*/
@Nullable
public String getRegistrationNameValue() {
RegistrationNameType aObj = getRegistrationName();
return ((aObj == null)?null:aObj.getValue());
}
/**
* Get the value of the contained CompanyIDType object
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
* @return
* Either the value of the contained CompanyIDType object or null
*/
@Nullable
public String getCompanyIDValue() {
CompanyIDType aObj = getCompanyID();
return ((aObj == null)?null:aObj.getValue());
}
/**
* Get the value of the contained TaxLevelCodeType object
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
* @return
* Either the value of the contained TaxLevelCodeType object or null
*/
@Nullable
public String getTaxLevelCodeValue() {
TaxLevelCodeType aObj = getTaxLevelCode();
return ((aObj == null)?null:aObj.getValue());
}
/**
* Get the value of the contained ExemptionReasonCodeType object
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
* @return
* Either the value of the contained ExemptionReasonCodeType object or null
*/
@Nullable
public String getExemptionReasonCodeValue() {
ExemptionReasonCodeType aObj = getExemptionReasonCode();
return ((aObj == null)?null:aObj.getValue());
}
/**
* Get the value of the contained ExemptionReasonType object
* Created by phloc-ubl-jaxb-plugin -Xphloc-ubl-value
*
* @return
* Either the value of the contained ExemptionReasonType object or null
*/
@Nullable
public String getExemptionReasonValue() {
ExemptionReasonType aObj = getExemptionReason();
return ((aObj == null)?null:aObj.getValue());
}
}