test_class.declarator: SMALL_JSON_INT_LENGTH = 2
test_class.modifier: private static final
test_class.original_string: private static final int SMALL_JSON_INT_LENGTH = 2;
test_class.type: int
test_class.var_name: SMALL_JSON_INT_LENGTH
test_class.declarator: LARGE_JSON_INT_LENGTH = 4
test_class.modifier: private static final
test_class.original_string: private static final int LARGE_JSON_INT_LENGTH = 4;
test_class.type: int
test_class.var_name: LARGE_JSON_INT_LENGTH
test_class.declarator: SMALL_JSON_KEY_META_DATA_LENGTH = SMALL_JSON_INT_LENGTH + 2
test_class.modifier: private static final
test_class.original_string: private static final int SMALL_JSON_KEY_META_DATA_LENGTH = SMALL_JSON_INT_LENGTH + 2;
test_class.type: int
test_class.var_name: SMALL_JSON_KEY_META_DATA_LENGTH
test_class.declarator: SMALL_JSON_VALUE_META_DATA_LENGTH = SMALL_JSON_INT_LENGTH + 1
test_class.modifier: private static final
test_class.original_string: private static final int SMALL_JSON_VALUE_META_DATA_LENGTH = SMALL_JSON_INT_LENGTH + 1;
test_class.type: int
test_class.var_name: SMALL_JSON_VALUE_META_DATA_LENGTH
test_class.declarator: LARGE_JSON_KEY_META_DATA_LENGTH = LARGE_JSON_INT_LENGTH + 2
test_class.modifier: private static final
test_class.original_string: private static final int LARGE_JSON_KEY_META_DATA_LENGTH = LARGE_JSON_INT_LENGTH + 2;
test_class.type: int
test_class.var_name: LARGE_JSON_KEY_META_DATA_LENGTH
test_class.declarator: LARGE_JSON_VALUE_META_DATA_LENGTH = LARGE_JSON_INT_LENGTH + 1
test_class.modifier: private static final
test_class.original_string: private static final int LARGE_JSON_VALUE_META_DATA_LENGTH = LARGE_JSON_INT_LENGTH + 1;
test_class.type: int
test_class.var_name: LARGE_JSON_VALUE_META_DATA_LENGTH
test_class.file: shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonValueDecoderTest.java
test_class.identifier: MySQLJsonValueDecoderTest
test_case.body: @Test
      public void assertDecodeLargeJsonObjectWithLiteral() {
          List<JsonEntry> jsonEntries = new LinkedList<>();
          jsonEntries.add(new JsonEntry(JsonValueTypes.LITERAL, "key1", JsonValueTypes.LITERAL_NULL));
          jsonEntries.add(new JsonEntry(JsonValueTypes.LITERAL, "key2", JsonValueTypes.LITERAL_TRUE));
          jsonEntries.add(new JsonEntry(JsonValueTypes.LITERAL, "key3", JsonValueTypes.LITERAL_FALSE));
          ByteBuf payload = mockJsonObjectByteBuf(jsonEntries, false);
          String actual = (String) MySQLJsonValueDecoder.decode(payload);
          assertThat(actual, is("{\"key1\":null,\"key2\":true,\"key3\":false}"));
      }
test_case.class_method_signature: MySQLJsonValueDecoderTest.assertDecodeLargeJsonObjectWithLiteral()
test_case.full_signature: @Test public void assertDecodeLargeJsonObjectWithLiteral()
test_case.identifier: assertDecodeLargeJsonObjectWithLiteral
test_case.invocations: add add add mockJsonObjectByteBuf decode assertThat is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertDecodeLargeJsonObjectWithLiteral()
focal_class.declarator: MAX_BIG_INTEGER_VALUE = new BigInteger("18446744073709551615")
focal_class.modifier: private static final
focal_class.original_string: private static final BigInteger MAX_BIG_INTEGER_VALUE = new BigInteger("18446744073709551615");
focal_class.type: BigInteger
focal_class.var_name: MAX_BIG_INTEGER_VALUE
focal_class.file: shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/column/value/string/MySQLJsonValueDecoder.java
focal_class.identifier: MySQLJsonValueDecoder
focal_class.class_method_signature: MySQLJsonValueDecoder.decode(final ByteBuf byteBuf)
focal_class.full_signature: public static Serializable decode(final ByteBuf byteBuf)
focal_class.identifier: decode
focal_class.modifiers: public static
focal_class.parameters: (final ByteBuf byteBuf)
focal_class.return: Serializable
focal_class.signature: Serializable decode(final ByteBuf byteBuf)
focal_class.class_method_signature: MySQLJsonValueDecoder.decodeValue(final int type, final int offset, final ByteBuf byteBuf, final StringBuilder result)
focal_class.full_signature: private static void decodeValue(final int type, final int offset, final ByteBuf byteBuf, final StringBuilder result)
focal_class.identifier: decodeValue
focal_class.modifiers: private static
focal_class.parameters: (final int type, final int offset, final ByteBuf byteBuf, final StringBuilder result)
focal_class.return: void
focal_class.signature: void decodeValue(final int type, final int offset, final ByteBuf byteBuf, final StringBuilder result)
focal_class.class_method_signature: MySQLJsonValueDecoder.readUnsignedLongLE(final ByteBuf byteBuf)
focal_class.full_signature: private static BigInteger readUnsignedLongLE(final ByteBuf byteBuf)
focal_class.identifier: readUnsignedLongLE
focal_class.modifiers: private static
focal_class.parameters: (final ByteBuf byteBuf)
focal_class.return: BigInteger
focal_class.signature: BigInteger readUnsignedLongLE(final ByteBuf byteBuf)
focal_class.class_method_signature: MySQLJsonValueDecoder.decodeJsonObject(final boolean isSmall, final ByteBuf byteBuf, final StringBuilder result)
focal_class.full_signature: private static void decodeJsonObject(final boolean isSmall, final ByteBuf byteBuf, final StringBuilder result)
focal_class.identifier: decodeJsonObject
focal_class.modifiers: private static
focal_class.parameters: (final boolean isSmall, final ByteBuf byteBuf, final StringBuilder result)
focal_class.return: void
focal_class.signature: void decodeJsonObject(final boolean isSmall, final ByteBuf byteBuf, final StringBuilder result)
focal_class.class_method_signature: MySQLJsonValueDecoder.decodeJsonArray(final boolean isSmall, final ByteBuf byteBuf, final StringBuilder result)
focal_class.full_signature: private static void decodeJsonArray(final boolean isSmall, final ByteBuf byteBuf, final StringBuilder result)
focal_class.identifier: decodeJsonArray
focal_class.modifiers: private static
focal_class.parameters: (final boolean isSmall, final ByteBuf byteBuf, final StringBuilder result)
focal_class.return: void
focal_class.signature: void decodeJsonArray(final boolean isSmall, final ByteBuf byteBuf, final StringBuilder result)
focal_class.class_method_signature: MySQLJsonValueDecoder.decodeKeyEntry(final boolean isSmall, final ByteBuf byteBuf)
focal_class.full_signature: private static String decodeKeyEntry(final boolean isSmall, final ByteBuf byteBuf)
focal_class.identifier: decodeKeyEntry
focal_class.modifiers: private static
focal_class.parameters: (final boolean isSmall, final ByteBuf byteBuf)
focal_class.return: String
focal_class.signature: String decodeKeyEntry(final boolean isSmall, final ByteBuf byteBuf)
focal_class.class_method_signature: MySQLJsonValueDecoder.decodeValueEntry(final boolean isSmall, final ByteBuf byteBuf, final StringBuilder stringBuilder)
focal_class.full_signature: private static void decodeValueEntry(final boolean isSmall, final ByteBuf byteBuf, final StringBuilder stringBuilder)
focal_class.identifier: decodeValueEntry
focal_class.modifiers: private static
focal_class.parameters: (final boolean isSmall, final ByteBuf byteBuf, final StringBuilder stringBuilder)
focal_class.return: void
focal_class.signature: void decodeValueEntry(final boolean isSmall, final ByteBuf byteBuf, final StringBuilder stringBuilder)
focal_class.class_method_signature: MySQLJsonValueDecoder.getIntBasedObjectSize(final ByteBuf byteBuf, final boolean isSmall)
focal_class.full_signature: private static int getIntBasedObjectSize(final ByteBuf byteBuf, final boolean isSmall)
focal_class.identifier: getIntBasedObjectSize
focal_class.modifiers: private static
focal_class.parameters: (final ByteBuf byteBuf, final boolean isSmall)
focal_class.return: int
focal_class.signature: int getIntBasedObjectSize(final ByteBuf byteBuf, final boolean isSmall)
focal_class.class_method_signature: MySQLJsonValueDecoder.outputLiteral(final int inlineValue, final StringBuilder out)
focal_class.full_signature: private static void outputLiteral(final int inlineValue, final StringBuilder out)
focal_class.identifier: outputLiteral
focal_class.modifiers: private static
focal_class.parameters: (final int inlineValue, final StringBuilder out)
focal_class.return: void
focal_class.signature: void outputLiteral(final int inlineValue, final StringBuilder out)
focal_class.class_method_signature: MySQLJsonValueDecoder.decodeString(final ByteBuf byteBuf)
focal_class.full_signature: private static String decodeString(final ByteBuf byteBuf)
focal_class.identifier: decodeString
focal_class.modifiers: private static
focal_class.parameters: (final ByteBuf byteBuf)
focal_class.return: String
focal_class.signature: String decodeString(final ByteBuf byteBuf)
focal_class.class_method_signature: MySQLJsonValueDecoder.decodeDataLength(final ByteBuf byteBuf)
focal_class.full_signature: private static int decodeDataLength(final ByteBuf byteBuf)
focal_class.identifier: decodeDataLength
focal_class.modifiers: private static
focal_class.parameters: (final ByteBuf byteBuf)
focal_class.return: int
focal_class.signature: int decodeDataLength(final ByteBuf byteBuf)
focal_class.class_method_signature: MySQLJsonValueDecoder.outputString(final String str, final StringBuilder out)
focal_class.full_signature: private static void outputString(final String str, final StringBuilder out)
focal_class.identifier: outputString
focal_class.modifiers: private static
focal_class.parameters: (final String str, final StringBuilder out)
focal_class.return: void
focal_class.signature: void outputString(final String str, final StringBuilder out)
focal_method.body: public static Serializable decode(final ByteBuf byteBuf) {
          int valueType = byteBuf.readUnsignedByte() & 0xff;
          StringBuilder result = new StringBuilder();
          decodeValue(valueType, 1, byteBuf, result);
          return result.toString();
      }
focal_method.class_method_signature: MySQLJsonValueDecoder.decode(final ByteBuf byteBuf)
focal_method.full_signature: public static Serializable decode(final ByteBuf byteBuf)
focal_method.identifier: decode
focal_method.invocations: readUnsignedByte decodeValue toString
focal_method.modifiers: public static
focal_method.parameters: (final ByteBuf byteBuf)
focal_method.return: Serializable
focal_method.signature: Serializable decode(final ByteBuf byteBuf)