@Test public void testEncodingBytes() throws IOException { ObjectEncoder<DummyClass> objectEncoder = (o, ctx) -> { ctx.add("Bytes", "My {custom} value.".getBytes(Charset.forName("UTF-8"))); }; String result = new JsonDataEncoderBuilder() .registerEncoder(DummyClass.class, objectEncoder) .build() .encode(DummyClass.INSTANCE); assertThat(result).isEqualTo(String.format("{\"Bytes\":%s}", "\"TXkge2N1c3RvbX0gdmFsdWUu\"")); }
@NonNull @Override public JsonValueObjectEncoderContext add(@NonNull String name, @Nullable Object o) throws IOException { if (ignoreNullValues) { return internalAddIgnoreNullValues(name, o); } return internalAdd(name, o); }
JsonValueObjectEncoderContext implements ObjectEncoderContext, ValueEncoderContext { @NonNull @Override public JsonValueObjectEncoderContext add(@NonNull String name, @Nullable Object o) throws IOException { if (ignoreNullValues) { return internalAddIgnoreNullValues(name, o); } return internalAdd(name, o); } }
JsonValueObjectEncoderContext implements ObjectEncoderContext, ValueEncoderContext { @NonNull @Override public JsonValueObjectEncoderContext add(@NonNull String name, @Nullable Object o) throws IOException { if (ignoreNullValues) { return internalAddIgnoreNullValues(name, o); } return internalAdd(name, o); } JsonValueObjectEncoderContext(
      @NonNull Writer writer,
      @NonNull Map<Class<?>, ObjectEncoder<?>> objectEncoders,
      @NonNull Map<Class<?>, ValueEncoder<?>> valueEncoders,
      ObjectEncoder<Object> fallbackEncoder,
      boolean ignoreNullValues); private  JsonValueObjectEncoderContext(JsonValueObjectEncoderContext anotherContext); }
JsonValueObjectEncoderContext implements ObjectEncoderContext, ValueEncoderContext { @NonNull @Override public JsonValueObjectEncoderContext add(@NonNull String name, @Nullable Object o) throws IOException { if (ignoreNullValues) { return internalAddIgnoreNullValues(name, o); } return internalAdd(name, o); } JsonValueObjectEncoderContext(
      @NonNull Writer writer,
      @NonNull Map<Class<?>, ObjectEncoder<?>> objectEncoders,
      @NonNull Map<Class<?>, ValueEncoder<?>> valueEncoders,
      ObjectEncoder<Object> fallbackEncoder,
      boolean ignoreNullValues); private  JsonValueObjectEncoderContext(JsonValueObjectEncoderContext anotherContext); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, @Nullable Object o); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, double value); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, int value); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, long value); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, boolean value); @NonNull @Override ObjectEncoderContext inline(@Nullable Object value); @NonNull @Override ObjectEncoderContext nested(@NonNull String name); @NonNull @Override JsonValueObjectEncoderContext add(@Nullable String value); @NonNull @Override JsonValueObjectEncoderContext add(double value); @NonNull @Override JsonValueObjectEncoderContext add(int value); @NonNull @Override JsonValueObjectEncoderContext add(long value); @NonNull @Override JsonValueObjectEncoderContext add(boolean value); @NonNull @Override JsonValueObjectEncoderContext add(@Nullable byte[] bytes); }
JsonValueObjectEncoderContext implements ObjectEncoderContext, ValueEncoderContext { @NonNull @Override public JsonValueObjectEncoderContext add(@NonNull String name, @Nullable Object o) throws IOException { if (ignoreNullValues) { return internalAddIgnoreNullValues(name, o); } return internalAdd(name, o); } JsonValueObjectEncoderContext(
      @NonNull Writer writer,
      @NonNull Map<Class<?>, ObjectEncoder<?>> objectEncoders,
      @NonNull Map<Class<?>, ValueEncoder<?>> valueEncoders,
      ObjectEncoder<Object> fallbackEncoder,
      boolean ignoreNullValues); private  JsonValueObjectEncoderContext(JsonValueObjectEncoderContext anotherContext); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, @Nullable Object o); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, double value); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, int value); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, long value); @NonNull @Override JsonValueObjectEncoderContext add(@NonNull String name, boolean value); @NonNull @Override ObjectEncoderContext inline(@Nullable Object value); @NonNull @Override ObjectEncoderContext nested(@NonNull String name); @NonNull @Override JsonValueObjectEncoderContext add(@Nullable String value); @NonNull @Override JsonValueObjectEncoderContext add(double value); @NonNull @Override JsonValueObjectEncoderContext add(int value); @NonNull @Override JsonValueObjectEncoderContext add(long value); @NonNull @Override JsonValueObjectEncoderContext add(boolean value); @NonNull @Override JsonValueObjectEncoderContext add(@Nullable byte[] bytes);  }