Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.fasterxml.aalto.dom
Class DOMWriterImpl

    java.lang.Object
      org.codehaus.stax2.ri.dom.DOMWrappingWriter
          com.fasterxml.aalto.dom.DOMWriterImpl

All Implemented Interfaces:
  XMLStreamWriter, org.codehaus.stax2.typed.TypedXMLStreamWriter, org.codehaus.stax2.validation.Validatable, org.codehaus.stax2.XMLStreamWriter2

    public final class DOMWriterImpl

extends org.codehaus.stax2.ri.dom.DOMWrappingWriter

This is an adapter class that allows building a DOM tree using `XMLStreamWriter` interface.

Note that the implementation is only to be used for use with `javax.xml.transform.dom.DOMResult`.

Some notes regarding missing/incomplete functionality:

- Namespace-repairing mode not implemented
- Validation functionality not implemented

Author:
  Tatu Saloranta

Field Summary
`protected String` | `_automaticNsPrefix`
`protected int[]` | `_autoNsSeq` for NsRepairing mode
`protected WriterConfig` | `_config`
`protected DOMOutputElement` | `_currElem` This element is the current context element, under which all other nodes are added, until matching end element is output.
`protected DOMOutputElement` | `_openElement` This element is non-null right after a call to either `writeStartElement` and `writeEmptyElement`, and can be used to add attributes and namespace declarations.
`protected String` | `_suggestedDefNs`

Fields inherited from class org.codehaus.stax2.ri.dom.DOMWrappingWriter
`mDocument, mEncoding, mNsAware, mNsContext, mNsRepairing, mValueEncoder`

Method Summary
`protected void` | `appendLeaf(Node n)`
`static DOMWriterImpl` | `createFrom(WriterConfig cfg, DOMResult dst)`
`protected void` | `createStartElem(String nsURI, String prefix, String localName, boolean isEmpty)` Method called by all start element write methods.
`protected String` | `findElemPrefix(String nsURI, DOMOutputElement elem)` Method called to find an existing prefix for the given namespace, if any exists in the scope.
`protected String` | `findOrCreateAttrPrefix(String suggPrefix, String nsURI, DOMOutputElement elem)` Method called to somehow find a prefix for given namespace, to be used for a new start element; either use an existing one, or generate a new one.
`protected String` | `generateElemPrefix(String suggPrefix, String nsURI, DOMOutputElement elem)` Method called after `findElemPrefix(java.lang.String, com.fasterxml.aalto.dom.DOMOutputElement)` has returned null, to create and bind a namespace mapping for specified namespace.
`NamespaceContext` | `getNamespaceContext()`
`String` | `getPrefix(String uri)`
`Object` | `getProperty(String name)`
`boolean` | `isPropertySupported(String name)`
`protected void` | `outputAttribute(String nsURI, String prefix, String localName, String value)`
`void` | `setDefaultNamespace(String uri)`
`void` | `setPrefix(String prefix, String uri)`
`boolean` | `setProperty(String name, Object value)`
`void` | `writeAttribute(String localName, String value)`
`void` | `writeAttribute(String nsURI, String localName, String value)`
`void` | `writeAttribute(String prefix, String nsURI, String localName, String value)`
`void` | `writeDefaultNamespace(String nsURI)`
`void` | `writeDTD(String rootName, String systemId, String publicId, String internalSubset)`
`void` | `writeEmptyElement(String localName)`
`void` | `writeEmptyElement(String nsURI, String localName)`
`void` | `writeEmptyElement(String prefix, String localName, String nsURI)`
`void` | `writeEndDocument()`
`void` | `writeEndElement()`
`void` | `writeNamespace(String prefix, String nsURI)`
`void` | `writeStartElement(String localName)`
`void` | `writeStartElement(String nsURI, String localName)`
`void` | `writeStartElement(String prefix, String localName, String nsURI)`

