org.jboss.xb.binding
Class AbstractMarshaller

java.lang.Object
  extended by org.jboss.xb.binding.AbstractMarshaller
All Implemented Interfaces:
Marshaller
Direct Known Subclasses:
DtdMarshaller, MarshallerImpl, XercesXsMarshaller

public abstract class AbstractMarshaller
extends Object
implements Marshaller

Version:
$Revision: 1.9 $
Author:
Alexey Loubyansky

Nested Class Summary
protected  class AbstractMarshaller.ClassMapping
           
 class AbstractMarshaller.ContentHandlerAdaptor
           
protected  class AbstractMarshaller.FieldToWildcardMapping
           
protected static interface AbstractMarshaller.Stack
           
static class AbstractMarshaller.StackImpl
           
 
Nested classes/interfaces inherited from interface org.jboss.xb.binding.Marshaller
Marshaller.FACTORY
 
Field Summary
protected  Map cls2TypeMap
           
protected  Content content
          Content the result is written to
protected  String encoding
           
protected  Map field2WildcardMap
           
protected static Logger log
           
protected  Map prefixByUri
           
protected  List rootQNames
           
protected  String version
           
 
Fields inherited from interface org.jboss.xb.binding.Marshaller
ENCODING, PROP_MARSHALLER, PROP_OUTPUT_INDENTATION, PROP_OUTPUT_XML_VERSION, VERSION
 
Constructor Summary
AbstractMarshaller()
           
 
Method Summary
abstract  void addAttribute(String prefix, String localName, String type, String value)
           
 void addRootElement(javax.xml.namespace.QName qName)
           
 void addRootElement(String namespaceUri, String prefix, String name)
           
 void declareNamespace(String prefix, String uri)
          Defines a namespace.
protected  AbstractMarshaller.ClassMapping getClassMapping(Class cls)
           
 String getPrefix(String ns)
           
 String getProperty(String name)
           
 void mapClassToGlobalElement(Class cls, String localName, String namespaceUri, String schemaUrl, ObjectModelProvider provider)
           
 void mapClassToGlobalType(Class cls, String localName, String nsUri, String schemaUrl, ObjectModelProvider provider)
           
 void mapClassToXsiType(Class cls, String typeNs, String typeLocalPart)
           
 void mapFieldToWildcard(Class cls, String field, ObjectLocalMarshaller marshaller)
           
 void mapPublicIdToSystemId(String publicId, String systemId)
           
 void marshal(String schemaUri, ObjectModelProvider provider, Object root, Writer writer)
           
protected  boolean propertyIsTrueOrNotSet(String name)
           
 void removeNamespace(String uri)
           
 void setEncoding(String encoding)
           
 void setProperty(String name, String value)
           
 void setVersion(String version)
           
protected  void writeXmlVersion(Writer writer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.xb.binding.Marshaller
marshal
 

Field Detail

log

protected static final Logger log

version

protected String version

encoding

protected String encoding

rootQNames

protected List rootQNames

prefixByUri

protected Map prefixByUri

field2WildcardMap

protected Map field2WildcardMap

cls2TypeMap

protected Map cls2TypeMap

content

protected Content content
Content the result is written to

Constructor Detail

AbstractMarshaller

public AbstractMarshaller()
Method Detail

marshal

public void marshal(String schemaUri,
                    ObjectModelProvider provider,
                    Object root,
                    Writer writer)
             throws IOException,
                    ParserConfigurationException,
                    SAXException
Specified by:
marshal in interface Marshaller
Throws:
IOException
ParserConfigurationException
SAXException

mapClassToGlobalElement

public void mapClassToGlobalElement(Class cls,
                                    String localName,
                                    String namespaceUri,
                                    String schemaUrl,
                                    ObjectModelProvider provider)
Specified by:
mapClassToGlobalElement in interface Marshaller

mapClassToGlobalType

public void mapClassToGlobalType(Class cls,
                                 String localName,
                                 String nsUri,
                                 String schemaUrl,
                                 ObjectModelProvider provider)
Specified by:
mapClassToGlobalType in interface Marshaller

mapFieldToWildcard

public void mapFieldToWildcard(Class cls,
                               String field,
                               ObjectLocalMarshaller marshaller)

mapClassToXsiType

public void mapClassToXsiType(Class cls,
                              String typeNs,
                              String typeLocalPart)

setVersion

public void setVersion(String version)
Specified by:
setVersion in interface Marshaller

setEncoding

public void setEncoding(String encoding)
Specified by:
setEncoding in interface Marshaller

mapPublicIdToSystemId

public void mapPublicIdToSystemId(String publicId,
                                  String systemId)
Specified by:
mapPublicIdToSystemId in interface Marshaller

addRootElement

public void addRootElement(String namespaceUri,
                           String prefix,
                           String name)
Specified by:
addRootElement in interface Marshaller

addRootElement

public void addRootElement(javax.xml.namespace.QName qName)

setProperty

public void setProperty(String name,
                        String value)
Specified by:
setProperty in interface Marshaller

getProperty

public String getProperty(String name)
Specified by:
getProperty in interface Marshaller

declareNamespace

public void declareNamespace(String prefix,
                             String uri)
Defines a namespace. The namespace declaration will appear in the root element.

If prefix argument is null or is an empty string then the passed in URI will be used for the default namespace, i.e. xmlns. Otherwise, the declaration will follow the format xmlns:prefix=uri.

If the namespace with the given prefix was already declared, its value is overwritten.

Parameters:
prefix - the prefix for the namespace to declare (can be null or empty string)
uri - the URI of the namespace.

removeNamespace

public void removeNamespace(String uri)

getPrefix

public String getPrefix(String ns)

addAttribute

public abstract void addAttribute(String prefix,
                                  String localName,
                                  String type,
                                  String value)

propertyIsTrueOrNotSet

protected boolean propertyIsTrueOrNotSet(String name)

writeXmlVersion

protected void writeXmlVersion(Writer writer)
                        throws IOException
Throws:
IOException

getClassMapping

protected AbstractMarshaller.ClassMapping getClassMapping(Class cls)


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.