Class BasicXMLEncoder

All Implemented Interfaces:
CodecIdentifierProvider, Encoder, EncodesToWriter, StreamingEncoder
Direct Known Subclasses:
HTMLEncoder

public class BasicXMLEncoder extends AbstractCharReplacementEncoder
Encoder implementation that escapes some characters for inclusion in XML documents Currently ', ", <, > and & characters are replaced with XML entities. Additionally backslash (/), non-breaking space, backtick (`) and @ are also replaced for visibility/additional security.
Since:
2.3
  • Field Details

    • XML_CODEC_IDENTIFIER

      public static final CodecIdentifier XML_CODEC_IDENTIFIER
  • Constructor Details

    • BasicXMLEncoder

      public BasicXMLEncoder()
    • BasicXMLEncoder

      protected BasicXMLEncoder(CodecIdentifier codecIdentifier)
  • Method Details

    • xmlEscapeCharacter

      protected static final String xmlEscapeCharacter(char ch)
    • escapeCharacter

      protected String escapeCharacter(char ch, char previousChar)
      Description copied from class: AbstractCharReplacementEncoder
      Escape the character, return null if no replacement has to be made
      Specified by:
      escapeCharacter in class AbstractCharReplacementEncoder
      Parameters:
      ch - the character to escape
      previousChar - the previous char
      Returns:
      the replacement string, null if no replacement has to be made
    • encode

      public final Object encode(Object o)
      Description copied from interface: Encoder
      Encode given input object
      Specified by:
      encode in interface Encoder
      Overrides:
      encode in class AbstractCharReplacementEncoder
      Parameters:
      o - the input object
      Returns:
      the encoded object
    • doEncode

      protected Object doEncode(Object o)
    • encodeAsXmlObject

      protected Object encodeAsXmlObject(Object o)