Class DbDocImpl

java.lang.Object
java.util.AbstractMap<K,​V>
java.util.TreeMap<java.lang.String,​JsonValue>
com.mysql.cj.xdevapi.DbDocImpl
All Implemented Interfaces:
DbDoc, JsonValue, java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,​JsonValue>, java.util.NavigableMap<java.lang.String,​JsonValue>, java.util.SortedMap<java.lang.String,​JsonValue>

public class DbDocImpl
extends java.util.TreeMap<java.lang.String,​JsonValue>
implements DbDoc
Represents a JSON object:
   {}
   or
   {key : value}
   or
   {key : value, key : value, ...}
 
key is a JSON string. value is any of JSON object, array, number, string, true, false, null. Example of valid JSON object:
 {
 "field1" : "value 1",
 "field2" : 1.234544E+26,
 "field3" : true,
 "field4" : false,
 "field5" : null,
 "field6" : {
            "inner field 1" : "inner value 1",
            "inner field 2" : 2,
            "inner field 3" : true,
            "inner field 4" : false,
            "inner field 5" : null,
            "inner field 6" : [],
            "inner field 7" : {}
            },
 "field7" : ["arr1", 3, true, false, null, [], {}]
 }
 
To create DbDoc from existing string representation you need to use JsonParser.parseDoc(java.io.StringReader) method:
 DbDoc doc = JsonParser.parseDoc(new StringReader("{\"key1\" : \"value1\"}"));
 
You can construct JSON document by DbDoc, JsonString, JsonNumber, JsonArray and JsonLiteral methods and get JSON string representation by using toString() method. For example, to get the document shown above:
 DbDoc doc = new DbDoc().add("field1", new JsonString().setValue("value 1")).add("field2", new JsonNumber().setValue("12345.44E22"))
         .add("field3", JsonLiteral.TRUE).add("field4", JsonLiteral.FALSE).add("field5", JsonLiteral.NULL)
         .add("field6",
                 new DbDoc().add("inner field 1", new JsonString().setValue("inner value 1")).add("inner field 2", new JsonNumber().setValue("2"))
                         .add("inner field 3", JsonLiteral.TRUE).add("inner field 4", JsonLiteral.FALSE).add("inner field 5", JsonLiteral.NULL)
                         .add("inner field 6", new JsonArray()).add("inner field 7", new DbDoc()))
         .add("field7", new JsonArray().addValue(new JsonString().setValue("arr1")).addValue(new JsonNumber().setValue("3")).addValue(JsonLiteral.TRUE)
                 .addValue(JsonLiteral.FALSE).addValue(JsonLiteral.NULL).addValue(new JsonArray()).addValue(new DbDoc()));
 
 doc.toString();
 
See Also:
Serialized Form
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.util.AbstractMap

    java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>

    Nested classes/interfaces inherited from interface java.util.Map

    java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
  • Constructor Summary

    Constructors 
    Constructor Description
    DbDocImpl()  
  • Method Summary

    Modifier and Type Method Description
    DbDoc add​(java.lang.String key, JsonValue val)
    Add JsonValue to the top-level document hierarchy.
    java.lang.String toFormattedString()
    Get a human readable "pretty" JSON string.
    java.lang.String toString()  

    Methods inherited from class java.util.TreeMap

    ceilingEntry, ceilingKey, clear, clone, comparator, containsKey, containsValue, descendingKeySet, descendingMap, entrySet, firstEntry, firstKey, floorEntry, floorKey, forEach, get, headMap, headMap, higherEntry, higherKey, keySet, lastEntry, lastKey, lowerEntry, lowerKey, navigableKeySet, pollFirstEntry, pollLastEntry, put, putAll, remove, replace, replace, replaceAll, size, subMap, subMap, tailMap, tailMap, values

    Methods inherited from class java.util.AbstractMap

    equals, hashCode, isEmpty

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.util.Map

    clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size
  • Constructor Details

  • Method Details

    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.util.AbstractMap<java.lang.String,​JsonValue>
    • toFormattedString

      public java.lang.String toFormattedString()
      Description copied from interface: JsonValue
      Get a human readable "pretty" JSON string.
      Specified by:
      toFormattedString in interface JsonValue
      Returns:
      human readable "pretty" JSON string
    • add

      public DbDoc add​(java.lang.String key, JsonValue val)
      Description copied from interface: DbDoc
      Add JsonValue to the top-level document hierarchy.
      Specified by:
      add in interface DbDoc
      Parameters:
      key - field key
      val - field value
      Returns:
      DbDoc