Enum MapMessageJsonFormatter

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<MapMessageJsonFormatter>

    enum MapMessageJsonFormatter
    extends java.lang.Enum<MapMessageJsonFormatter>
    The default JSON formatter for MapMessages.

    The following types have specific handlers:

    • Map
    • Collection (List, Set, etc.)
    • Number (BigDecimal, Double, Long, Byte, etc.)
    • Boolean
    • StringBuilderFormattable
    • char/boolean/byte/short/int/long/float/double/Object arrays
    • String

    It supports nesting up to a maximum depth of 8, which is set by log4j2.mapMessage.jsonFormatter.maxDepth property.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static char COLON  
      private static char COMMA  
      private static char DQUOTE  
      private static char LBRACE  
      private static char LCURLY  
      static int MAX_DEPTH  
      private static char RBRACE  
      private static char RCURLY  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) static void format​(java.lang.StringBuilder sb, java.lang.Object object)  
      private static void format​(java.lang.StringBuilder sb, java.lang.Object object, int depth)  
      private static void formatBoolean​(java.lang.StringBuilder sb, boolean booleanValue)  
      private static void formatBooleanArray​(java.lang.StringBuilder sb, boolean[] items)  
      private static void formatByteArray​(java.lang.StringBuilder sb, byte[] items)  
      private static void formatCharArray​(java.lang.StringBuilder sb, char[] items)  
      private static void formatCollection​(java.lang.StringBuilder sb, java.util.Collection<java.lang.Object> items, int depth)  
      private static void formatDoubleArray​(java.lang.StringBuilder sb, double[] items)  
      private static void formatFloatArray​(java.lang.StringBuilder sb, float[] items)  
      private static void formatFormattable​(java.lang.StringBuilder sb, StringBuilderFormattable formattable)  
      private static void formatIndexedStringMap​(java.lang.StringBuilder sb, IndexedStringMap map, int depth)  
      private static void formatIntArray​(java.lang.StringBuilder sb, int[] items)  
      private static void formatList​(java.lang.StringBuilder sb, java.util.List<java.lang.Object> items, int depth)  
      private static void formatLongArray​(java.lang.StringBuilder sb, long[] items)  
      private static void formatMap​(java.lang.StringBuilder sb, java.util.Map<java.lang.Object,​java.lang.Object> map, int depth)  
      private static void formatNumber​(java.lang.StringBuilder sb, java.lang.Number number)  
      private static void formatObjectArray​(java.lang.StringBuilder sb, java.lang.Object[] items, int depth)  
      private static void formatShortArray​(java.lang.StringBuilder sb, short[] items)  
      private static void formatString​(java.lang.StringBuilder sb, java.lang.Object value)  
      private static int readMaxDepth()  
      static MapMessageJsonFormatter valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static MapMessageJsonFormatter[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • MapMessageJsonFormatter

        private MapMessageJsonFormatter()
    • Method Detail

      • values

        public static MapMessageJsonFormatter[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (MapMessageJsonFormatter c : MapMessageJsonFormatter.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static MapMessageJsonFormatter valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • readMaxDepth

        private static int readMaxDepth()
      • format

        static void format​(java.lang.StringBuilder sb,
                           java.lang.Object object)
      • format

        private static void format​(java.lang.StringBuilder sb,
                                   java.lang.Object object,
                                   int depth)
      • formatIndexedStringMap

        private static void formatIndexedStringMap​(java.lang.StringBuilder sb,
                                                   IndexedStringMap map,
                                                   int depth)
      • formatMap

        private static void formatMap​(java.lang.StringBuilder sb,
                                      java.util.Map<java.lang.Object,​java.lang.Object> map,
                                      int depth)
      • formatList

        private static void formatList​(java.lang.StringBuilder sb,
                                       java.util.List<java.lang.Object> items,
                                       int depth)
      • formatCollection

        private static void formatCollection​(java.lang.StringBuilder sb,
                                             java.util.Collection<java.lang.Object> items,
                                             int depth)
      • formatNumber

        private static void formatNumber​(java.lang.StringBuilder sb,
                                         java.lang.Number number)
      • formatBoolean

        private static void formatBoolean​(java.lang.StringBuilder sb,
                                          boolean booleanValue)
      • formatFormattable

        private static void formatFormattable​(java.lang.StringBuilder sb,
                                              StringBuilderFormattable formattable)
      • formatCharArray

        private static void formatCharArray​(java.lang.StringBuilder sb,
                                            char[] items)
      • formatBooleanArray

        private static void formatBooleanArray​(java.lang.StringBuilder sb,
                                               boolean[] items)
      • formatByteArray

        private static void formatByteArray​(java.lang.StringBuilder sb,
                                            byte[] items)
      • formatShortArray

        private static void formatShortArray​(java.lang.StringBuilder sb,
                                             short[] items)
      • formatIntArray

        private static void formatIntArray​(java.lang.StringBuilder sb,
                                           int[] items)
      • formatLongArray

        private static void formatLongArray​(java.lang.StringBuilder sb,
                                            long[] items)
      • formatFloatArray

        private static void formatFloatArray​(java.lang.StringBuilder sb,
                                             float[] items)
      • formatDoubleArray

        private static void formatDoubleArray​(java.lang.StringBuilder sb,
                                              double[] items)
      • formatObjectArray

        private static void formatObjectArray​(java.lang.StringBuilder sb,
                                              java.lang.Object[] items,
                                              int depth)
      • formatString

        private static void formatString​(java.lang.StringBuilder sb,
                                         java.lang.Object value)