br.gov.ans.tiss.nucleo
Class AgenteDom

java.lang.Object
  extended by br.gov.ans.tiss.nucleo.AgenteDom
All Implemented Interfaces:
java.io.Serializable, org.xml.sax.ErrorHandler
Direct Known Subclasses:
AgenteDomTiss

public class AgenteDom
extends java.lang.Object
implements java.io.Serializable, org.xml.sax.ErrorHandler

Agente responsável pela manipulação de documentos aderentes ao padrão DOM level 3. Responde pela construção, verificação, eliminação e recuperação de propriedades destes documentos.

See Also:
Serialized Form

Field Summary
protected  javax.xml.parsers.DocumentBuilderFactory fabricaDom
          A instância da fábrica DOM que o agente usa.
private  java.beans.PropertyChangeSupport propertySupport
          Suporte para notificações de mudanças de propriedades nestes agente.
protected  org.w3c.dom.Document ultimoDocumento
          O último documento DOM montado pelo agente.
protected  BolsaPropriedadesTiss w_parm
          Guarda uma referência à bolsa padrão de propriedades TISS.
 
Constructor Summary
AgenteDom()
          Construtor vazio.
AgenteDom(java.lang.String pSchema)
          Construtor mais especializado, que fabrica um agente capaz de verificar os documentos contra um esquema XSD dado.
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
          Adiciona um listener para mudanças em propriedades neste agente.
 org.w3c.dom.Document carregaArquivo(java.lang.String pArquivoXml)
          Tenta produzir um documento DOM a partir do XML contido em um arquivo externo dado, validando-o, inclusive, contra esquema XSD (se este esquema tiver sido configurado).
 org.w3c.dom.Document carregaString(java.lang.String pXmlString)
          Tenta montar uma estrutura DOM a partir de um string contendo um documento XML.
 void error(org.xml.sax.SAXParseException exception)
          A implementação do método de erro da interface ErrorHandler.
 void fatalError(org.xml.sax.SAXParseException exception)
          A implementação do método de erro fatal da interface ErrorHandler.
 javax.xml.parsers.DocumentBuilderFactory getFabricaDom()
          Getter para fabricaDom.
 org.w3c.dom.Document getUltimoDocumento()
          Getter para ultimoDocumento.
protected  void preparaAmbiente(java.lang.String pSchema)
          Método genérico de inicialização e preparação de ambiente para o agente.
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Remove um listener para mudanças em propriedades neste agente.
 void warning(org.xml.sax.SAXParseException exception)
          Implementação do método de advertência da interface ErrorHandler.
 
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
Suporte para notificações de mudanças de propriedades nestes agente.


w_parm

protected BolsaPropriedadesTiss w_parm
Guarda uma referência à bolsa padrão de propriedades TISS.


fabricaDom

protected javax.xml.parsers.DocumentBuilderFactory fabricaDom
A instância da fábrica DOM que o agente usa.


ultimoDocumento

protected org.w3c.dom.Document ultimoDocumento
O último documento DOM montado pelo agente.

Constructor Detail

AgenteDom

public AgenteDom()
          throws java.net.MalformedURLException,
                 org.xml.sax.SAXException,
                 java.net.UnknownHostException,
                 java.io.IOException
Construtor vazio. Prepara o suporte à notificação de mudanças em propriedades e o ambiente para a verificação de documentos XML sem referência a um esquema específico. Este construtor fabrica um agente capaz de verificar a sintaxe XML do documento, sem, no entanto, verificar a aderência a um esquema XSD específico.

Throws:
java.net.MalformedURLException - .
org.xml.sax.SAXException - .
java.net.UnknownHostException - .
java.io.IOException - .

AgenteDom

public AgenteDom(java.lang.String pSchema)
          throws java.net.MalformedURLException,
                 org.xml.sax.SAXException,
                 java.net.UnknownHostException,
                 java.io.IOException