Methods inherited from class org.codehaus.stax2.ri.dom.DOMWrappingWriter
`close, closeCompletely, copyEventFromReader, flush, getEncoding, getLocation, getValueEncoder, reportUnsupported, serializeQNameValue, setNamespaceContext, setValidationProblemHandler, stopValidatingAgainst, stopValidatingAgainst, throwOutputError, throwOutputError, validateAgainst, writeBinary, writeBinary, writeBinaryAttribute, writeBinaryAttribute, writeBoolean, writeBooleanAttribute, writeCData, writeCData, writeCharacters, writeCharacters, writeComment, writeDecimal, writeDecimalAttribute, writeDouble, writeDoubleArray, writeDoubleArrayAttribute, writeDoubleAttribute, writeDTD, writeEntityRef, writeFloat, writeFloatArray, writeFloatArrayAttribute, writeFloatAttribute, writeFullEndElement, writeInt, writeIntArray, writeIntArrayAttribute, writeIntAttribute, writeInteger, writeIntegerAttribute, writeLong, writeLongArray, writeLongArrayAttribute, writeLongAttribute, writeProcessingInstruction, writeProcessingInstruction, writeQName, writeQNameAttribute, writeRaw, writeRaw, writeRaw, writeSpace, writeSpace, writeStartDocument, writeStartDocument, writeStartDocument, writeStartDocument`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### _config

    protected final WriterConfig _config

### _currElem

    protected DOMOutputElement _currElem

  This element is the current context element, under which all other nodes are added, until matching end element is output. Null outside of the main element tree.

  Note: explicit empty element (written using `writeEmptyElement`) will never become current element.

### _openElement

    protected DOMOutputElement _openElement

  This element is non-null right after a call to either `writeStartElement` and `writeEmptyElement`, and can be used to add attributes and namespace declarations.

  Note: while this is often the same as `_currElem`, it's not always. Specifically, an empty element (written explicitly using `writeEmptyElement`) will become open element but NOT current element. Conversely, regular elements will remain current element when non elements are written (text, comments, PI), but not the open element.

### _autoNsSeq

    protected int[] _autoNsSeq

  for NsRepairing mode

### _suggestedDefNs

    protected String _suggestedDefNs

### _automaticNsPrefix

    protected String _automaticNsPrefix

Method Detail

### createFrom

    public static DOMWriterImpl createFrom(WriterConfig cfg,
                                           DOMResult dst)
                                    throws XMLStreamException

  Throws:
    `XMLStreamException`

### getNamespaceContext

    public NamespaceContext getNamespaceContext()

  Specified by:
    `getNamespaceContext` in interface `XMLStreamWriter`
  Specified by:
    `getNamespaceContext` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`

### getPrefix

    public String getPrefix(String uri)

  Specified by:
    `getPrefix` in interface `XMLStreamWriter`
  Specified by:
    `getPrefix` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`

### getProperty

    public Object getProperty(String name)

  Specified by:
    `getProperty` in interface `XMLStreamWriter`
  Specified by:
    `getProperty` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`

### setDefaultNamespace

    public void setDefaultNamespace(String uri)

  Specified by:
    `setDefaultNamespace` in interface `XMLStreamWriter`
  Specified by:
    `setDefaultNamespace` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`

### setPrefix

    public void setPrefix(String prefix,
                          String uri)
                   throws XMLStreamException

  Specified by:
    `setPrefix` in interface `XMLStreamWriter`
  Specified by:
    `setPrefix` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`
  Throws:
    `XMLStreamException`

### writeAttribute

    public void writeAttribute(String localName,
                               String value)
                        throws XMLStreamException

  Specified by:
    `writeAttribute` in interface `XMLStreamWriter`
  Specified by:
    `writeAttribute` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`
  Throws:
    `XMLStreamException`

### writeAttribute

    public void writeAttribute(String nsURI,
                               String localName,
                               String value)
                        throws XMLStreamException

  Specified by:
    `writeAttribute` in interface `XMLStreamWriter`
  Specified by:
    `writeAttribute` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`
  Throws:
    `XMLStreamException`

### writeAttribute

    public void writeAttribute(String prefix,
                               String nsURI,
                               String localName,
                               String value)
                        throws XMLStreamException

  Specified by:
    `writeAttribute` in interface `XMLStreamWriter`
  Specified by:
    `writeAttribute` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`
  Throws:
    `XMLStreamException`

### writeDefaultNamespace

    public void writeDefaultNamespace(String nsURI)

  Specified by:
    `writeDefaultNamespace` in interface `XMLStreamWriter`
  Specified by:
    `writeDefaultNamespace` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`

### writeEmptyElement

    public void writeEmptyElement(String localName)
                           throws XMLStreamException

  Specified by:
    `writeEmptyElement` in interface `XMLStreamWriter`
  Specified by:
    `writeEmptyElement` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`
  Throws:
    `XMLStreamException`

