![JAR search and dependency download from the Maven repository](/logo.png)
com.evasion.entity.booktravel.BookTravel 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.security.User;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
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;
import org.apache.commons.lang.builder.ToStringBuilder;
/**
* Business Oject représentant un Carnet de Voyage
* @author sebastien
*/
@Entity(name=BookTravel.ENTITY_NAME)
@Table(name = BookTravel.ENTITY_NAME)
@NamedQueries(value={
@NamedQuery(name=BookTravel.QUERY_BOOKTRAVEl_BY_AUTHOR, query="select b from "+BookTravel.ENTITY_NAME+" b where b."+BookTravel.PARAM_USERNAME+"=?1"),
@NamedQuery(name=BookTravel.QUERY_BOOKTRAVEL_ORDER_BY_DATE_DEPART, query="select b from "+BookTravel.ENTITY_NAME+" b order by b."+BookTravel.ATTR_DATE_DEPART)})
public class BookTravel extends EntityJPA {
/***
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;
public static final String ENTITY_NAME = "TRAVEL_BOOKTRAVEL";
public static final String QUERY_BOOKTRAVEl_BY_AUTHOR = "BOOKTRAVEL_BY_AUTHOR";
public static final String QUERY_BOOKTRAVEL_ORDER_BY_DATE_DEPART = "BOOKTRAVEL_ORDER_BY_DATE_DEPART";
/**
* Id technique.
*/
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE,generator="TRAVEL_SEQ")
private Long id;
/**
* Nom du carnet de voyage.
*/
@Column(unique = true, nullable = false)
private String nom;
/**
* Texte introductif du carnet de voyage.
*/
@Column(nullable = false)
private String introduction;
public static final String ATTR_DATE_DEPART = "dateDepartInternal";
/**
* Date de depart du voyage.
*/
@Temporal(javax.persistence.TemporalType.DATE)
@Column(name=ATTR_DATE_DEPART)
private Calendar dateDepartInternal;
/**
* Date de fin du voyage.
*/
@Temporal(javax.persistence.TemporalType.DATE)
private Calendar dateFinInternal;
/**
* Ensemble des feuilles de route du voyage.
*/
@OneToMany(mappedBy = "bookTravel", fetch = FetchType.LAZY)
private Set roadMapsInternal;
/**
* Itineraire prévisionnel du voyage.
*/
@OneToOne
private Itinerary itineraryBase;
public static final String PARAM_USERNAME = "username";
/**
* Auteur propriétaire du carnet de voyage.
*/
@Column(name=PARAM_USERNAME, nullable=false)
private String username;
/**
* Constructeur pour la persistance.
*/
public BookTravel() {
super();
}
/**
* Constructeur par defaut.
* @param nom Nom du carnet de voyage.
* @param intro Texte introductif du carnet de voyage.
*/
public BookTravel(String nom, String intro) {
super();
this.introduction = intro;
this.nom = nom;
}
/**
* 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 pour la persistance de la date de debut du voyage.
* @return date de debut du voyage.
*/
protected Calendar getDateDepartInternal() {
if (dateDepartInternal == null) {
dateDepartInternal = new GregorianCalendar();
}
return dateDepartInternal;
}
/**
* Setter pour la persistance de la date de debut du voyage.
* @param dateDepart date de debut du voyage.
*/
protected void setDateDepartInternal(Calendar dateDepart) {
this.dateDepartInternal = dateDepart;
}
/**
* Getter de la date de depart du voyage.
* @return date de depart du voyage.
*/
public Date getDateDepart() {
return getDateDepartInternal().getTime();
}
/**
* Setter de la date de depart du voyage.
* @param date date de depart du voyage.
*/
public void setDateDepart(Date date) {
getDateDepartInternal().setTime(date);
}
/**
* Getter pour la persistance de la date de fin du voyage.
* @return date de fin du voyage.
*/
protected Calendar getDateFinInternal() {
if (dateFinInternal == null) {
dateFinInternal = new GregorianCalendar();
}
return dateFinInternal;
}
/**
* Setter pour la persistance de la date de fin du voyage.
* @param dateDepart date de fin du voyage.
*/
protected void setDateFinInternal(Calendar dateFin) {
this.dateFinInternal = dateFin;
}
/**
* Getter de la date de fin du voyage.
* @return date de fin du voyage.
*/
public Date getDateFin() {
return getDateFinInternal().getTime();
}
/**
* Setter de la date de fin du voyage.
* @param date date de fin du voyage.
*/
public void setDateFin(Date date) {
getDateFinInternal().setTime(date);
}
/**
* Getter du text d'introduction du voyage.
* @return text d'introduction du voyage.
*/
public String getIntroduction() {
return introduction;
}
/**
* Setter du text d'introduction du voyage.
* @param introduction text d'introduction du voyage.
*/
public void setIntroduction(String introduction) {
this.introduction = introduction;
}
/**
* Getter de l'itineraire previsionnel.
* @return itineraire previsionnel.
*/
public Itinerary getItineraryBase() {
return itineraryBase;
}
/**
* Setter de l'itineraire previsionnel.
* @param itineraryBase itineraire previsionnel.
*/
public void setItineraryBase(Itinerary itineraryBase) {
this.itineraryBase = itineraryBase;
}
/**
* Getter pour la persistance de l'ensemble des feuilles de route.
* @return ensemble de feuilles de route.
*/
protected Set getRoadMapsInternal() {
if (roadMapsInternal == null) {
roadMapsInternal = new HashSet();
}
return roadMapsInternal;
}
/**
* Setter pour la persistance de l'ensemble des feuilles de route.
* @param roadMaps ensemble de feuilles de route.
*/
protected void setRoadMapsInternal(Set roadMaps) {
this.roadMapsInternal = roadMaps;
}
/**
* Getter de l'ensemble des feuilles de route.
* @return ensemble de feuilles de route.
*/
public Set getRoadMaps() {
return Collections.unmodifiableSet(getRoadMapsInternal());
}
/**
* Ajout d'une feuille de route.
* @param roadMap feuille de route
* @return renvoi true
si l'ajout est réussi; sinon false
*/
public boolean addRoadMap(RoadMap roadMap) {
return getRoadMapsInternal().add(roadMap);
}
/**
* Getter du nom du carnet de voyage.
* @return nom du carnet de voyage.
*/
public String getNom() {
return nom;
}
/**
* Setter du nom du carnet de voyage.
* @param nom nom du carnet de voyage.
*/
public void setNom(String nom) {
this.nom = nom;
}
/**
* Getter de l'utilisateur auteur .
* @return username.
*/
public String getUsername() {
return username;
}
/**
* Setter de l'utilisateur auteur .
* @param username username du propriétaire;
*/
public void setUsername(String username) {
this.username = username;
}
/**
* {@inheritDoc }
*/
@Override
public boolean equals(final Object obj) {
if (obj == null) {
return false;
}
if (this == obj) {
return true;
}
if (!( obj instanceof BookTravel )) {
return false;
}
BookTravel rhs = (BookTravel) obj;
return new EqualsBuilder().append(this.nom, rhs.nom).append(this.username, rhs.username).isEquals();
}
/**
* Calcul du hashcode sur la clé naturelle.
* @return valeur du hashCode.
*/
@Override
public int hashCode() {
return new HashCodeBuilder().append(this.nom).append(this.username).toHashCode();
}
@Override
public String toString() {
return new ToStringBuilder(this).append("id", id).
append("nom", nom).append("auteur", username).toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy