org.openestate.is24.restapi.xml.common.Money Maven / Gradle / Ivy
package org.openestate.is24.restapi.xml.common;
import java.io.Serializable;
import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import org.jvnet.jaxb2_commons.lang.CopyStrategy2;
import org.jvnet.jaxb2_commons.lang.CopyTo2;
import org.jvnet.jaxb2_commons.lang.Equals2;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy2;
import org.jvnet.jaxb2_commons.lang.JAXBCopyStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString2;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy2;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
/**
* Java class for Money complex type.
*
*
The following schema fragment specifies the expected content contained within this class.
*
*
* <complexType name="Money">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <all>
* <element name="amount" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* <element name="currency" type="{http://rest.immobilienscout24.de/schema/common/1.0}Currency"/>
* </all>
* </restriction>
* </complexContent>
* </complexType>
*
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Money", propOrder = {
})
public class Money implements Serializable, Cloneable, CopyTo2, Equals2, ToString2
{
@XmlElement(required = true)
protected BigDecimal amount;
@XmlElement(required = true)
@XmlSchemaType(name = "string")
protected Currency currency;
/**
* Gets the value of the amount property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getAmount() {
return amount;
}
/**
* Sets the value of the amount property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setAmount(BigDecimal value) {
this.amount = value;
}
/**
* Gets the value of the currency property.
*
* @return
* possible object is
* {@link Currency }
*
*/
public Currency getCurrency() {
return currency;
}
/**
* Sets the value of the currency property.
*
* @param value
* allowed object is
* {@link Currency }
*
*/
public void setCurrency(Currency value) {
this.currency = value;
}
public String toString() {
final ToStringStrategy2 strategy = JAXBToStringStrategy.INSTANCE;
final StringBuilder buffer = new StringBuilder();
append(null, buffer, strategy);
return buffer.toString();
}
public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
strategy.appendStart(locator, this, buffer);
appendFields(locator, buffer, strategy);
strategy.appendEnd(locator, this, buffer);
return buffer;
}
public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy2 strategy) {
{
BigDecimal theAmount;
theAmount = this.getAmount();
strategy.appendField(locator, this, "amount", buffer, theAmount, (this.amount!= null));
}
{
Currency theCurrency;
theCurrency = this.getCurrency();
strategy.appendField(locator, this, "currency", buffer, theCurrency, (this.currency!= null));
}
return buffer;
}
public Object clone() {
return copyTo(createNewInstance());
}
public Object copyTo(Object target) {
final CopyStrategy2 strategy = JAXBCopyStrategy.INSTANCE;
return copyTo(null, target, strategy);
}
public Object copyTo(ObjectLocator locator, Object target, CopyStrategy2 strategy) {
final Object draftCopy = ((target == null)?createNewInstance():target);
if (draftCopy instanceof Money) {
final Money copy = ((Money) draftCopy);
{
Boolean amountShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.amount!= null));
if (amountShouldBeCopiedAndSet == Boolean.TRUE) {
BigDecimal sourceAmount;
sourceAmount = this.getAmount();
BigDecimal copyAmount = ((BigDecimal) strategy.copy(LocatorUtils.property(locator, "amount", sourceAmount), sourceAmount, (this.amount!= null)));
copy.setAmount(copyAmount);
} else {
if (amountShouldBeCopiedAndSet == Boolean.FALSE) {
copy.amount = null;
}
}
}
{
Boolean currencyShouldBeCopiedAndSet = strategy.shouldBeCopiedAndSet(locator, (this.currency!= null));
if (currencyShouldBeCopiedAndSet == Boolean.TRUE) {
Currency sourceCurrency;
sourceCurrency = this.getCurrency();
Currency copyCurrency = ((Currency) strategy.copy(LocatorUtils.property(locator, "currency", sourceCurrency), sourceCurrency, (this.currency!= null)));
copy.setCurrency(copyCurrency);
} else {
if (currencyShouldBeCopiedAndSet == Boolean.FALSE) {
copy.currency = null;
}
}
}
}
return draftCopy;
}
public Object createNewInstance() {
return new Money();
}
public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy2 strategy) {
if ((object == null)||(this.getClass()!= object.getClass())) {
return false;
}
if (this == object) {
return true;
}
final Money that = ((Money) object);
{
BigDecimal lhsAmount;
lhsAmount = this.getAmount();
BigDecimal rhsAmount;
rhsAmount = that.getAmount();
if (!strategy.equals(LocatorUtils.property(thisLocator, "amount", lhsAmount), LocatorUtils.property(thatLocator, "amount", rhsAmount), lhsAmount, rhsAmount, (this.amount!= null), (that.amount!= null))) {
return false;
}
}
{
Currency lhsCurrency;
lhsCurrency = this.getCurrency();
Currency rhsCurrency;
rhsCurrency = that.getCurrency();
if (!strategy.equals(LocatorUtils.property(thisLocator, "currency", lhsCurrency), LocatorUtils.property(thatLocator, "currency", rhsCurrency), lhsCurrency, rhsCurrency, (this.currency!= null), (that.currency!= null))) {
return false;
}
}
return true;
}
public boolean equals(Object object) {
final EqualsStrategy2 strategy = JAXBEqualsStrategy.INSTANCE;
return equals(null, null, object, strategy);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy