All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.javabeanstack.data.IDataLink Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
/*
* 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.util.List;
import java.util.Map;
import org.javabeanstack.security.IUserSession;
import org.javabeanstack.services.IDataService;

/**
 * Esta interface abstrae funcionalidades que permitiran implementar clases que ejecuten sentencias
 * nativas sobre la base de datos.
 * 
 * @author Jorge Enciso
 */

public interface IDataLink  {
    IGenericDAO getDao();
     T getDataService();
    
    String getPersistUnit();    
    IUserSession getUserSession();
    Map getEntityManagerProp();
    Map getPersistUnitProp();
    IDataNativeQuery newDataNativeQuery();
    
     T find(Class entityClass, Object id) throws Exception;
     T findByUk(T ejb) throws Exception;    
    List findByNativeQuery(String queryString, Map parameters) throws Exception;
    List findByNativeQuery(String queryString, Map parameters, int first, int max) throws Exception;
     T findByNamedQuery(String namedQuery, Map parameters) throws Exception;
     T findByQuery(String queryString, Map parameters) throws Exception;
     List findListByNamedQuery(String namedQuery, Map parameters) throws Exception;
     List findListByNamedQuery(String namedQuery, Map parameters, int first, int max) throws Exception;
     List findListByQuery(String queryString, Map parameters) throws Exception;
     List findListByQuery(String queryString, Map parameters, int first, int max) throws Exception;

     T refreshRow(T row) throws Exception;
     IDataResult update(T ejb) throws Exception;
     IDataResult update(List ejbs) throws Exception;
    IDataResult update(IDataSet dataSet) throws Exception;    
    
     IDataResult persist(T ejb) throws Exception;    
     IDataResult persist(List ejbs) throws Exception;
     IDataResult merge(T ejb) throws Exception;    
     IDataResult merge(List ejbs) throws Exception;
     IDataResult remove(T ejb) throws Exception;    
     IDataResult remove(List ejbs) throws Exception;

    Long getCount(String queryString, Map parameters) throws Exception;
    Long getCount2(String queryString, Map parameters) throws Exception;    
    void setUserSession(IUserSession userSession) throws Exception;
     void setDao(T dao);
    
    String getEntitiesRelation(String entities, String typeRela, String schema) throws Exception;
}