Class Log4jXmlObjectMapper.SanitizingWriter

  • All Implemented Interfaces:
    javax.xml.stream.XMLStreamWriter, org.codehaus.stax2.typed.TypedXMLStreamWriter, org.codehaus.stax2.validation.Validatable, org.codehaus.stax2.XMLStreamWriter2
    Enclosing class:
    Log4jXmlObjectMapper

    private static final class Log4jXmlObjectMapper.SanitizingWriter
    extends org.codehaus.stax2.util.StreamWriter2Delegate
    Writer that sanitizes text to be valid XML 1.0 by replacing disallowed code points with the replacement character (U+FFFD).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static char REPLACEMENT_CHAR  
      • Fields inherited from class org.codehaus.stax2.util.StreamWriter2Delegate

        mDelegate2
      • Fields inherited from class org.codehaus.stax2.util.StreamWriterDelegate

        mDelegate
    • Constructor Summary

      Constructors 
      Constructor Description
      SanitizingWriter​(org.codehaus.stax2.XMLStreamWriter2 delegate)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static void appendSanitized​(java.lang.String input, int i, int length, java.lang.StringBuilder out)  
      private static boolean isValidXml10​(int codePoint)
      Checks if a code point is valid
      private static java.lang.String sanitizeXml10​(char[] input, int start, int len)  
      private static java.lang.String sanitizeXml10​(java.lang.String input)  
      void writeAttribute​(java.lang.String localName, java.lang.String value)  
      void writeAttribute​(java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)  
      void writeAttribute​(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)  
      void writeCData​(char[] text, int start, int len)  
      void writeCData​(java.lang.String text)  
      void writeCharacters​(char[] text, int start, int len)  
      void writeCharacters​(java.lang.String text)  
      void writeComment​(java.lang.String text)  
      • Methods inherited from class org.codehaus.stax2.util.StreamWriter2Delegate

        closeCompletely, copyEventFromReader, getEncoding, getLocation, isPropertySupported, setParent, setProperty, setValidationProblemHandler, stopValidatingAgainst, stopValidatingAgainst, validateAgainst, writeBinary, writeBinary, writeBinaryAttribute, writeBinaryAttribute, writeBoolean, writeBooleanAttribute, writeDecimal, writeDecimalAttribute, writeDouble, writeDoubleArray, writeDoubleArrayAttribute, writeDoubleAttribute, writeDTD, writeFloat, writeFloatArray, writeFloatArrayAttribute, writeFloatAttribute, writeFullEndElement, writeInt, writeIntArray, writeIntArrayAttribute, writeIntAttribute, writeInteger, writeIntegerAttribute, writeLong, writeLongArray, writeLongArrayAttribute, writeLongAttribute, writeQName, writeQNameAttribute, writeRaw, writeRaw, writeRaw, writeSpace, writeSpace, writeStartDocument
      • Methods inherited from class org.codehaus.stax2.util.StreamWriterDelegate

        close, flush, getNamespaceContext, getParent, getPrefix, getProperty, setDefaultNamespace, setNamespaceContext, setPrefix, writeDefaultNamespace, writeDTD, writeEmptyElement, writeEmptyElement, writeEmptyElement, writeEndDocument, writeEndElement, writeEntityRef, writeNamespace, writeProcessingInstruction, writeProcessingInstruction, writeStartDocument, writeStartDocument, writeStartDocument, writeStartElement, writeStartElement, writeStartElement
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface javax.xml.stream.XMLStreamWriter

        close, flush, getNamespaceContext, getPrefix, getProperty, setDefaultNamespace, setNamespaceContext, setPrefix, writeDefaultNamespace, writeDTD, writeEmptyElement, writeEmptyElement, writeEmptyElement, writeEndDocument, writeEndElement, writeEntityRef, writeNamespace, writeProcessingInstruction, writeProcessingInstruction, writeStartDocument, writeStartDocument, writeStartDocument, writeStartElement, writeStartElement, writeStartElement
    • Constructor Detail

      • SanitizingWriter

        SanitizingWriter​(org.codehaus.stax2.XMLStreamWriter2 delegate)
    • Method Detail

      • writeAttribute

        public void writeAttribute​(java.lang.String localName,
                                   java.lang.String value)
                            throws javax.xml.stream.XMLStreamException
        Specified by:
        writeAttribute in interface javax.xml.stream.XMLStreamWriter
        Overrides:
        writeAttribute in class org.codehaus.stax2.util.StreamWriterDelegate
        Throws:
        javax.xml.stream.XMLStreamException
      • writeAttribute

        public void writeAttribute​(java.lang.String namespaceURI,
                                   java.lang.String localName,
                                   java.lang.String value)
                            throws javax.xml.stream.XMLStreamException
        Specified by:
        writeAttribute in interface javax.xml.stream.XMLStreamWriter
        Overrides:
        writeAttribute in class org.codehaus.stax2.util.StreamWriterDelegate
        Throws:
        javax.xml.stream.XMLStreamException
      • writeAttribute

        public void writeAttribute​(java.lang.String prefix,
                                   java.lang.String namespaceURI,
                                   java.lang.String localName,
                                   java.lang.String value)
                            throws javax.xml.stream.XMLStreamException
        Specified by:
        writeAttribute in interface javax.xml.stream.XMLStreamWriter
        Overrides:
        writeAttribute in class org.codehaus.stax2.util.StreamWriterDelegate
        Throws:
        javax.xml.stream.XMLStreamException
      • writeCData

        public void writeCData​(java.lang.String text)
                        throws javax.xml.stream.XMLStreamException
        Specified by:
        writeCData in interface javax.xml.stream.XMLStreamWriter
        Overrides:
        writeCData in class org.codehaus.stax2.util.StreamWriterDelegate
        Throws:
        javax.xml.stream.XMLStreamException
      • writeCData

        public void writeCData​(char[] text,
                               int start,
                               int len)
                        throws javax.xml.stream.XMLStreamException
        Specified by:
        writeCData in interface org.codehaus.stax2.XMLStreamWriter2
        Overrides:
        writeCData in class org.codehaus.stax2.util.StreamWriter2Delegate
        Throws:
        javax.xml.stream.XMLStreamException
      • writeCharacters

        public void writeCharacters​(java.lang.String text)
                             throws javax.xml.stream.XMLStreamException
        Specified by:
        writeCharacters in interface javax.xml.stream.XMLStreamWriter
        Overrides:
        writeCharacters in class org.codehaus.stax2.util.StreamWriterDelegate
        Throws:
        javax.xml.stream.XMLStreamException
      • writeCharacters

        public void writeCharacters​(char[] text,
                                    int start,
                                    int len)
                             throws javax.xml.stream.XMLStreamException
        Specified by:
        writeCharacters in interface javax.xml.stream.XMLStreamWriter
        Overrides:
        writeCharacters in class org.codehaus.stax2.util.StreamWriterDelegate
        Throws:
        javax.xml.stream.XMLStreamException
      • writeComment

        public void writeComment​(java.lang.String text)
                          throws javax.xml.stream.XMLStreamException
        Specified by:
        writeComment in interface javax.xml.stream.XMLStreamWriter
        Overrides:
        writeComment in class org.codehaus.stax2.util.StreamWriterDelegate
        Throws:
        javax.xml.stream.XMLStreamException
      • sanitizeXml10

        private static java.lang.String sanitizeXml10​(java.lang.String input)
      • sanitizeXml10

        private static java.lang.String sanitizeXml10​(char[] input,
                                                      int start,
                                                      int len)
      • appendSanitized

        private static void appendSanitized​(java.lang.String input,
                                            int i,
                                            int length,
                                            java.lang.StringBuilder out)
      • isValidXml10

        private static boolean isValidXml10​(int codePoint)
        Checks if a code point is valid
        Parameters:
        codePoint - a code point between 0 and Character.MAX_CODE_POINT
        Returns:
        true if it is a valid XML 1.0 code point