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 TypeMethodDescriptionvoidclose()voidflush()pooled()toString()voidwrite(char[] cbuf, int off, int len) voidwriteSpecialized(byte b) voidwriteSpecialized(char c) voidwriteSpecialized(double d) voidwriteSpecialized(float f) voidwriteSpecialized(int i) voidwriteSpecialized(long l) voidwriteSpecialized(short s) voidMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface SpecializedWriter
write
-
Field Details
-
POOL
-
sb
-
-
Constructor Details
-
PooledSpecializedStringWriter
private PooledSpecializedStringWriter()
-
-
Method Details
-
writeSpecialized
public void writeSpecialized(int i) - Specified by:
writeSpecializedin interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(long l) - Specified by:
writeSpecializedin interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(double d) - Specified by:
writeSpecializedin interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(float f) - Specified by:
writeSpecializedin interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(short s) - Specified by:
writeSpecializedin interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(byte b) - Specified by:
writeSpecializedin interfaceSpecializedWriter
-
writeSpecialized
public void writeSpecialized(char c) - Specified by:
writeSpecializedin interfaceSpecializedWriter
-
writeSpecialized
- Specified by:
writeSpecializedin interfaceSpecializedWriter
-
write
-
flush
-
close
-
toString
-
pooled
-