PublicHoliday.java

package com.tradecloud.domain.configuration;

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.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date;

@Entity
@Table(name = "publicholiday")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "PublicHoliday")
public class PublicHoliday extends PersistenceBase {

    private static final long serialVersionUID = 1L;

    @XmlAttribute
    @NotNull
    private String name;

    @XmlAttribute
    @Temporal(TemporalType.TIMESTAMP)
    @NotNull
    private Date date;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (obj == this) {
            return true;
        }
        if (obj.getClass() != getClass()) {
            return false;
        }
        PublicHoliday rhs = (PublicHoliday) obj;
        return new EqualsBuilder().append(date, rhs.date).append(name, rhs.name).isEquals();
    }

    @Override
    public int hashCode() {
        return new HashCodeBuilder().append(date).append(name).hashCode();
    }

    @Override
    public String toString() {
        return new StringBuilder().append(",name=").append(name).append(",date=").append(date).append("country=").toString();
    }
}