r1 - 23 Nov 2006 - 01:43:32 - GleidsonEcheliYou are here: TWiki >  Doo Web  > ExemploDeUsoDoPrevayler > CriandoUmExemplo > CriandoUmExemploParte2

4. Criando um sistema prevalente (parte 2)

Criaremos também uma classe responsável pela remoção de problemas da nossa lista.

package exemplo;

import java.util.Date;
import java.util.List;

import org.prevayler.Transaction;

public class RemocaoDeProblema implements Transaction {

   private static final long serialVersionUID = 1L;
   
   private final int _índiceDoProblema;

   public RemocaoDeProblema(int númeroDoProblema) {
      _índiceDoProblema = númeroDoProblema - 1;
   }

   public void executeOn(Object sistemaPrevayler, Date tempo) {
      ((List<Problema>)sistemaPrevayler).remove(_índiceDoProblema);
   }
}

Agora vamos criar uma classe responsável por retornar um determinado problema da nossa lista.

package exemplo;

import java.util.Date;
import java.util.List;

import org.prevayler.Query;

public class RetornoDeProblema implements Query {
   
   private static final long serialVersionUID = 1L;
   
   private int _índiceDoProblema;

   public RetornoDeProblema(int índiceDoProblema) {
      _índiceDoProblema = índiceDoProblema - 1;
   }

   public Object query(Object sistemaPrevayler, Date tempo) throws Exception {
      return ((List<Problema>)sistemaPrevayler).get(_índiceDoProblema);
   }
}

Obsevação importante: Toda ação que pergunta coisas ao sistema precisa implementar a inteface Query do Prevayler. Como nossa classe não altera o sistema, apenas pede para retornar um problema, então devemos implementar Query, e não mais Transaction como antes.

anterior | próximo


-- GleidsonEcheli - 23 Nov 2006
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r1 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback