## com.fasterxml.jackson.core.io
Class SegmentedStringWriter

    java.lang.Object
      java.io.Writer
          com.fasterxml.jackson.core.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`.

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.

Copyright © 2008-2016 FasterXML. All Rights Reserved.