com.evasion.module.travel.ITravelModule Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of API Show documentation
Show all versions of API Show documentation
API de l'application modulaire evasion-en-ligne
The newest version!
/*
* To change this template, choose Tools | Templates and open the template in
* the editor.
*/
package com.evasion.module.travel;
import com.evasion.entity.booktravel.BookTravel;
import com.evasion.entity.booktravel.Itinerary;
import com.evasion.entity.booktravel.RoadMap;
import com.evasion.entity.booktravel.exception.BookTravelServiceException;
import com.evasion.entity.content.Comment;
import com.evasion.entity.content.Contribution;
import com.evasion.exception.EvasionException;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
*
* @author sebastien
*/
public interface ITravelModule {
/**
* Trouver un carnet de voyage a partir de son ID. Cette methode ne remonte
* pas les elements en lazy loading tels que les feuilles de route.
*
* @param id identifiant technique du carnet de voyage.
* @return le carnet de voyage correspondant a l'ID technique demande.
* @throws EvasionException
*/
BookTravel findBooktravelWithoutRoadMap(Long id)
throws EvasionException;
/**
* Trouver les couples id,titre d'un auteur.
*
* @param username username de l'auteur
* @return map des clé, titre des booktravel de l'auteur passé en paramètre
* @throws EvasionException
*/
Map findBooktravelForUser(String username)
throws EvasionException;
/**
* Trouver les N dernier carnet de voyage créé.
* @param nbr nombre max d'enregistrment retourné.
* @return map des clé, titre des N dernier booktravel créé.
*/
Map lastBookTravel(int nbr);
/**
* Creer un carnet de voyage.
*
* @param booktravel le carnet de voyage a creer.
* @return le carnet de voyage persiste.
* @throws EvasionException
*/
BookTravel createOrUpdateBookTravel(BookTravel booktravel)
throws EvasionException;
/**
* Créer une feuille de route au sein d'un carnet de voyage.
*
* @param idBookTravel identifiant technique du carnet de voyage;
* @param contribution récit de la feuille de route;
* @param itinerary itineraire de la feuille de route;
* @throws EvasionExceptions
*/
void createRoadMap(final Long idBookTravel,
final Contribution contribution, final Itinerary itinerary)
throws EvasionException;
/**
* Renvoi les n plus récente feuille de route d'un carnet de voyage.
*
* @param idBookTravel identifiant technique du carnet de voyage.
* @param size nombre d'élément à remonter.
* @return liste des feuilles de route.
*/
List findNewestRoadMap(Long idBookTravel, int size);
/**
* Renvoi une feuille de route à partir de son Id technique. Récupère
* également les commentaire associé.
*
* @param id identifiant technique de la feuille de route.
* @return la feuille de route; null si non trouvé en base
* @throws BookTravelServiceException
*/
RoadMap findRoadMapById(Long id) throws EvasionException;
/**
* Créer un commentaire sur une feuille de route.
*
* @param roadMap feuille de route.
* @param commentaireNew commentaire à créer.
* @return
* true
si création réussi;
* false
sinon
*/
boolean createCommentOnRoadMap(RoadMap roadMap, Comment commentaireNew) throws EvasionException;
/**
* Renvoi une Map des titres et Id des roadmap Compris entre 2 date.
* L'interval est limiter à 1 ans.
*
* @param idBookTravel identifiant du bookTravel;
* @param dateDebutt date de début de la recherche
* @param dateFin date de fin de la recherche;
* @return Liste des feuilles de route correspondat à la recherche.
*/
List getArchiveRoadMapBetweenDate(Long idBookTravel, Date dateDebut, Date dateFin);
/**
* Renvoi la liste des étapes du voyage.
* @param idBookTravel identifiant du booktravel.
* @return liste des étapes.
*/
List getBookTravelStep(Long idBookTravel);
}