EventLabel.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tradecloud.domain.model.hfcmanagement;

import com.tradecloud.common.base.PersistenceBase;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
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
@DiscriminatorValue("EVENT_LABEL")
@Access(AccessType.FIELD)
@Table(name = "eventLabel")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "eventLabel")
public class EventLabel extends PersistenceBase {

    @NotNull
    @XmlAttribute
    private String name;
    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
    @Column(nullable = false)
    @NotNull
    @XmlAttribute
    private Date startDate;
    @Temporal(javax.persistence.TemporalType.TIMESTAMP)
    @Column(nullable = false)
    @NotNull
    @XmlAttribute
    private Date endDate;

    @XmlAttribute
    @Size(min = 1, max = 30, message = "Username must be between 1 and 30 characters in length")
    private String userName;

    public EventLabel() {
        // TODO Auto-generated constructor stub
    }

    public EventLabel(String eventName) {
        this.name = eventName;
    }

    public String getName() {
        return name;
    }

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

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Override
    public String toString() {
        return "EventLabel [name=" + name + ", startDate=" + startDate + ", endDate=" + endDate + ", userName=" + userName + "]";
    }

    @Transient
    public String toStringHeadingsForCsv() {

        return "Buying Event,User";
    }

    @Transient
    public String toStringForCsv() {
        return name + "##" + userName;

    }
}