LineItemPromotion.java
package com.tradecloud.domain.item;
import com.tradecloud.common.base.PersistenceBase;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import javax.persistence.*;
import javax.xml.bind.annotation.*;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*/
@Entity
@Table(name = "lineitempromotion")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "Promotion")
public class LineItemPromotion extends PersistenceBase {
@XmlAttribute
@Column(name = "promotionenabled")
protected boolean enabled;
@XmlAttribute
@Column(name = "promotionquantity")
protected BigDecimal quantity;
@XmlAttribute
@Column(name = "promotionname")
protected String name;
@XmlAttribute
@Column(name = "promotionfromdate")
@Temporal(TemporalType.TIMESTAMP)
protected Date fromDate;
@XmlAttribute
@Column(name = "promotiontodate")
@Temporal(TemporalType.TIMESTAMP)
protected Date toDate;
@OneToOne(fetch = FetchType.LAZY)
@XmlIDREF
protected LineItem lineItem;
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public BigDecimal getQuantity() {
return quantity;
}
public void setQuantity(BigDecimal quantity) {
this.quantity = quantity;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getFromDate() {
return fromDate;
}
public void setFromDate(Date fromDate) {
this.fromDate = fromDate;
}
public Date getToDate() {
return toDate;
}
public void setToDate(Date toDate) {
this.toDate = toDate;
}
public LineItem getLineItem() {
return lineItem;
}
public void setLineItem(LineItem lineItem) {
this.lineItem = lineItem;
}
@Override
public LineItemPromotion clone() {
LineItemPromotion clone = (LineItemPromotion) super.clone();
clone.setEnabled(enabled);
clone.setFromDate(fromDate);
clone.setToDate(toDate);
clone.setName(name);
clone.setQuantity(quantity);
clone.setId(null);
return clone;
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(enabled).append(fromDate).append(toDate).append(name).append(quantity).append(lineItem).toHashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
LineItemPromotion other = (LineItemPromotion) obj;
return new EqualsBuilder().append(enabled, other.enabled).append(fromDate, other.fromDate).append(toDate, other.toDate)
.append(name, other.name).append(quantity, other.quantity).append(lineItem, other.lineItem)
.isEquals();
}
@Override
public String toString() {
return new StringBuilder().append(enabled).append(" ").append(fromDate).append(" ").append(toDate).append(" ").append(name).append(" ")
.append(quantity).append(" ").append(lineItem).toString();
}
}