r01f.marshalling.simple
Class ObjsFromXMLBuilder<T>

java.lang.Object
  extended by r01f.marshalling.simple.ObjsFromXMLBuilder<T>

final class ObjsFromXMLBuilder<T>
extends java.lang.Object

ObjsFromXMLBuilder.java Se encarga de cargar una jerarquia de objetos a partir de un XML utilizando SAX. SAX es un api para acceder a los eventos generados por el parser a medida que va parseando el documento. Esto hace que NO sea necesario tener todo el arbol DOM del documento almacenado en memoria. Además es mas rapido. Para saber a qué objeto corresponde el XML se utiliza un documento XML que define el mapeo entre el XML y los objetos (para mas información sobre este documento ver la clase XOMap)


Nested Class Summary
private  class ObjsFromXMLBuilder.BeanAndFieldWrapper
           
private  class ObjsFromXMLBuilder.ObjsFromXMLLoader
          Clase auxiliar que parsea el XML y que genera el objeto
 
Field Summary
private  MarshallerMappings _mappings
           
 
Constructor Summary
ObjsFromXMLBuilder(MarshallerMappings map)
           
 
Method Summary
private  T _parseXML(org.xml.sax.InputSource xmlIS, TextEncoder textEncoder)
          Parsea el xml de entrada y obtiene su representación en objetos
private  T _parseXML(java.io.InputStream xmlIS, java.nio.charset.Charset charset, TextEncoder textEncoder)
          Parsea el xml de entrada y obtiene su representación en objetos
 T beanFrom(java.io.File file, java.nio.charset.Charset xmlCharset, TextEncoder encoder)
           
 T beanFrom(java.io.InputStream is, java.nio.charset.Charset xmlCharset, TextEncoder encoder)
           
 T beanFrom(org.w3c.dom.Node xmlNode, java.nio.charset.Charset xmlCharset, TextEncoder encoder)
           
 T beanFrom(java.lang.String xmlStr, java.nio.charset.Charset xmlCharset, TextEncoder encoder)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_mappings

private final MarshallerMappings _mappings
Constructor Detail

ObjsFromXMLBuilder

public ObjsFromXMLBuilder(MarshallerMappings map)
Method Detail

beanFrom

public final T beanFrom(java.lang.String xmlStr,
                        java.nio.charset.Charset xmlCharset,
                        TextEncoder encoder)
                 throws MarshallerException
Throws:
MarshallerException

beanFrom

public final T beanFrom(java.io.InputStream is,
                        java.nio.charset.Charset xmlCharset,
                        TextEncoder encoder)
                 throws MarshallerException
Throws:
MarshallerException

beanFrom

public final T beanFrom(java.io.File file,
                        java.nio.charset.Charset xmlCharset,
                        TextEncoder encoder)
                 throws MarshallerException
Throws:
MarshallerException

beanFrom

public final T beanFrom(org.w3c.dom.Node xmlNode,
                        java.nio.charset.Charset xmlCharset,
                        TextEncoder encoder)
                 throws MarshallerException
Throws:
MarshallerException

_parseXML

private final T _parseXML(java.io.InputStream xmlIS,
                          java.nio.charset.Charset charset,
                          TextEncoder textEncoder)
                   throws MarshallerException
Parsea el xml de entrada y obtiene su representación en objetos

Parameters:
xmlIS - Stream de entrada con los datos xml
charset - el juego de caracteres del xml que contiene los objetos
textEncoder - un codificador/decodificador del texto del xml
Throws:
MarshallerException

_parseXML

private final T _parseXML(org.xml.sax.InputSource xmlIS,
                          TextEncoder textEncoder)
                   throws MarshallerException
Parsea el xml de entrada y obtiene su representación en objetos

Parameters:
xmlIS - Stream de entrada con los datos xml
textEncoder - un codificador/decodificador del texto del xml
Throws:
MarshallerException