org.codehaus.jackson.io
Class SegmentedStringWriter

java.lang.Object
  extended by java.io.Writer
      extended by org.codehaus.jackson.io.SegmentedStringWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable

public final class SegmentedStringWriter
extends Writer

Efficient alternative to StringWriter, 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.

Since:
1.3

Field Summary
protected  TextBuffer _buffer
           
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
SegmentedStringWriter(BufferRecycler br)
           
 
Method Summary
 Writer append(char c)
           
 Writer append(CharSequence csq)
           
 Writer append(CharSequence csq, int start, int end)
           
 void close()
           
 void flush()
           
 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(String str)
           
 void write(String str, int off, int len)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_buffer

protected final TextBuffer _buffer
Constructor Detail

SegmentedStringWriter

public SegmentedStringWriter(BufferRecycler br)
Method Detail

append

public Writer append(char c)
Specified by:
append in interface Appendable
Overrides:
append in class Writer

append

public Writer append(CharSequence csq)
Specified by:
append in interface Appendable
Overrides:
append in class Writer

append

public Writer append(CharSequence csq,
                     int start,
                     int end)
Specified by:
append in interface Appendable
Overrides:
append in class Writer

close

public void close()
Specified by:
close in interface Closeable
Specified by:
close in class Writer

flush

public void flush()
Specified by:
flush in interface Flushable
Specified by:
flush in class Writer

write

public void write(char[] cbuf)
Overrides:
write in class Writer

write

public void write(char[] cbuf,
                  int off,
                  int len)
Specified by:
write in class Writer

write

public void write(int c)
Overrides:
write in class Writer

write

public void write(String str)
Overrides:
write in class Writer

write

public void write(String str,
                  int off,
                  int len)
Overrides:
write in class Writer

getAndClear

public 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.