1 <?php
2
3 namespace Balance\Model\Persistence;
4
5 use Zend\Stdlib\Parameters;
6
7 /**
8 * Estrutura para Persistência de Dados
9 */
10 interface PersistenceInterface
11 {
12 /**
13 * Consulta de Elementos
14 *
15 * @param Parameters $params Parâmetros de Execução
16 * @return array Conjunto de Informações Encontradas
17 */
18 public function fetch(Parameters $params);
19
20 /**
21 * Consultar Elemento
22 *
23 * @param Parameters $params Parâmetros de Execução
24 * @return array Informações Encontradas
25 */
26 public function find(Parameters $params);
27
28 /**
29 * Salvar Elemento
30 *
31 * @param Parameters $data Dados para Salvamento
32 * @throws ModelException Problema no Salvamento dos Dados em Persistência
33 * @return PersistenceInterface Próprio Objeto para Encadeamento
34 */
35 public function save(Parameters $data);
36
37 /**
38 * Remover Elemento
39 *
40 * @param Parameters $params Parâmetros de Execução
41 * @throws ModelException Problema na Remoção do Elemento
42 * @return PersistenceInterface Próprio Objeto para Encadeamento
43 */
44 public function remove(Parameters $params);
45 }
46