com.javamagazine.ProcessandoXMLemJava.xml
Class ProcessadorPedidos

java.lang.Object
  |
  +--com.javamagazine.ProcessandoXMLemJava.xml.ProcessadorPedidos
Direct Known Subclasses:
ProcessadorPedidosDOM4J, ProcessadorPedidosJAXP, ProcessadorPedidosJDOM

public abstract class ProcessadorPedidos
extends java.lang.Object

Processa e produz arquivos XML contendo pedidos de compra. Cada sub-classe concreta utiliza uma API para XML diferente para implementar os métodos desta classe.

Author:
Rogério Liesenfeld

Field Summary
protected  Cliente cliente
          O cliente que enviou o conjunto de pedidos de compra.
protected  java.lang.Object docPedidos
          A árvore de objetos que representa um documento XML de pedidos, após ter sido lido pelo parser.
protected  java.util.List pedidos
          A lista de pedidos enviada pelo cliente.
 
Constructor Summary
ProcessadorPedidos()
          Cria um novo processador de pedidos.
ProcessadorPedidos(Cliente cliente, java.util.List pedidos)
          Cria um novo processador de pedidos, contendo um cliente e lista de pedidos iniciais.
 
Method Summary
abstract  void construirDocumentoParaModelo()
          Constrói documento XML (docPedidos) a partir do modelo de domínio (cliente e pedidos).
abstract  void construirModelo(java.lang.String arquivoPedidos)
          Constrói modelo de domínio (cliente e pedidos) a partir de uma lista de pedidos num arquivo XML.
 Cliente getCliente()
           
 java.lang.Object getDocumentoPedidos()
           
 java.util.List getPedidos()
           
abstract  void serializarDocumento(java.lang.String arquivoSaída)
          Escreve documento XML (docPedidos) num arquivo XML.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cliente

protected Cliente cliente
O cliente que enviou o conjunto de pedidos de compra.


docPedidos

protected java.lang.Object docPedidos
A árvore de objetos que representa um documento XML de pedidos, após ter sido lido pelo parser. A sub-classe concreta determina a natureza deste objeto (ex.: uma árvore DOM, JDOM, ou DOM4J).


pedidos

protected java.util.List pedidos
A lista de pedidos enviada pelo cliente.

Constructor Detail

ProcessadorPedidos

public ProcessadorPedidos()
Cria um novo processador de pedidos.


ProcessadorPedidos

public ProcessadorPedidos(Cliente cliente,
                          java.util.List pedidos)
Cria um novo processador de pedidos, contendo um cliente e lista de pedidos iniciais.

Parameters:
cliente - o cliente inicial
pedidos - a lista inicial de pedidos do cliente
Method Detail

construirDocumentoParaModelo

public abstract void construirDocumentoParaModelo()
                                           throws PedidoException
Constrói documento XML (docPedidos) a partir do modelo de domínio (cliente e pedidos).

Throws:
PedidoException - se uma falha ocorreu durante a construção do documento XML a partir do modelo de domínio

construirModelo

public abstract void construirModelo(java.lang.String arquivoPedidos)
                              throws PedidoException
Constrói modelo de domínio (cliente e pedidos) a partir de uma lista de pedidos num arquivo XML.

Parameters:
arquivoPedidos - caminho e nome do arquivo XML contendo os pedidos
Throws:
PedidoException - se alguma falha ocorreu durante a leitura ou processamento do arquivo XML (possivelmente devido a um erro de sintaxe ou um dado incorreto)

getCliente

public Cliente getCliente()
Returns:
o cliente especificado no último documento XML de pedidos processado, ou null se nenhum documento foi processado ainda

getDocumentoPedidos

public java.lang.Object getDocumentoPedidos()
Returns:
o documento XML de pedidos (uma estrutura de objetos em árvore) construído a partir de um cliente e uma lista de pedidos do mesmo

getPedidos

public java.util.List getPedidos()
Returns:
a lista de pedidos resultante do documento XML de pedidos processado mais recentemente, ou null se nenhum documento foi processado ainda

serializarDocumento

public abstract void serializarDocumento(java.lang.String arquivoSaída)
                                  throws PedidoException
Escreve documento XML (docPedidos) num arquivo XML.

Parameters:
arquivoSaída - caminho e nome do arquivo XML a ser criado
Throws:
PedidoException - se uma falha ocorreu durante a serialização do documento XML para um arquivo