### writeEmptyElement

    public void writeEmptyElement(String nsURI,
                                  String localName)
                           throws XMLStreamException

  Specified by:
    `writeEmptyElement` in interface `XMLStreamWriter`
  Specified by:
    `writeEmptyElement` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`
  Throws:
    `XMLStreamException`

### writeEmptyElement

    public void writeEmptyElement(String prefix,
                                  String localName,
                                  String nsURI)
                           throws XMLStreamException

  Specified by:
    `writeEmptyElement` in interface `XMLStreamWriter`
  Specified by:
    `writeEmptyElement` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`
  Throws:
    `XMLStreamException`

### writeEndDocument

    public void writeEndDocument()

  Specified by:
    `writeEndDocument` in interface `XMLStreamWriter`
  Specified by:
    `writeEndDocument` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`

### writeEndElement

    public void writeEndElement()

### writeNamespace

    public void writeNamespace(String prefix,
                               String nsURI)
                        throws XMLStreamException

  Throws:
    `XMLStreamException`

### writeStartElement

    public void writeStartElement(String localName)
                           throws XMLStreamException

  Throws:
    `XMLStreamException`

### writeStartElement

    public void writeStartElement(String nsURI,
                                  String localName)
                           throws XMLStreamException

  Throws:
    `XMLStreamException`

### writeStartElement

    public void writeStartElement(String prefix,
                                  String localName,
                                  String nsURI)
                           throws XMLStreamException

  Throws:
    `XMLStreamException`

### isPropertySupported

    public boolean isPropertySupported(String name)

  Specified by:
    `isPropertySupported` in interface `org.codehaus.stax2.XMLStreamWriter2`
  Specified by:
    `isPropertySupported` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`

### setProperty

    public boolean setProperty(String name,
                               Object value)

  Specified by:
    `setProperty` in interface `org.codehaus.stax2.XMLStreamWriter2`
  Specified by:
    `setProperty` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`

### writeDTD

    public void writeDTD(String rootName,
                         String systemId,
                         String publicId,
                         String internalSubset)
                  throws XMLStreamException

  Specified by:
    `writeDTD` in interface `org.codehaus.stax2.XMLStreamWriter2`
  Specified by:
    `writeDTD` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`
  Throws:
    `XMLStreamException`

### appendLeaf

    protected void appendLeaf(Node n)
                       throws IllegalStateException

  Specified by:
    `appendLeaf` in class `org.codehaus.stax2.ri.dom.DOMWrappingWriter`
  Throws:
    `IllegalStateException`

### createStartElem

    protected void createStartElem(String nsURI,
                                   String prefix,
                                   String localName,
                                   boolean isEmpty)
                            throws XMLStreamException

  Method called by all start element write methods.

  Parameters:
    `nsURI` - Namespace URI to use: null and empty String denote 'no namespace'
  Throws:
    `XMLStreamException`

### outputAttribute

    protected void outputAttribute(String nsURI,
                                   String prefix,
                                   String localName,
                                   String value)
                            throws XMLStreamException

  Throws:
    `XMLStreamException`

### findElemPrefix

    protected final String findElemPrefix(String nsURI,
                                          DOMOutputElement elem)
                                   throws XMLStreamException

  Method called to find an existing prefix for the given namespace, if any exists in the scope. If one is found, it's returned (including "" for the current default namespace); if not, null is returned.

  Parameters:
    `nsURI` - URI of namespace for which we need a prefix
  Throws:
    `XMLStreamException`

### generateElemPrefix

    protected final String generateElemPrefix(String suggPrefix,
                                              String nsURI,
                                              DOMOutputElement elem)
                                       throws XMLStreamException

  Method called after `findElemPrefix(java.lang.String, com.fasterxml.aalto.dom.DOMOutputElement)` has returned null, to create and bind a namespace mapping for specified namespace.

  Throws:
    `XMLStreamException`

### findOrCreateAttrPrefix

    protected final String findOrCreateAttrPrefix(String suggPrefix,
                                                  String nsURI,
                                                  DOMOutputElement elem)
                                           throws XMLStreamException

  Method called to somehow find a prefix for given namespace, to be used for a new start element; either use an existing one, or generate a new one. If a new mapping needs to be generated, it will also be automatically bound, and necessary namespace declaration output.

  Parameters:
    `suggPrefix` - Suggested prefix to bind, if any; may be null to indicate "no preference"
    `nsURI` - URI of namespace for which we need a prefix
    `elem` - Currently open start element, on which the attribute will be added.
  Throws:
    `XMLStreamException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2011 Fasterxml.com. All Rights Reserved.