package com.alcedomoreno.sirme.core.dao.common;

import java.io.Serializable;
import java.util.List;
/**
 * Interfaz con operaciones CRUD sobre bd
 * @param <T> entidad con la que se implementa al interfaz
 */
public interface Operations<T extends Serializable> {

	/**
	 * Recupera una entidad por identificador
	 * @param id identificador que se va a buscar
	 * @return entidad recuperada
	 */		
	T findOne(final Serializable id);

	/**
	 * Recupera todas las entidades de una tabla
	 * @return lista total
	 */
    List<T> findAll();

    /**
     * Crea una entidad
     * @param entity entidad que se va a crear
     */
    void create(final T entity);

    /**
     * Actualiza una entidad
     * @param entity entidad que se va a actualizar
     * @return entidad actualizada
     */
    T update(final T entity);

    /**
     * Borra una entidad
     * @param entity entidad que se va a borrar
     */
    void delete(final T entity);

    /**
     * Borra una entidad por identificador
     * @param entityId midentificador de la entidad que se va a borrar
     */
    void deleteById(final Integer entityId);
    
    /**
     * Saca de la sesión de la caché de la sesión la entidad
     * @param entity entidad sobre la que se realizará la operación
     */
    void evict(final T entity);

    /**
     * Devuelve el tamaño de la Entidad
     * @return número de elementos que existen
     */
    public long count();
    
    /**
     * Recupera todas las entidades de una tabla peginándola
     * @param rowId El registro de inicio (El índice empieza en el 0)
     * @param size El tamaño de salida de la lista
     * @return lista paginada
     */
    List<T> findAll(int rowId, int size);
    
}

@@ -1148,17 +1148,18 @@
  la sesi
-%C3%B3
+%C3%83%C2%B3
 n de la 
@@ -1166,9 +1166,10 @@
 cach
-%C3%A9
+%C3%83%C2%A9
  de 
@@ -1175,17 +1175,18 @@
  la sesi
-%C3%B3
+%C3%83%C2%B3
 n la ent
@@ -1243,17 +1243,18 @@
 realizar
-%C3%A1
+%C3%83%C2%A1
  la oper
@@ -1260,9 +1260,10 @@
 raci
-%C3%B3
+%C3%83%C2%B3
 n%0A  
@@ -1328,25 +1328,26 @@
 elve el tama
-%C3%B1
+%C3%83%C2%B1
 o de la Enti
@@ -1370,9 +1370,10 @@
 rn n
-%C3%BA
+%C3%83%C2%BA
 mero
@@ -1421,12 +1421,15 @@
 lic 
-long
+Integer
  cou
@@ -1505,9 +1505,10 @@
 egin
-%C3%A1
+%C3%83%C2%A1
 ndol
@@ -1559,9 +1559,10 @@
 (El 
-%C3%AD
+%C3%83%C2%AD
 ndic
@@ -1610,9 +1610,10 @@
 tama
-%C3%B1
+%C3%83%C2%B1
 o de

count return Integer