com.fasterxml.jackson.dataformat.xml.util
Class DefaultXmlPrettyPrinter

java.lang.Object
  extended by com.fasterxml.jackson.dataformat.xml.util.DefaultXmlPrettyPrinter
All Implemented Interfaces:
com.fasterxml.jackson.core.PrettyPrinter, XmlPrettyPrinter, Serializable

public class DefaultXmlPrettyPrinter
extends Object
implements XmlPrettyPrinter, Serializable

Indentation to use with XML is different from JSON, because JSON requires use of separator characters and XML just basic whitespace.

Note that only a subset of methods of PrettyPrinter actually get called by ToXmlGenerator; because of this, implementation is bit briefer (and uglier...).

See Also:
Serialized Form

Nested Class Summary
protected static class DefaultXmlPrettyPrinter.FixedSpaceIndenter
          This is a very simple indenter that only every adds a single space for indentation.
static interface DefaultXmlPrettyPrinter.Indenter
          Interface that defines objects that can produce indentation used to separate object entries and array values.
protected static class DefaultXmlPrettyPrinter.Lf2SpacesIndenter
          Default linefeed-based indenter uses system-specific linefeeds and 2 spaces for indentation per level.
protected static class DefaultXmlPrettyPrinter.NopIndenter
          Dummy implementation that adds no indentation whatsoever
 
Field Summary
protected  DefaultXmlPrettyPrinter.Indenter _arrayIndenter
          By default, let's use only spaces to separate array values.
protected  int _nesting
          Number of open levels of nesting.
protected  DefaultXmlPrettyPrinter.Indenter _objectIndenter
          By default, let's use linefeed-adding indenter for separate object entries.
protected  boolean _spacesInObjectEntries
          By default we will add spaces around colons used to separate object fields and values.
 
Constructor Summary
DefaultXmlPrettyPrinter()
           
 
Method Summary
 void beforeArrayValues(com.fasterxml.jackson.core.JsonGenerator jgen)
           
 void beforeObjectEntries(com.fasterxml.jackson.core.JsonGenerator jgen)
           
 void indentArraysWith(DefaultXmlPrettyPrinter.Indenter i)
           
 void indentObjectsWith(DefaultXmlPrettyPrinter.Indenter i)
           
 void spacesInObjectEntries(boolean b)
           
 void writeArrayValueSeparator(com.fasterxml.jackson.core.JsonGenerator jgen)
           
 void writeEndArray(com.fasterxml.jackson.core.JsonGenerator jgen, int nrOfValues)
           
 void writeEndObject(com.fasterxml.jackson.core.JsonGenerator jgen, int nrOfEntries)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, BigDecimal value)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, BigInteger value)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, boolean value)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, byte[] data, int offset, int len)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, char[] buffer, int offset, int len)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, double value)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, float value)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, int value)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, long value)
           
 void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName, String text)
           
 void writeLeafNullElement(org.codehaus.stax2.XMLStreamWriter2 sw, String nsURI, String localName)
           
 void writeObjectEntrySeparator(com.fasterxml.jackson.core.JsonGenerator jgen)
           
 void writeObjectFieldValueSeparator(com.fasterxml.jackson.core.JsonGenerator jgen)
           
 void writeRootValueSeparator(com.fasterxml.jackson.core.JsonGenerator jgen)
           
 void writeStartArray(com.fasterxml.jackson.core.JsonGenerator jgen)
           
 void writeStartObject(com.fasterxml.jackson.core.JsonGenerator jgen)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_arrayIndenter

protected DefaultXmlPrettyPrinter.Indenter _arrayIndenter
By default, let's use only spaces to separate array values.


_objectIndenter

protected DefaultXmlPrettyPrinter.Indenter _objectIndenter
By default, let's use linefeed-adding indenter for separate object entries. We'll further configure indenter to use system-specific linefeeds, and 2 spaces per level (as opposed to, say, single tabs)


_spacesInObjectEntries

