br.gov.ans.tiss.nucleo
Class Despachante

java.lang.Object
  extended by br.gov.ans.tiss.nucleo.Despachante
All Implemented Interfaces:
java.io.Serializable

public class Despachante
extends java.lang.Object
implements java.io.Serializable

Trata todas as mensagens recebidas pelo servidor, decidindo o que fazer com cada uma. Originalmente fazia parte do package servidor. Foi migrado para este porque todo servidor, quando o canal é bidirecional, vira um cliente. O Despachante é usado, inclusive, para despachar mensagens recebidas por "web services". Neste caso, o "web service" deve formar um objeto JAXBElement e eleger o seu digestor, passando-os, como parâmetros, para o despachante. Isto libera o desenvolvedor da construção de qualquer código de infraestrutura. Bastará que ele escreva os digestores, objetos que recebem um objeto MensagemTISS (não confunda com MensagemTiss) como parâmetro e devolve um objeto qualquer como resposta (ou NULL). Todo o código de empacotamento, desempacotamento, verificação de HASH MD5 e sinalização de erros fica no TissNet.

See Also:
Serialized Form

Field Summary
private  Servidor meuServidor
          O servidor que ativou este despachante.
private  java.security.Principal principalCliente
          Holds value of property principalCliente.
private  java.beans.PropertyChangeSupport propertySupport
          Suporta padrão a listeners para mudanças em propriedades.
private  ValidadorCertificados validadorCertificado
          Holds value of property validadorCertificado.
private  boolean webService
          Estamos operando em um contexto de web services?
 
Constructor Summary
Despachante()
          Construtor vazio padrão.
Despachante(java.security.Principal pPrincipal)
          Constrói um despachante a partir de um principal validável.
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
          Adiciona um listener para mudanças em propriedades do bean.
 Servidor getMeuServidor()
          Getter para meuServidor.
 java.security.Principal getPrincipalCliente()
          Getter for property principalCliente.
 ValidadorCertificados getValidadorCertificado()
          Getter for property validadorCertificado.
 boolean isWebService()
          Getter para indicador de web services.
 java.lang.Object processa(MensagemTISS pMensagem, Digestor pDigestor)
          Despacha um elemento MensagemTISS recebido via web services.
 java.lang.String processa(java.lang.String pMensagem)
          Dá destino a todas as mensagens recebidas do servidor, usando o digestor mínimo adequado ao contexto.
 java.lang.String processa(java.lang.String pMensagem, Digestor pDigestor)
          Dá destino a todas as mensagens recebidas do servidor.
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Remove um listener para mudanças em propriedades do bean.
 void setMeuServidor(Servidor meuServidor)
          Setter para meuServidor.
 void setPrincipalCliente(java.security.Principal principalCliente)
          Setter for property principalCliente.
 void setValidadorCertificado(ValidadorCertificados validadorCertificado)
          Setter for property validadorCertificado.
 void setWebService(boolean webService)
          Setter para indicador de web services.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

propertySupport

private java.beans.PropertyChangeSupport propertySupport
Suporta padrão a listeners para mudanças em propriedades.


meuServidor

private Servidor meuServidor
O servidor que ativou este despachante.


webService

private boolean webService
Estamos operando em um contexto de web services?


validadorCertificado

private ValidadorCertificados validadorCertificado
Holds value of property validadorCertificado.


principalCliente

private java.security.Principal principalCliente
Holds value of property principalCliente.

Constructor Detail

Despachante

public Despachante()
Construtor vazio padrão.


Despachante

public Despachante(java.security.Principal pPrincipal)
Constrói um despachante a partir de um principal validável.

Parameters:
pPrincipal - a identidade da outra ponta do canal de comunicação.
Method Detail

processa

public java.lang.String processa(java.lang.String pMensagem)
Dá destino a todas as mensagens recebidas do servidor, usando o digestor mínimo adequado ao contexto.

Parameters:
pMensagem - A mensagem a tratar.
Returns:
NULL, se estiver tudo bem, ou a mensagem de erro.

processa

public java.lang.String processa(java.lang.String pMensagem,
                                 Digestor pDigestor)
Dá destino a todas as mensagens recebidas do servidor. Identifica mensagens de controle e as diferencia das demais.

Parameters:
pMensagem - A mensagem a tratar.
pDigestor - O disgestor que deve ser usado para processar a mensagem.
Returns:
mensagem de erro ou indicador de sucesso.

processa

public java.lang.Object processa(MensagemTISS pMensagem,
                                 Digestor pDigestor)
Despacha um elemento MensagemTISS recebido via web services.

Parameters:
pMensagem - o MensagemTISS recebido (não confunda com MensagemTiss - vide)
pDigestor - o digestor a ser usado
Returns:
o objeto resposta, um string de erro ou um código numérico de consistência passado pelo digestor.

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adiciona um listener para mudanças em propriedades do bean.

Parameters:
listener - O listener a adicionar.

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Remove um listener para mudanças em propriedades do bean.

Parameters:
listener - O listener a ser removido.

getMeuServidor

public Servidor getMeuServidor()
Getter para meuServidor.

Returns:
O servidor que ativou o despachante.

setMeuServidor

public void setMeuServidor(Servidor meuServidor)
Setter para meuServidor.

Parameters:
meuServidor - O servidor que ativou o despachante.

isWebService

public boolean isWebService()
Getter para indicador de web services.

Returns:
Valor do indicador.

setWebService

public void setWebService(boolean webService)
Setter para indicador de web services.

Parameters:
webService - Novo valor para o indicador.

getValidadorCertificado

public ValidadorCertificados getValidadorCertificado()
Getter for property validadorCertificado.

Returns:
Value of property validadorCertificado.

setValidadorCertificado

public void setValidadorCertificado(ValidadorCertificados validadorCertificado)
Setter for property validadorCertificado.

Parameters:
validadorCertificado - New value of property validadorCertificado.

getPrincipalCliente

public java.security.Principal getPrincipalCliente()
Getter for property principalCliente.

Returns:
Value of property principalCliente.

setPrincipalCliente

public void setPrincipalCliente(java.security.Principal principalCliente)
Setter for property principalCliente.

Parameters:
principalCliente - New value of property principalCliente.