<commit_before>/**
 * Project Pegaso
 */


#ifndef _GESTORBASEDATOS_H
#define _GESTORBASEDATOS_H

class GestorBaseDatos {
public: 
    
    /**
     * @param obj
     * @param id
     */
    template <class T>
    T virtual load(T obj, int id);
    
    /**
     * @param objs
     */
    template <class T1>
    void virtual save(QVector<T1> objs);
    
    /**
     * @param objs
     * @param id
     */
    template <class T2>
    void virtual save(QVector<T2> objs, int id);
    
    /**
     * @param obj1
     * @param obj2
     */
    template <class T3,class T4>
    void virtual saveRelacion(T3 obj1, T4 obj2);
    
    /**
     * @param obj
     * @param filtros
     */
    template <class T5>
    QVector<T5> virtual query(T5 obj, QVector<QString> filtros);
    
    void virtual beginTransaction();
    
    void virtual commit();
};

#endif //_GESTORBASEDATOS_H<commit_msg>Added brief description for functions in GestorBD<commit_after>/**
 * Project Pegaso
 */


#ifndef _GESTORBASEDATOS_H
#define _GESTORBASEDATOS_H

class GestorBaseDatos {
public: 
    
    /**
     * @param obj
     * @param id
     * @brief Carga un objeto haciendo una consulta con el id en la tabla correspondiente
     */
    template <class T>
    T virtual load(T obj, int id);
    
    /**
     * @param objs
     * @brief Guarda una lista de objetos en su correspondiente tabla
     */
    template <class T1>
    void virtual save(QVector<T1> objs);
    
    /**
     * @param objs
     * @param id
     * @brief Guarda una lista de objetos que necesitan una fk pero el objeto no la conoce 
     */
    template <class T2>
    void virtual save(QVector<T2> objs, int id);
    
    /**
     * @param obj1
     * @param obj2
     * @brief Guarda una relacion n a n entre dos objetos
     */
    template <class T3,class T4>
    void virtual saveRelacion(T3 obj1, T4 obj2);
    
    /**
     * @param obj
     * @param filtros
     * @brief Ejecuta una consulta en la base de datos con filtros como parametros en select
     */
    template <class T5>
    QVector<T5> virtual query(T5 obj, QVector<QString> filtros);
    
    void virtual beginTransaction();
    
    void virtual commit();
};

#endif //_GESTORBASEDATOS_H
{'fraction_non_alphanumeric': 0.09932279909706546, 'fraction_numerical': 0.013544018058690745, 'mean_word_length': 2.1884892086330936, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5687450', 'n_tokens_mistral': 765, 'n_tokens_neox': 767, 'n_words': 230}