![JAR search and dependency download from the Maven repository](/logo.png)
com.evasion.entity.booktravel.RoadMap Maven / Gradle / Ivy
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.evasion.entity.booktravel;
import com.evasion.EntityJPA;
import com.evasion.entity.content.Contribution;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
/**
* Business Object representant une feuille de route.
* @author sebastien
*/
@Entity(name=RoadMap.ENTITY_NAME)
@Table(name = RoadMap.ENTITY_NAME)
public class RoadMap extends EntityJPA {
/***
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;
public static final String ENTITY_NAME= "TRAVEL_ROAD_MAP";
/**
* Id technique.
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
/**
* Article descriptif de la feuille de route.
*/
@OneToOne(cascade = {CascadeType.PERSIST, CascadeType.REFRESH})
private Contribution contribution;
/**
* Itineraire de la feuille de route.
*/
@OneToOne(cascade = {CascadeType.PERSIST, CascadeType.REFRESH})
private Itinerary itinerary;
public static final String BOOKTRAVEL = "bookTravel";
/**
* Carnet de voyage de rattachement.
*/
@ManyToOne
private BookTravel bookTravel;
public static final String EXECUTION_DATE ="executionDateInternal";
/**
* Date de réalisation (du parcour) de la feuille de route.
*/
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
private Calendar executionDateInternal;
/**
* Constructeur pour la persistance.
*/
protected RoadMap() {
super();
}
/**
* Constructeur par defaut.
* @param contrib Article descriptif de la feuille de route.
* @param itin Itineraire de la feuille de route.
* @param bkTravel Carnet de voyage de rattachement.
*/
public RoadMap(final Contribution contrib, final Itinerary itin,
final BookTravel bkTravel) {
this.executionDateInternal = Calendar.getInstance();
this.contribution = contrib;
this.itinerary = itin;
this.bookTravel = bkTravel;
}
/**
* Getter de l'ID technique.
* @return ID technique.
*/
@Override
public Long getId() {
return id;
}
/**
* Setter de l'ID technique.
* @param id ID technique.
*/
public void setId(Long id) {
this.id = id;
}
/**
* Getter de l'article.
* @return l'article de la feuille de route.
*/
public Contribution getContribution() {
return contribution;
}
/**
* Setter de l'article.
* @param contribution l'article a setter.
*/
public void setContribution(Contribution contribution) {
this.contribution = contribution;
}
/**
* Getter de l'itineraire.
* @return l'itineraire de la feuille de route
*/
public Itinerary getItinerary() {
return itinerary;
}
/**
* Setter de l'itineraire.
* @param itinerary l'itineraire a setter.
*/
public void setItinerary(Itinerary itinerary) {
this.itinerary = itinerary;
}
/**
* Getter du carnet de voyage.
* @return carnet de voyage auquel est rattaché la feuille de route.
*/
public BookTravel getBookTravel() {
return bookTravel;
}
/**
* Setter du carnet de voyage.
* @param bookTravel carnet de voyage auquel rattaché la feuille de route.
*/
public void setBookTravel(BookTravel bookTravel) {
this.bookTravel = bookTravel;
}
/**
* Getter pour la persistance de la date de creation.
* @return date de réalisation (du parcour) de la feuille de route.
*/
protected Calendar getExecutionDateInternal() {
if (executionDateInternal == null) {
executionDateInternal = new GregorianCalendar();
}
return executionDateInternal;
}
/**
* Setter pour la persistance de la date de creation.
* @param creationDate date de réalisation (du parcour) de la feuillle de route.
*/
protected void setExecutionDateInternal(Calendar creationDate) {
this.executionDateInternal = creationDate;
}
/**
* Getter de la date de réalisation (du parcour) de la feuillle de route.
* @return date de réalisation (du parcour) de la feuillle de route.
*/
public Date getExecutionDate() {
return getExecutionDateInternal().getTime();
}
/**
* Setter de la date de réalisation (du parcour) de la feuillle de route.
* @param date date de réalisation (du parcour) de la feuillle de route.
*/
public void setExecutionDate(Date date) {
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
this.executionDateInternal =calendar;
}
/**
* Getter de la date de creation.
* @return date de création de la feuille de route.
*/
public Date getCreationDate() {
if (this.getContribution() == null) {
return null;
} else {
return this.getContribution().getDateEnregistrement();
}
}
/**
* {@inheritDoc }.
*/
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (!( obj instanceof RoadMap )) {
return false;
}
final RoadMap other = (RoadMap) obj;
return new EqualsBuilder().append(this.itinerary, other.itinerary).
append(this.contribution, other.contribution).
append(this.bookTravel, other.bookTravel).isEquals();
}
/**
* {@inheritDoc }.
*/
@Override
public int hashCode() {
return new HashCodeBuilder().append(itinerary).
append(contribution).append(bookTravel).toHashCode();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy