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
    Modifier and Type
    Class
    Description
    static enum 
    Enumeration that defines all togglable features for YAML generators
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final org.yaml.snakeyaml.DumperOptions.Version
     
    protected org.yaml.snakeyaml.emitter.Emitter
     
    protected int
    Bit flag composed of bits that indicate which YAMLGenerator.Features are enabled.
    protected final com.fasterxml.jackson.core.io.IOContext
     
    protected String
    YAML supports native Object identifiers, so databinder may indicate need to output one.
    protected org.yaml.snakeyaml.DumperOptions
     
    protected final StringQuotingChecker
     
    protected int
     
    protected String
    YAML supports native Type identifiers, so databinder may indicate need to output one.
    protected Writer
     
    private static final org.yaml.snakeyaml.events.ImplicitTuple
     
    protected static final long
     
    protected static final long
     
    private static final org.yaml.snakeyaml.events.ImplicitTuple
     
    protected static final Pattern
     
    private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle
     
    private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle
     
    private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle
     
    private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle
     
    private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle
     
    private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle
     
    protected static final String
     

    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
    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 dumperOptions)
     
    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

    Modifier and Type
    Method
    Description
    private String
    _base64encode(com.fasterxml.jackson.core.Base64Variant b64v, byte[] input, String linefeed)
     
    protected final void
    _emit(org.yaml.snakeyaml.events.Event e)
     
    protected void
     
    protected void
     
    protected String
    _lf()
     
    protected void
     
    protected org.yaml.snakeyaml.events.ScalarEvent
    _scalarEvent(String value, org.yaml.snakeyaml.DumperOptions.ScalarStyle style)
     
    protected final void
     
    private final void
     
    protected void
    _writeScalar(String value, String type, org.yaml.snakeyaml.DumperOptions.ScalarStyle style)
     
    private void
    _writeScalarBinary(com.fasterxml.jackson.core.Base64Variant b64variant, byte[] data)
     
    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
     
    boolean
     
    boolean
     
    void
     
    configure(YAMLGenerator.Feature f, boolean state)
     
     
     
    final void
     
    int
     
    int
    SnakeYAML does not expose buffered content amount, so we can only return -1 from here
     
    com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamWriteCapability>
     
    final boolean
     
    com.fasterxml.jackson.core.JsonGenerator
    overrideFormatFeatures(int values, int mask)
     
    setPrettyPrinter(com.fasterxml.jackson.core.PrettyPrinter pp)
    Not sure what to do here; will always indent, but uses YAML-specific settings etc.
    Not sure what to do here; could reset indentation to some value maybe?
    com.fasterxml.jackson.core.Version
     
    void
    writeBinary(com.fasterxml.jackson.core.Base64Variant b64variant, byte[] data, int offset, int len)
     
    void
    writeBoolean(boolean state)
     
    final void
     
    final void
     
    void
    writeFieldId(long id)
     
    final void
    writeFieldName(com.fasterxml.jackson.core.SerializableString name)
     
    final void
     
    void
     
    void
    writeNumber(double d)
     
    void
    writeNumber(float f)
     
    void
    writeNumber(int i)
     
    void
    writeNumber(long l)
     
    void
    writeNumber(String encodedValue)
     
    void
     
    void
     
    void
     
    void
     
    void
    writeRaw(char c)
     
    void
    writeRaw(char[] text, int offset, int len)
     
    void
     
    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
     
    void
    writeRawValue(String text, int offset, int len)
     
    final void
     
    final void
     
    void
    writeString(char[] text, int offset, int len)
     
    final void
    writeString(com.fasterxml.jackson.core.SerializableString sstr)
     
    void
     
    void
     
    final void
    writeUTF8String(byte[] text, int offset, int len)
     

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

    _asString, _checkRangeBoundsForByteArray, _checkRangeBoundsForCharArray, _checkRangeBoundsForString, _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, _copyCurrentFloatValue, _copyCurrentFloatValueExact, _copyCurrentIntValue, _copyCurrentStringValue, _reportError, _reportUnsupportedOperation, _throwInternal, _verifyOffsets, _writeSimpleObject, assignCurrentValue, canOmitFields, canWriteBinaryNatively, configure, copyCurrentEvent, copyCurrentEventExact, copyCurrentStructure, currentValue, 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, writePOJO, writePOJOField, 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 Details

    • MIN_INT_AS_LONG

      protected static final long MIN_INT_AS_LONG
      See Also:
    • MAX_INT_AS_LONG

      protected static final long MAX_INT_AS_LONG
      See Also:
    • 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.Features are enabled.
    • _writer

      protected Writer _writer
    • _outputOptions

      protected org.yaml.snakeyaml.DumperOptions _outputOptions
    • _docVersion

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

      private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle STYLE_UNQUOTED_NAME
    • STYLE_SCALAR

      private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle STYLE_SCALAR
    • STYLE_QUOTED

      private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle STYLE_QUOTED
    • STYLE_LITERAL

      private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle STYLE_LITERAL
    • STYLE_BASE64

      private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle STYLE_BASE64
    • STYLE_PLAIN

      private static final org.yaml.snakeyaml.DumperOptions.ScalarStyle STYLE_PLAIN
    • _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
    • NO_TAGS

      private static final org.yaml.snakeyaml.events.ImplicitTuple NO_TAGS
    • EXPLICIT_TAGS

      private static final org.yaml.snakeyaml.events.ImplicitTuple EXPLICIT_TAGS
  • Constructor Details

    • 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

      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 dumperOptions) throws IOException
      Throws:
      IOException
      Since:
      2.14
    • 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 Details

    • 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

    • disable

    • 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
    • _writeFieldName

      private final void _writeFieldName(String name) throws IOException
      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 AutoCloseable
      Specified by:
      close in interface Closeable
      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
    • _writeScalarBinary

      private void _writeScalarBinary(com.fasterxml.jackson.core.Base64Variant b64variant, byte[] data) throws IOException
      Throws:
      IOException
    • _scalarEvent

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

      private String _base64encode(com.fasterxml.jackson.core.Base64Variant b64v, byte[] input, String linefeed)
    • _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