Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* JavaBeanStack FrameWork
*
* Copyright (C) 2017 Jorge Enciso
* Email: [email protected]
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
package org.javabeanstack.data;
import java.sql.Connection;
import java.util.List;
import java.util.Map;
import javax.persistence.Query;
import org.javabeanstack.error.IErrorReg;
import org.javabeanstack.security.IUserSession;
/**
* Contiene metodos para gestionar la capa de datos, (lectura y grabación de
* datos), utiliza DBManager.
*
* @author Jorge Enciso
*/
public interface IGenericDAO {
/**
* Sincroniza un ejb con la base de datos.
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param ejb objeto mapeado a un registro de una tabla.
* @return Devuelve un objeto con el resultado de la grabación
*
*/
public IDataResult update(String sessionId, T ejb);
/**
* Sincroniza una lista de ejbs con la base de datos.
*
* @param ejbs lista de objetos mapeados a los registros de una tabla.
* @param sessionId identificador de la sesión del usuario
* @return Devuelve un objeto con el resultado de la grabación
*/
public IDataResult update(String sessionId, IDataObject ejbs);
/**
* Sincroniza una lista de ejbs con la base de datos.
*
* @param
* @param ejbs lista de objetos mapeados a los registros de una tabla.
* @param sessionId identificador de la sesión del usuario
* @return Devuelve un objeto con el resultado de la grabación
*/
public IDataResult update(String sessionId, List ejbs);
/**
* Sincroniza una lista de ejbs con la base de datos.
*
* @param dataSet cada elemento es un objeto mapeado a una tabla
* @param sessionId identificador de la sesión del usuario
* correcta (unidad de persistencia, sesión id etc).
* @return Devuelve un objeto con el resultado de la grabación
*/
public IDataResult update(String sessionId, IDataSet dataSet);
/**
* Agregar,un registro en la tabla
*
* @param tipo de dato generalemente hereda de DataRow
* @param sessionId identificador de la sesión del usuario
* @param ejb el objeto con los valores del registro
* @return IDataResult conteniendo los registros actualizados.
* @throws java.lang.Exception
*/
public IDataResult persist(String sessionId, T ejb) throws Exception;
/**
* Modificar un registro en la tabla dada
*
* @param tipo de dato generalemente hereda de DataRow
* @param sessionId identificador de la sesión del usuario
* @param ejb el objeto con los valores del registro
* @return IDataResult conteniendo los registros actualizados.
* @throws java.lang.Exception
*/
public IDataResult merge(String sessionId, T ejb) throws Exception;
/**
* Borra un registro en la tabla dada
*
* @param tipo de dato generalemente hereda de DataRow
* @param sessionId identificador de la sesión del usuario
* @param ejb el objeto con los valores del registro
* @return IDataResult conteniendo los registros eliminados.
* @throws java.lang.Exception
*/
public IDataResult remove(String sessionId, T ejb) throws Exception;
/**
* Recupera todos los registros de una tabla
*
* @param
* @param entityClass clase mapeada a la tabla
* @param sessionId identificador de la sesión del usuario
* @return una list con los registros de una tabla
* @throws Exception
*/
public List findAll(Class entityClass, String sessionId) throws Exception;
/**
* Devuelve un registro de una tabla dada
*
* @param
* @param entityClass clase mapeada a la tabla
* @param sessionId identificador de la sesión del usuario
* @param id identificador del registro
* @return un registro solicitado
* @throws Exception
*/
public T findById(Class entityClass, String sessionId, Object id) throws Exception;
/**
* Devuelve un registro de una tabla dada
*
* @param
* @param entityClass clase mapeada a la tabla
* @param sessionId identificador de la sesión del usuario
* @return lista de objetos
* @throws Exception
*/
public List find(Class entityClass, String sessionId) throws Exception;
/**
* Devuelve un registro de una tabla dada
*
* @param
* @param entityClass clase mapeada a la tabla
* @param sessionId identificador de la sesión del usuario
* @param order
* @param filter
* @param params
* @return lista de objetos
* @throws Exception
*/
public List find(Class entityClass, String sessionId, String order, String filter, Map params) throws Exception;
/**
* Devuelve un registro de una tabla dada
*
* @param
* @param entityClass clase mapeada a la tabla
* @param sessionId identificador de la sesión del usuario
* @param order
* @param filter
* @param params
* @param first a partir de este nro. de registro se va a traer los datos
* @param max cantidad maxima de registros
* @return lista de objetos
* @throws Exception
*/
public List find(Class entityClass, String sessionId, String order, String filter, Map params, int first, int max) throws Exception;
/**
* Devuelve un registro a travéz de su clave unica.
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param ejb objeto ejb con los datos de la clave unica
* @return registro que cumple con las condiciones de busqueda.
* @throws Exception
*/
public T findByUk(String sessionId, T ejb) throws Exception;
/**
* Devuelve un registro a travéz de su clave unica.
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param queryString sentencia jpql
* @param parameters parametros de la sentencia
* @return un objeto con valores del registro de la tabla solicitada
* @throws Exception
*/
public T findByQuery(String sessionId, String queryString, Map parameters) throws Exception;
/**
* Devuelve una lista de objetos conteniendo los registros de la tabla
* solicitada
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param queryString sentencia jpql
* @param parameters parametros de la sentencia
* @return una lista de objetos conteniendo los registros de la tabla
* solicitada
* @throws Exception
*/
public List findListByQuery(String sessionId, String queryString, Map parameters) throws Exception;
/**
* Devuelve una lista de objetos conteniendo los registros de la tabla
* solicitada
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param queryString sentencia jpql
* @param first a partir de este nro. de registro se va a traer los datos
* @param max cantidad maxima de registros
* @return una lista de objetos conteniendo los registros de la tabla
* solicitada
* @throws Exception
*/
public List findListByQuery(String sessionId, String queryString, int first, int max) throws Exception;
/**
* Devuelve una lista de objetos conteniendo los registros de la tabla
* solicitada
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param queryString sentencia jpql
* @param parameters parametros de la sentencia
* @param first a partir de este nro. de registro se va a traer los datos
* @param max cantidad maxima de registros
* @return una lista de objetos conteniendo los registros de la tabla
* solicitada
* @throws Exception
*/
public List findListByQuery(String sessionId, String queryString, Map parameters, int first, int max) throws Exception;
/**
* Devuelve una lista de objetos conteniendo los registros de la tabla
* solicitada
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param namedQuery namedQuery
* @param parameters parámetros de la sentencia.
* @return un objeto con los datos del registro de la tabla solicitada
* @throws Exception
*/
public T findByNamedQuery(String sessionId, String namedQuery, Map parameters) throws Exception;
/**
* Devuelve una lista de objetos conteniendo los registros de la tabla
* solicitada
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param namedQuery namedQuery
* @param parameters parámetros de la sentencia.
* @return una lista de objetos con los datos de los registros de la tabla
* solicitada
* @throws Exception
*/
public List findListByNamedQuery(String sessionId, String namedQuery, Map parameters) throws Exception;
/**
* Devuelve una lista de objetos conteniendo los registros de la tabla
* solicitada
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param namedQuery namedQuery
* @param first a partir de este nro. de registro se va a traer los datos
* @param max cantidad maxima de registros
* @return una lista de objetos con los datos de los registros de la tabla
* solicitada
* @throws Exception
*/
public List findListByNamedQuery(String sessionId, String namedQuery, int first, int max) throws Exception;
/**
* Devuelve una lista de objetos conteniendo los registros de la tabla
* solicitada
*
* @param
* @param sessionId identificador de la sesión del usuario
* @param namedQuery namedQuery
* @param parameters parámetros de la sentencia.
* @param first a partir de este nro. de registro se va a traer los datos
* @param max cantidad maxima de registros
* @return una lista de objetos con los registros de la tabla solicitada
* @throws Exception
*/
public List findListByNamedQuery(String sessionId, String namedQuery, Map parameters, int first, int max) throws Exception;
/**
* Devuelve una lista de objetos conteniendo los registros de la tabla
* solicitada
*
* @param sessionId identificador de la sesión del usuario
* @param queryString sentencia sql
* @param parameters parámetros de la sentencia.
* @return una lista de objetos con datos de los registros solicitados
* @throws Exception
*/
public List