Package com.fasterxml.jackson.core.io
Class SegmentedStringWriter
- java.lang.Object
-
- java.io.Writer
-
- com.fasterxml.jackson.core.io.SegmentedStringWriter
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.Appendable
,java.lang.AutoCloseable
public final class SegmentedStringWriter extends java.io.Writer
Efficient alternative toStringWriter
, based on using segmented internal buffer. Initial input buffer is also recyclable.This class is most useful when serializing JSON content as a String: if so, instance of this class can be given as the writer to
JsonGenerator
.
-
-
Constructor Summary
Constructors Constructor Description SegmentedStringWriter(BufferRecycler br)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.io.Writer
append(char c)
java.io.Writer
append(java.lang.CharSequence csq)
java.io.Writer
append(java.lang.CharSequence csq, int start, int end)
void
close()
void
flush()
java.lang.String
getAndClear()
Main access method that will construct a String that contains all the contents, release all internal buffers we may have, and return result String.void
write(char[] cbuf)
void
write(char[] cbuf, int off, int len)
void
write(int c)
void
write(java.lang.String str)
void
write(java.lang.String str, int off, int len)
-
-
-
Constructor Detail
-
SegmentedStringWriter
public SegmentedStringWriter(BufferRecycler br)
-
-
Method Detail
-
append
public java.io.Writer append(char c)
- Specified by:
append
in interfacejava.lang.Appendable
- Overrides:
append
in classjava.io.Writer
-
append
public java.io.Writer append(java.lang.CharSequence csq)
- Specified by:
append
in interfacejava.lang.Appendable
- Overrides:
append
in classjava.io.Writer
-
append
public java.io.Writer append(java.lang.CharSequence csq, int start, int end)
- Specified by:
append
in interfacejava.lang.Appendable
- Overrides:
append
in classjava.io.Writer
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classjava.io.Writer
-
flush
public void flush()
- Specified by:
flush
in interfacejava.io.Flushable
- Specified by:
flush
in classjava.io.Writer
-
write
public void write(char[] cbuf)
- Overrides:
write
in classjava.io.Writer
-
write
public void write(char[] cbuf, int off, int len)
- Specified by:
write
in classjava.io.Writer
-
write
public void write(int c)
- Overrides:
write
in classjava.io.Writer
-
write
public void write(java.lang.String str)
- Overrides:
write
in classjava.io.Writer
-
write
public void write(java.lang.String str, int off, int len)
- Overrides:
write
in classjava.io.Writer
-
getAndClear
public java.lang.String getAndClear()
Main access method that will construct a String that contains all the contents, release all internal buffers we may have, and return result String. Note that the method is not idempotent -- if called second time, will just return an empty String.- Returns:
- String that contains all aggregated content
-
-