r1 - 23 Nov 2006 - 01:56:52 - GleidsonEcheliYou are here: TWiki >  Doo Web  > ExemploDeUsoDoPrevayler > CriandoUmExemplo

4. Criando um sistema prevalente.

Antes de mais nada, nesse exemplo foi usada a versão 2.3 do Prevayler, que pode ser baixada daqui ou então baixar o arquivo anexado.

Continuando a primeira parte, vamos criar um exemplo de uso do Prevayler. O exemplo é simples e serve apenas para exemplificar mesmo, pois está toscamente implementado e não segue nenhuma metodologia: Vamos criar um sistema para cadastrar os problemas existentes nos computadores de salas de aula.

Primeiramente precisaremos criar uma classe que represente um problema. Essa classe precisa implementar a interface Serializable do Java.

package exemplo;

import java.io.Serializable;

public class Problema implements Serializable {

   private static final long serialVersionUID = 1L;

   private final String _sala;
   private final String _máquina;
   private final String _problema;
   
   public Problema(String sala, String máquina, String problema) {
      _sala = sala;
      _máquina = máquina;
      _problema = problema;
   }

   public String retornarSala() {
      return _sala;
   }
   
   public String retornarMáquina() {
      return _máquina;
   }
   
   public String retornarDescrição() {
      return _problema;
   }
}

Agora precisaremos de algo para guardar nossos "problemas". Aqui vamos utilizar uma lista ArrayList, mas poderia ser qualquer outra, desde que implemente a inteface Serializable do Java (Por exemplo: HashSet, TreeSet)

Vamos também precisar de uma classe responsável por adicionar problemas à nossa lista.

package exemplo;

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

import org.prevayler.Transaction;

public class AdicaoDeProblema implements Transaction {

   private static final long serialVersionUID = 1L;
   
   private final Problema _problema;
   
   public AdicaoDeProblema(Problema umProblema) {
      _problema = umProblema;
   }

   public void executeOn(Object sistemaPrevayler, Date tempo) {
      ((List<Problema>)sistemaPrevayler).add(_problema);
   }

}

Observações importantes: Toda ação que for alterar o sistema precisa implementar a inteface Transaction do Prevayler. Como essa classe vai ser responsável por adicionar problemas ao nosso sistema, ela precisa implementar essa inteface. Ao fazer isso, somos obrigados a implementar o método executeOn(...) . Por enquanto não vamos falar nele. Ele será melhor esclarecido mais adiante.

anterior | próximo


-- GleidsonEcheli - 23 Nov 2006
toggleopenShow attachmentstogglecloseHide attachments
Topic attachments
I Attachment Action Size Date Who Comment
elsegz prevayler-2.3.tar.gz manage 1095.7 K 23 Nov 2006 - 01:56 GleidsonEcheli Prevayler2.3
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