Class PooledSpecializedStringWriter
java.lang.Object
java.io.Writer
io.pebbletemplates.pebble.extension.writer.PooledSpecializedStringWriter
- All Implemented Interfaces:
SpecializedWriter
,Closeable
,Flushable
,Appendable
,AutoCloseable
A $
SpecializedWriter
that's pooled in a $ThreadLocal
. It's backed by a $StringBuilder
so it's not threadsafe but doesn't involve synchronization. Beware that it has
some limitations:
- As it's backed by a $
ThreadLocal
, it might leak in environments where ClassLoaders are rebooted at runtime - It doesn't take any security measure against very large payloads that would cause underlying buffers to eat memory
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final ThreadLocal
<PooledSpecializedStringWriter> private StringBuilder
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
flush()
pooled()
toString()
void
write
(char[] cbuf, int off, int len) void
writeSpecialized
(byte b) void
writeSpecialized
(char c) void
writeSpecialized
(double d) void
writeSpecialized
(float f) void
writeSpecialized
(int i) void
writeSpecialized
(long l) void
writeSpecialized
(short s) void
Methods inherited from class java.io.Writer
append, append, append, nullWriter, write, write, write, write
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.pebbletemplates.pebble.extension.writer.SpecializedWriter
write
-
Field Details
-
POOL
-
sb
-
-
Constructor Details
-
PooledSpecializedStringWriter
private PooledSpecializedStringWriter()
-
-
Method Details
-
writeSpecialized
public void writeSpecialized(int i) - Specified by:
writeSpecialized
in interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(long l) - Specified by:
writeSpecialized
in interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(double d) - Specified by:
writeSpecialized
in interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(float f) - Specified by:
writeSpecialized
in interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(short s) - Specified by:
writeSpecialized
in interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(byte b) - Specified by:
writeSpecialized
in interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(char c) - Specified by:
writeSpecialized
in interfaceSpecializedWriter
-
writeSpecialized
- Specified by:
writeSpecialized
in interfaceSpecializedWriter
-
write
public void write(char[] cbuf, int off, int len) -
flush
public void flush() -
close
public void close() -
toString
-
pooled
-