com.evasion.plugin.common.entity.EventData Maven / Gradle / Ivy
package com.evasion.plugin.common.entity;
import com.evasion.EntityJPA;
import com.evasion.entity.security.User;
import com.evasion.module.common.entity.IEventData;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.persistence.*;
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(name = EventData.ENTITY_NAME)
@Table(name = EventData.ENTITY_NAME)
public class EventData extends EntityJPA implements IEventData {
/**
* *
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;
public static final String ENTITY_NAME = "COM_EVENT_DATA";
/**
* 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.
*/
private String 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, String 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 String 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