Construtor mais especializado, que fabrica um agente capaz de verificar os documentos contra um esquema XSD dado.

Parameters:
pSchema - A URL do esquema XSD.
Throws:
java.net.MalformedURLException - .
org.xml.sax.SAXException - .
java.net.UnknownHostException - .
java.io.IOException - .
Method Detail

preparaAmbiente

protected void preparaAmbiente(java.lang.String pSchema)
                        throws java.net.MalformedURLException,
                               org.xml.sax.SAXException,
                               java.net.UnknownHostException,
                               java.io.IOException
Método genérico de inicialização e preparação de ambiente para o agente. Foi separado dos construtores para melhor reaproveitamento de seu código.

Parameters:
pSchema - O esquema XSD base para as validações (se inexistente, informe "", não NULL).
Throws:
java.net.MalformedURLException - .
org.xml.sax.SAXException - .
java.net.UnknownHostException - .
java.io.IOException - .

addPropertyChangeListener

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

Parameters:
listener - O listener a ser adicionado.

removePropertyChangeListener

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

Parameters:
listener - O listener a ser removido.

getFabricaDom

public javax.xml.parsers.DocumentBuilderFactory getFabricaDom()
Getter para fabricaDom.

Returns:
A fábrica DOM.

carregaString

public org.w3c.dom.Document carregaString(java.lang.String pXmlString)
                                   throws java.io.IOException,
                                          javax.xml.parsers.ParserConfigurationException,
                                          org.xml.sax.SAXException,
                                          java.net.URISyntaxException
Tenta montar uma estrutura DOM a partir de um string contendo um documento XML. Inclui validação contra um esquema XSD, se o agente tiver sido vinculado a um esquema destes.

Parameters:
pXmlString - O string contendo o XML do documento.
Returns:
O documento DOM montado, ou NULL, se não tiver sido possível produzí-lo.
Throws:
java.io.IOException - .
javax.xml.parsers.ParserConfigurationException - .
org.xml.sax.SAXException - .
java.net.URISyntaxException - .

carregaArquivo

public org.w3c.dom.Document carregaArquivo(java.lang.String pArquivoXml)
                                    throws java.io.IOException,
                                           javax.xml.parsers.ParserConfigurationException,
                                           org.xml.sax.SAXException,
                                           java.net.URISyntaxException
Tenta produzir um documento DOM a partir do XML contido em um arquivo externo dado, validando-o, inclusive, contra esquema XSD (se este esquema tiver sido configurado).

Parameters:
pArquivoXml - Nome completo do arquivo que contem o XML.
Returns:
O documento DOM formado, ou NULL, se não tiver sido possível produzí-lo.
Throws:
java.io.IOException - .
javax.xml.parsers.ParserConfigurationException - .
org.xml.sax.SAXException - .
java.net.URISyntaxException - .

getUltimoDocumento

public org.w3c.dom.Document getUltimoDocumento()
Getter para ultimoDocumento.

Returns:
Valor de ultimoDocumento.

warning

public void warning(org.xml.sax.SAXParseException exception)
             throws org.xml.sax.SAXException
Implementação do método de advertência da interface ErrorHandler.

Specified by:
warning in interface org.xml.sax.ErrorHandler
Parameters:
exception - A exception que ativou o handler.
Throws:
org.xml.sax.SAXException - .

error

public void error(org.xml.sax.SAXParseException exception)
           throws org.xml.sax.SAXException
A implementação do método de erro da interface ErrorHandler.

Specified by:
error in interface org.xml.sax.ErrorHandler
Parameters:
exception - A exception que causou o erro.
Throws:
org.xml.sax.SAXException - .

fatalError

public void fatalError(org.xml.sax.SAXParseException exception)
                throws org.xml.sax.SAXException
A implementação do método de erro fatal da interface ErrorHandler.

Specified by:
fatalError in interface org.xml.sax.ErrorHandler
Parameters:
exception - A exception que causou o erro.
Throws:
org.xml.sax.SAXException - .