Package com.fasterxml.jackson.core.io
Class SegmentedStringWriter
- java.lang.Object
-
- java.io.Writer
-
- com.fasterxml.jackson.core.io.SegmentedStringWriter
-
- All Implemented Interfaces:
BufferRecycler.Gettable,java.io.Closeable,java.io.Flushable,java.lang.Appendable,java.lang.AutoCloseable
public final class SegmentedStringWriter extends java.io.Writer implements BufferRecycler.Gettable
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.Writerappend(char c)java.io.Writerappend(java.lang.CharSequence csq)java.io.Writerappend(java.lang.CharSequence csq, int start, int end)BufferRecyclerbufferRecycler()voidclose()voidflush()java.lang.StringgetAndClear()Main access method that will construct a String that contains all the contents, release all internal buffers we may have, and return result String.voidwrite(char[] cbuf)voidwrite(char[] cbuf, int off, int len)voidwrite(int c)voidwrite(java.lang.String str)voidwrite(java.lang.String str, int off, int len)
-
-
-
Constructor Detail
-
SegmentedStringWriter
public SegmentedStringWriter(BufferRecycler br)
-
-
Method Detail
-
bufferRecycler
public BufferRecycler bufferRecycler()
- Specified by:
bufferRecyclerin interfaceBufferRecycler.Gettable- Returns:
- Buffer recycler instance object is configured with, if any;
whether this can be
nulldepends on type of object
-
append
public java.io.Writer append(char c) throws java.io.IOException- Specified by:
appendin interfacejava.lang.Appendable- Overrides:
appendin classjava.io.Writer- Throws:
java.io.IOException
-
append
public java.io.Writer append(java.lang.CharSequence csq) throws java.io.IOException- Specified by:
appendin interfacejava.lang.Appendable- Overrides:
appendin classjava.io.Writer- Throws:
java.io.IOException
-
append
public java.io.Writer append(java.lang.CharSequence csq, int start, int end) throws java.io.IOException- Specified by:
appendin interfacejava.lang.Appendable- Overrides:
appendin classjava.io.Writer- Throws:
java.io.IOException
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classjava.io.Writer
-
flush
public void flush()
- Specified by:
flushin interfacejava.io.Flushable- Specified by:
flushin classjava.io.Writer
-
write
public void write(char[] cbuf) throws java.io.IOException- Overrides:
writein classjava.io.Writer- Throws:
java.io.IOException
-
write
public void write(char[] cbuf, int off, int len) throws java.io.IOException- Specified by:
writein classjava.io.Writer- Throws:
java.io.IOException
-
write
public void write(int c) throws java.io.IOException- Overrides:
writein classjava.io.Writer- Throws:
java.io.IOException
-
write
public void write(java.lang.String str) throws java.io.IOException- Overrides:
writein classjava.io.Writer- Throws:
java.io.IOException
-
write
public void write(java.lang.String str, int off, int len) throws java.io.IOException- Overrides:
writein classjava.io.Writer- Throws:
java.io.IOException
-
getAndClear
public java.lang.String getAndClear() throws java.io.IOExceptionMain 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
- Throws:
java.io.IOException- if there are general I/O or parse issues, including if the text is too large, seeStreamReadConstraints.Builder.maxStringLength(int)
-
-