com.evasion.entity.event.EventData Maven / Gradle / Ivy
package com.evasion.entity.event;
import com.evasion.EntityJPA;
import com.evasion.entity.security.User;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author sebastien.glon
*/
@Entity
@Table(name = "eventData")
public class EventData extends EntityJPA {
/***
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;
/**
* Id technique.
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
/**
* Date de l'évènement.
*/
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
private Calendar dateRecordInternal;
@Column(nullable = false)
private String entityName;
@Column(nullable = false)
private String entityId;
@Column(nullable = false)
private String code;
@Column(nullable = false)
private String plugin;
/**
* Auteur à l'origine de l'évènement.
*/
@ManyToOne
private User auteur;
/**
* Constructeur par défaut pour la persistence.
*/
protected EventData() {
}
/**
* Constructeur général.
* @param entityName nom de l'entity.
* @param entityId identifiant technique de l'entity.
* @param code code technique de caractérisant l'évènement.
* @param plugin nom du plugin ayant provoqué l'évènement.
*/
public EventData(String entityName, String entityId, String code, String plugin, User auteur) {
this.entityName = entityName;
this.entityId = entityId;
this.code = code;
this.plugin = plugin;
this.auteur = auteur;
this.dateRecordInternal = new GregorianCalendar();
}
/**
* Getter de id.
* @return identifiant technique.
*/
@Override
public Long getId() {
return id;
}
/*
* Setter de id.
*/
public void setId(Long id) {
this.id = id;
}
/**
* Getter de code.
* @return code d'identification de l'évènement.
*/
public String getCode() {
return code;
}
/**
* Getter de entityId.
* @return identifiant technique de l'entity.
*/
public String getEntityId() {
return entityId;
}
/**
* Getter de entityName.
* @return entity name.
*/
public String getEntityName() {
return entityName;
}
/**
* Getter pour la persistence de la dateRecordInternal.
* @return date d'enregistrement.
*/
protected Calendar getDateRecordInternal() {
if (dateRecordInternal == null) {
dateRecordInternal = new GregorianCalendar();
}
return dateRecordInternal;
}
/**
* Setter pour la persistence de la dateRecordInternal.
* @param calendar date d'enregistrement.
*/
protected void setDateRecordInternal(Calendar calendar) {
this.dateRecordInternal = calendar;
}
/**
* Getter de la dateRecordInternal.
* @return date d'enregistrement.
*/
public Date getDateRecord() {
return this.getDateRecordInternal().getTime();
}
/**
* Getter de l'auteur.
* @return auteur de l'évènement.
*/
public User getAuteur() {
return auteur;
}
/**
* Getter du plugin à l'origine de l'évènement.
* @return nom du plugin à l'origine de l'évènement
*/
public String getPlugin() {
return plugin;
}
/**
* {@inheritDoc }
*/
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (!( obj instanceof EventData )) {
return false;
}
EventData rhs = (EventData) obj;
return new EqualsBuilder().append(this.dateRecordInternal, rhs.dateRecordInternal).
append(this.plugin, rhs.plugin).append(this.entityId, rhs.entityId).
append(this.entityName, rhs.entityName).
append(this.code, rhs.code).append(this.auteur, rhs.auteur).isEquals();
}
/**
* {@inheritDoc }
*/
@Override
public int hashCode() {
HashCodeBuilder hash = new HashCodeBuilder();
hash.append(this.dateRecordInternal).
append(this.plugin).append(this.entityId).
append(this.entityName).
append(this.code).append(this.auteur);
return hash.toHashCode();
}
/**
* {@inheritDoc }
*/
@Override
public String toString() {
return new ToStringBuilder(this).append(EventData.class.getName()).append("[").
append("id", this.id).append("dateRecordInternal", this.dateRecordInternal).
append("code", this.code).append("]").toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy