com.fasterxml.jackson.dataformat.yaml

## Class YAMLGenerator

- java.lang.Object
- - com.fasterxml.jackson.core.JsonGenerator
  - - com.fasterxml.jackson.core.base.GeneratorBase
    - - com.fasterxml.jackson.dataformat.yaml.YAMLGenerator

All Implemented Interfaces:
  com.fasterxml.jackson.core.Versioned, Closeable, Flushable, AutoCloseable

    public class YAMLGenerator
    extends com.fasterxml.jackson.core.base.GeneratorBase

### Nested Class Summary

Nested Classes
`static class` `YAMLGenerator.Feature` Enumeration that defines all togglable features for YAML generators

### Field Summary

Fields
`protected org.yaml.snakeyaml.DumperOptions.Version` `_docVersion`
`protected org.yaml.snakeyaml.emitter.Emitter` `_emitter`
`protected int` `_formatFeatures` Bit flag composed of bits that indicate which `YAMLGenerator.Feature`s are enabled.
`protected com.fasterxml.jackson.core.io.IOContext` `_ioContext`
`protected String` `_objectId` YAML supports native Object identifiers, so databinder may indicate need to output one.
`protected org.yaml.snakeyaml.DumperOptions` `_outputOptions`
`protected StringQuotingChecker` `_quotingChecker`
`protected int` `_rootValueCount`
`protected String` `_typeId` YAML supports native Type identifiers, so databinder may indicate need to output one.
`protected Writer` `_writer`
`protected static long` `MAX_INT_AS_LONG`
`protected static long` `MIN_INT_AS_LONG`
`protected static Pattern` `PLAIN_NUMBER_P`
`protected static String` `TAG_BINARY`

### Fields inherited from class com.fasterxml.jackson.core.base.GeneratorBase

`_cfgNumbersAsStrings, _closed, _features, _objectCodec, _writeContext, DERIVED_FEATURES_MASK, MAX_BIG_DECIMAL_SCALE, SURR1_FIRST, SURR1_LAST, SURR2_FIRST, SURR2_LAST, WRITE_BINARY, WRITE_BOOLEAN, WRITE_NULL, WRITE_NUMBER, WRITE_RAW, WRITE_STRING`

### Fields inherited from class com.fasterxml.jackson.core.JsonGenerator

`_cfgPrettyPrinter, DEFAULT_BINARY_WRITE_CAPABILITIES, DEFAULT_TEXTUAL_WRITE_CAPABILITIES, DEFAULT_WRITE_CAPABILITIES`

### Constructor Summary

Constructors
Constructor and Description
`YAMLGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int jsonFeatures, int yamlFeatures, com.fasterxml.jackson.core.ObjectCodec codec, Writer out, org.yaml.snakeyaml.DumperOptions.Version version)` Deprecated.
`YAMLGenerator(com.fasterxml.jackson.core.io.IOContext ctxt, int jsonFeatures, int yamlFeatures, StringQuotingChecker quotingChecker, com.fasterxml.jackson.core.ObjectCodec codec, Writer out, org.yaml.snakeyaml.DumperOptions.Version version)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `_emit(org.yaml.snakeyaml.events.Event e)`
`protected void` `_emitEndDocument()`
`protected void` `_emitStartDocument()`
`protected String` `_lf()`
`protected void` `_releaseBuffers()`
`protected org.yaml.snakeyaml.events.ScalarEvent` `_scalarEvent(String value, org.yaml.snakeyaml.DumperOptions.ScalarStyle style)`
`protected void` `_verifyValueWrite(String typeMsg)`
`protected void` `_writeScalar(String value, String type, org.yaml.snakeyaml.DumperOptions.ScalarStyle style)`
`protected org.yaml.snakeyaml.DumperOptions` `buildDumperOptions(int jsonFeatures, int yamlFeatures, org.yaml.snakeyaml.DumperOptions.Version version)`
`boolean` `canUseSchema(com.fasterxml.jackson.core.FormatSchema schema)`
`boolean` `canWriteFormattedNumbers()`
`boolean` `canWriteObjectId()`
`boolean` `canWriteTypeId()`
`void` `close()`
`YAMLGenerator` `configure(YAMLGenerator.Feature f, boolean state)`
`YAMLGenerator` `disable(YAMLGenerator.Feature f)`
`YAMLGenerator` `enable(YAMLGenerator.Feature f)`
`void` `flush()`
`int` `getFormatFeatures()`
`int` `getOutputBuffered()` SnakeYAML does not expose buffered content amount, so we can only return `-1` from here
`Object` `getOutputTarget()`
`com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamWriteCapability>` `getWriteCapabilities()`
`boolean` `isEnabled(YAMLGenerator.Feature f)`
`com.fasterxml.jackson.core.JsonGenerator` `overrideFormatFeatures(int values, int mask)`
`YAMLGenerator` `setPrettyPrinter(com.fasterxml.jackson.core.PrettyPrinter pp)` Not sure what to do here; will always indent, but uses YAML-specific settings etc.
`YAMLGenerator` `useDefaultPrettyPrinter()` Not sure what to do here; could reset indentation to some value maybe?
`com.fasterxml.jackson.core.Version` `version()`
`void` `writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant, byte[] data, int offset, int len)`
`void` `writeBoolean(boolean state)`
`void` `writeEndArray()`
`void` `writeEndObject()`
`void` `writeFieldId(long id)`
`void` `writeFieldName(com.fasterxml.jackson.core.SerializableString name)`
`void` `writeFieldName(String name)`
`void` `writeNull()`
`void` `writeNumber(BigDecimal dec)`
`void` `writeNumber(BigInteger v)`
`void` `writeNumber(double d)`
`void` `writeNumber(float f)`
`void` `writeNumber(int i)`
`void` `writeNumber(long l)`
`void` `writeNumber(String encodedValue)`
`void` `writeObjectId(Object id)`
`void` `writeObjectRef(Object id)`
`void` `writeRaw(char c)`
`void` `writeRaw(char[] text, int offset, int len)`
`void` `writeRaw(String text)`
`void` `writeRaw(String text, int offset, int len)`
`void` `writeRawUTF8String(byte[] text, int offset, int len)`
`void` `writeRawValue(char[] text, int offset, int len)`
`void` `writeRawValue(String text)`
`void` `writeRawValue(String text, int offset, int len)`
`void` `writeStartArray()`
`void` `writeStartObject()`
`void` `writeString(char[] text, int offset, int len)`
`void` `writeString(com.fasterxml.jackson.core.SerializableString sstr)`
`void` `writeString(String text)`
`void` `writeTypeId(Object id)`
`void` `writeUTF8String(byte[] text, int offset, int len)`

### Methods inherited from class com.fasterxml.jackson.core.base.GeneratorBase

`_asString, _checkStdFeatureChanges, _constructDefaultPrettyPrinter, _decodeSurrogate, disable, enable, getCodec, getCurrentValue, getFeatureMask, getOutputContext, isClosed, isEnabled, overrideStdFeatures, setCodec, setCurrentValue, setFeatureMask, writeBinary, writeObject, writeRawValue, writeStartObject, writeTree`

### Methods inherited from class com.fasterxml.jackson.core.JsonGenerator

`_copyCurrentContents, _reportError, _reportUnsupportedOperation, _throwInternal, _verifyOffsets, _writeSimpleObject, canOmitFields, canWriteBinaryNatively, configure, copyCurrentEvent, copyCurrentStructure, getCharacterEscapes, getHighestEscapedChar, getPrettyPrinter, getSchema, isEnabled, setCharacterEscapes, setHighestNonEscapedChar, setRootValueSeparator, setSchema, writeArray, writeArray, writeArray, writeArray, writeArrayFieldStart, writeBinary, writeBinary, writeBinary, writeBinaryField, writeBooleanField, writeEmbeddedObject, writeNullField, writeNumber, writeNumber, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeOmittedField, writeRaw, writeStartArray, writeStartArray, writeStartArray, writeStartObject, writeString, writeStringField, writeTypePrefix, writeTypeSuffix`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### MIN_INT_AS_LONG

    protected static final long MIN_INT_AS_LONG

See Also:
  Constant Field Values

#### MAX_INT_AS_LONG

    protected static final long MAX_INT_AS_LONG

See Also:
  Constant Field Values

#### PLAIN_NUMBER_P

    protected static final Pattern PLAIN_NUMBER_P

#### TAG_BINARY

    protected static final String TAG_BINARY

#### _ioContext

    protected final com.fasterxml.jackson.core.io.IOContext _ioContext

#### _formatFeatures

    protected int _formatFeatures

Bit flag composed of bits that indicate which `YAMLGenerator.Feature`s are enabled.

#### _writer

    protected Writer _writer

#### _outputOptions

    protected org.yaml.snakeyaml.DumperOptions _outputOptions

#### _docVersion

    protected final org.yaml.snakeyaml.DumperOptions.Version _docVersion

#### _emitter

    protected org.yaml.snakeyaml.emitter.Emitter _emitter

#### _objectId

    protected String _objectId

YAML supports native Object identifiers, so databinder may indicate need to output one.

#### _typeId

    protected String _typeId

YAML supports native Type identifiers, so databinder may indicate need to output one.

#### _rootValueCount

    protected int _rootValueCount

#### _quotingChecker

    protected final StringQuotingChecker _quotingChecker

### Constructor Detail

#### YAMLGenerator

    public YAMLGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
                         int jsonFeatures,
                         int yamlFeatures,
                         StringQuotingChecker quotingChecker,
                         com.fasterxml.jackson.core.ObjectCodec codec,
                         Writer out,
                         org.yaml.snakeyaml.DumperOptions.Version version)
                  throws IOException

Throws:
  `IOException`

#### YAMLGenerator

    @Deprecated
    public YAMLGenerator(com.fasterxml.jackson.core.io.IOContext ctxt,
                                     int jsonFeatures,
                                     int yamlFeatures,
                                     com.fasterxml.jackson.core.ObjectCodec codec,
                                     Writer out,
                                     org.yaml.snakeyaml.DumperOptions.Version version)
                              throws IOException

Deprecated.

Throws:
  `IOException`

### Method Detail

#### buildDumperOptions

    protected org.yaml.snakeyaml.DumperOptions buildDumperOptions(int jsonFeatures,
                                                                  int yamlFeatures,
                                                                  org.yaml.snakeyaml.DumperOptions.Version version)

#### version

    public com.fasterxml.jackson.core.Version version()

Specified by:
  `version` in interface `com.fasterxml.jackson.core.Versioned`
Overrides:
  `version` in class `com.fasterxml.jackson.core.base.GeneratorBase`

#### useDefaultPrettyPrinter

    public YAMLGenerator useDefaultPrettyPrinter()

Not sure what to do here; could reset indentation to some value maybe?

Overrides:
  `useDefaultPrettyPrinter` in class `com.fasterxml.jackson.core.base.GeneratorBase`

#### setPrettyPrinter

    public YAMLGenerator setPrettyPrinter(com.fasterxml.jackson.core.PrettyPrinter pp)

Not sure what to do here; will always indent, but uses YAML-specific settings etc.

Overrides:
  `setPrettyPrinter` in class `com.fasterxml.jackson.core.JsonGenerator`

#### getOutputTarget

    public Object getOutputTarget()

Overrides:
  `getOutputTarget` in class `com.fasterxml.jackson.core.JsonGenerator`

#### getOutputBuffered

    public int getOutputBuffered()

SnakeYAML does not expose buffered content amount, so we can only return `-1` from here

Overrides:
  `getOutputBuffered` in class `com.fasterxml.jackson.core.JsonGenerator`

#### getFormatFeatures

    public int getFormatFeatures()

Overrides:
  `getFormatFeatures` in class `com.fasterxml.jackson.core.JsonGenerator`

#### overrideFormatFeatures

    public com.fasterxml.jackson.core.JsonGenerator overrideFormatFeatures(int values,
                                                                           int mask)

Overrides:
  `overrideFormatFeatures` in class `com.fasterxml.jackson.core.JsonGenerator`

#### canUseSchema

    public boolean canUseSchema(com.fasterxml.jackson.core.FormatSchema schema)

Overrides:
  `canUseSchema` in class `com.fasterxml.jackson.core.JsonGenerator`

#### canWriteFormattedNumbers

    public boolean canWriteFormattedNumbers()

Overrides:
  `canWriteFormattedNumbers` in class `com.fasterxml.jackson.core.JsonGenerator`

#### getWriteCapabilities

    public com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamWriteCapability> getWriteCapabilities()

Overrides:
  `getWriteCapabilities` in class `com.fasterxml.jackson.core.JsonGenerator`

#### enable

    public YAMLGenerator enable(YAMLGenerator.Feature f)

#### disable

    public YAMLGenerator disable(YAMLGenerator.Feature f)

#### isEnabled

    public final boolean isEnabled(YAMLGenerator.Feature f)

#### configure

    public YAMLGenerator configure(YAMLGenerator.Feature f,
                                   boolean state)

#### writeFieldName

    public final void writeFieldName(String name)
                              throws IOException

Specified by:
  `writeFieldName` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeFieldName

    public final void writeFieldName(com.fasterxml.jackson.core.SerializableString name)
                              throws IOException

Overrides:
  `writeFieldName` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`

#### writeFieldId

    public void writeFieldId(long id)
                      throws IOException

Overrides:
  `writeFieldId` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### flush

    public final void flush()
                     throws IOException

Specified by:
  `flush` in interface `Flushable`
Specified by:
  `flush` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`

#### close

    public void close()
               throws IOException

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Overrides:
  `close` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`

#### writeStartArray

    public final void writeStartArray()
                               throws IOException

Specified by:
  `writeStartArray` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeEndArray

    public final void writeEndArray()
                             throws IOException

Specified by:
  `writeEndArray` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeStartObject

    public final void writeStartObject()
                                throws IOException

Specified by:
  `writeStartObject` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeEndObject

    public final void writeEndObject()
                              throws IOException

Specified by:
  `writeEndObject` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeString

    public void writeString(String text)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException

Specified by:
  `writeString` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`

#### writeString

    public void writeString(char[] text,
                            int offset,
                            int len)
                     throws IOException

Specified by:
  `writeString` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeString

    public final void writeString(com.fasterxml.jackson.core.SerializableString sstr)
                           throws IOException

Overrides:
  `writeString` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`

#### writeRawUTF8String

    public void writeRawUTF8String(byte[] text,
                                   int offset,
                                   int len)
                            throws IOException

Specified by:
  `writeRawUTF8String` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeUTF8String

    public final void writeUTF8String(byte[] text,
                                      int offset,
                                      int len)
                               throws IOException

Specified by:
  `writeUTF8String` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeRaw

    public void writeRaw(String text)
                  throws IOException

Specified by:
  `writeRaw` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeRaw

    public void writeRaw(String text,
                         int offset,
                         int len)
                  throws IOException

Specified by:
  `writeRaw` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeRaw

    public void writeRaw(char[] text,
                         int offset,
                         int len)
                  throws IOException

Specified by:
  `writeRaw` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeRaw

    public void writeRaw(char c)
                  throws IOException

Specified by:
  `writeRaw` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeRawValue

    public void writeRawValue(String text)
                       throws IOException

Overrides:
  `writeRawValue` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`

#### writeRawValue

    public void writeRawValue(String text,
                              int offset,
                              int len)
                       throws IOException

Overrides:
  `writeRawValue` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`

#### writeRawValue

    public void writeRawValue(char[] text,
                              int offset,
                              int len)
                       throws IOException

Overrides:
  `writeRawValue` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`

#### writeBinary

    public void writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant,
                            byte[] data,
                            int offset,
                            int len)
                     throws IOException

Specified by:
  `writeBinary` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeBoolean

    public void writeBoolean(boolean state)
                      throws IOException

Specified by:
  `writeBoolean` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeNumber

    public void writeNumber(int i)
                     throws IOException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeNumber

    public void writeNumber(long l)
                     throws IOException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeNumber

    public void writeNumber(BigInteger v)
                     throws IOException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeNumber

    public void writeNumber(double d)
                     throws IOException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeNumber

    public void writeNumber(float f)
                     throws IOException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeNumber

    public void writeNumber(BigDecimal dec)
                     throws IOException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeNumber

    public void writeNumber(String encodedValue)
                     throws IOException,
                            com.fasterxml.jackson.core.JsonGenerationException,
                            UnsupportedOperationException

Specified by:
  `writeNumber` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`
  `com.fasterxml.jackson.core.JsonGenerationException`
  `UnsupportedOperationException`

#### writeNull

    public void writeNull()
                   throws IOException

Specified by:
  `writeNull` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### canWriteObjectId

    public boolean canWriteObjectId()

Overrides:
  `canWriteObjectId` in class `com.fasterxml.jackson.core.JsonGenerator`

#### canWriteTypeId

    public boolean canWriteTypeId()

Overrides:
  `canWriteTypeId` in class `com.fasterxml.jackson.core.JsonGenerator`

#### writeTypeId

    public void writeTypeId(Object id)
                     throws IOException

Overrides:
  `writeTypeId` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeObjectRef

    public void writeObjectRef(Object id)
                        throws IOException

Overrides:
  `writeObjectRef` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### writeObjectId

    public void writeObjectId(Object id)
                       throws IOException

Overrides:
  `writeObjectId` in class `com.fasterxml.jackson.core.JsonGenerator`
Throws:
  `IOException`

#### _verifyValueWrite

    protected final void _verifyValueWrite(String typeMsg)
                                    throws IOException

Specified by:
  `_verifyValueWrite` in class `com.fasterxml.jackson.core.base.GeneratorBase`
Throws:
  `IOException`

#### _releaseBuffers

    protected void _releaseBuffers()

Specified by:
  `_releaseBuffers` in class `com.fasterxml.jackson.core.base.GeneratorBase`

#### _writeScalar

    protected void _writeScalar(String value,
                                String type,
                                org.yaml.snakeyaml.DumperOptions.ScalarStyle style)
                         throws IOException

Throws:
  `IOException`

#### _scalarEvent

    protected org.yaml.snakeyaml.events.ScalarEvent _scalarEvent(String value,
                                                                 org.yaml.snakeyaml.DumperOptions.ScalarStyle style)

#### _lf

    protected String _lf()

#### _emitStartDocument

    protected void _emitStartDocument()
                               throws IOException

Throws:
  `IOException`

#### _emitEndDocument

    protected void _emitEndDocument()
                             throws IOException

Throws:
  `IOException`

#### _emit

    protected final void _emit(org.yaml.snakeyaml.events.Event e)
                        throws IOException

Throws:
  `IOException`