package com.ejie.m62fb.dao.registroVPP;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

import com.ejie.m62fb.model.documento.ContenidoDocumento;
import com.ejie.m62fb.model.documento.Documento;
import com.ejie.m62fb.model.documento.DocumentoRegVPP;
import com.ejie.x38.dto.JQGridRequestDto;

/**
 * DocumentosDao
XXXX
 */

public interface DocumentosDao {
  /**
  * Inserts a single row in the M62E14t0 table.
  *
  * @param documentoRegVPP DocumentoRegVPP
  * @return DocumentoRegVPP
  */
 DocumentoRegVPP add(DocumentoRegVPP documentoRegVPP);
 Documento addSource(final Documento documento);
 DocumentoRegVPP addRelacionDocElem(DocumentoRegVPP documentoRegVPP);
 /**
  * <p>Elimina un documento de las tabLAS M62E14TO,M62E15T0 y la tabla que relaciona el documento con el elemento del Reg. VPP</p>
  * @param documentoRegVPP
  */
 void remove(DocumentoRegVPP documentoRegVPP);
 

    /**
     * Finds a single row in the M62r12t0 table.
     *
     * @param documento Documento
     * @return Documento
     * @throws SQLException 
     */
	Documento find(Documento documento) throws SQLException,IOException;

	/**
     * Finds rows in the M62r12t0 table using like.
     *
     * @param documentoRegVPP DocumentoRegVPP
     * @param jqGridRequestDto JQGridRequestDto
     * @param startsWith Boolean
     * @return List
     */
	List<DocumentoRegVPP> findAllLike(DocumentoRegVPP documentoRegVPP, JQGridRequestDto jqGridRequestDto,Boolean startsWith);
	
	
    /**
     * Counts rows in the table using like.
     *
     * @param documentoRegVPP DocumentoRegVPP
     * @param startsWith Boolean
     * @return Long
     */
    Long findAllLikeCount(DocumentoRegVPP documentoRegVPP,Boolean startsWith);
    

}