protected boolean _spacesInObjectEntries
By default we will add spaces around colons used to separate object fields and values. If disabled, will not use spaces around colon.


_nesting

protected int _nesting
Number of open levels of nesting. Used to determine amount of indentation to use.

Constructor Detail

DefaultXmlPrettyPrinter

public DefaultXmlPrettyPrinter()
Method Detail

indentArraysWith

public void indentArraysWith(DefaultXmlPrettyPrinter.Indenter i)

indentObjectsWith

public void indentObjectsWith(DefaultXmlPrettyPrinter.Indenter i)

spacesInObjectEntries

public void spacesInObjectEntries(boolean b)

writeRootValueSeparator

public void writeRootValueSeparator(com.fasterxml.jackson.core.JsonGenerator jgen)
                             throws IOException,
                                    com.fasterxml.jackson.core.JsonGenerationException
Specified by:
writeRootValueSeparator in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

beforeArrayValues

public void beforeArrayValues(com.fasterxml.jackson.core.JsonGenerator jgen)
                       throws IOException,
                              com.fasterxml.jackson.core.JsonGenerationException
Specified by:
beforeArrayValues in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

writeStartArray

public void writeStartArray(com.fasterxml.jackson.core.JsonGenerator jgen)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException
Specified by:
writeStartArray in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

writeArrayValueSeparator

public void writeArrayValueSeparator(com.fasterxml.jackson.core.JsonGenerator jgen)
                              throws IOException,
                                     com.fasterxml.jackson.core.JsonGenerationException
Specified by:
writeArrayValueSeparator in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

writeEndArray

public void writeEndArray(com.fasterxml.jackson.core.JsonGenerator jgen,
                          int nrOfValues)
                   throws IOException,
                          com.fasterxml.jackson.core.JsonGenerationException
Specified by:
writeEndArray in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

beforeObjectEntries

public void beforeObjectEntries(com.fasterxml.jackson.core.JsonGenerator jgen)
                         throws IOException,
                                com.fasterxml.jackson.core.JsonGenerationException
Specified by:
beforeObjectEntries in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

writeStartObject

public void writeStartObject(com.fasterxml.jackson.core.JsonGenerator jgen)
                      throws IOException,
                             com.fasterxml.jackson.core.JsonGenerationException
Specified by:
writeStartObject in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

writeObjectEntrySeparator

public void writeObjectEntrySeparator(com.fasterxml.jackson.core.JsonGenerator jgen)
                               throws IOException,
                                      com.fasterxml.jackson.core.JsonGenerationException
Specified by:
writeObjectEntrySeparator in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

writeObjectFieldValueSeparator

public void writeObjectFieldValueSeparator(com.fasterxml.jackson.core.JsonGenerator jgen)
                                    throws IOException,
                                           com.fasterxml.jackson.core.JsonGenerationException
Specified by:
writeObjectFieldValueSeparator in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

writeEndObject

public void writeEndObject(com.fasterxml.jackson.core.JsonGenerator jgen,
                           int nrOfEntries)
                    throws IOException,
                           com.fasterxml.jackson.core.JsonGenerationException
Specified by:
writeEndObject in interface com.fasterxml.jackson.core.PrettyPrinter
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             String text)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             char[] buffer,
                             int offset,
                             int len)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             boolean value)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             int value)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             long value)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             double value)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             float value)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             BigInteger value)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             BigDecimal value)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafElement

public void writeLeafElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                             String nsURI,
                             String localName,
                             byte[] data,
                             int offset,
                             int len)
                      throws XMLStreamException
Specified by:
writeLeafElement in interface XmlPrettyPrinter
Throws:
XMLStreamException

writeLeafNullElement

public void writeLeafNullElement(org.codehaus.stax2.XMLStreamWriter2 sw,
                                 String nsURI,
                                 String localName)
                          throws XMLStreamException
Specified by:
writeLeafNullElement in interface XmlPrettyPrinter
Throws:
XMLStreamException


Copyright © 2012 FasterXML. All Rights Reserved.