diff --git a/src/com/wentch/redkale/convert/bson/BsonByteBufferWriter.java b/src/com/wentch/redkale/convert/bson/BsonByteBufferWriter.java index 61d07339e..247f07279 100644 --- a/src/com/wentch/redkale/convert/bson/BsonByteBufferWriter.java +++ b/src/com/wentch/redkale/convert/bson/BsonByteBufferWriter.java @@ -20,7 +20,7 @@ public final class BsonByteBufferWriter extends BsonWriter { private int index; - public BsonByteBufferWriter(Supplier supplier) { + protected BsonByteBufferWriter(Supplier supplier) { super((byte[]) null); this.supplier = supplier; } diff --git a/src/com/wentch/redkale/convert/bson/BsonConvert.java b/src/com/wentch/redkale/convert/bson/BsonConvert.java index 939a20231..1f5750a6e 100644 --- a/src/com/wentch/redkale/convert/bson/BsonConvert.java +++ b/src/com/wentch/redkale/convert/bson/BsonConvert.java @@ -44,6 +44,10 @@ public final class BsonConvert extends Convert { this.tiny = tiny; } + public BsonByteBufferWriter pollBsonWriter(final Supplier supplier) { + return new BsonByteBufferWriter(supplier).setTiny(tiny); + } + public BsonWriter pollBsonWriter() { return writerPool.get().setTiny(tiny); } diff --git a/src/com/wentch/redkale/convert/json/JsonByteBufferWriter.java b/src/com/wentch/redkale/convert/json/JsonByteBufferWriter.java index 54a604956..34882e304 100644 --- a/src/com/wentch/redkale/convert/json/JsonByteBufferWriter.java +++ b/src/com/wentch/redkale/convert/json/JsonByteBufferWriter.java @@ -27,15 +27,21 @@ public final class JsonByteBufferWriter extends JsonWriter { private int index; - public JsonByteBufferWriter(Supplier supplier) { + protected JsonByteBufferWriter(Supplier supplier) { this(null, supplier); } - public JsonByteBufferWriter(Charset charset, Supplier supplier) { + protected JsonByteBufferWriter(Charset charset, Supplier supplier) { this.charset = UTF8.equals(charset) ? null : charset; this.supplier = supplier; } + @Override + public JsonByteBufferWriter setTiny(boolean tiny) { + this.tiny = tiny; + return this; + } + @Override protected boolean recycle() { this.index = 0; diff --git a/src/com/wentch/redkale/convert/json/JsonConvert.java b/src/com/wentch/redkale/convert/json/JsonConvert.java index 5f7ef298f..cfa34e3be 100644 --- a/src/com/wentch/redkale/convert/json/JsonConvert.java +++ b/src/com/wentch/redkale/convert/json/JsonConvert.java @@ -33,6 +33,14 @@ public final class JsonConvert extends Convert { this.tiny = tiny; } + public JsonByteBufferWriter pollJsonWriter(final Supplier supplier) { + return new JsonByteBufferWriter(supplier).setTiny(tiny); + } + + public JsonByteBufferWriter pollJsonWriter(final Charset charset, final Supplier supplier) { + return new JsonByteBufferWriter(charset, supplier).setTiny(tiny); + } + public JsonWriter pollJsonWriter() { return writerPool.get().setTiny(tiny); }