Class YAMLGenerator

  • All Implemented Interfaces:
    com.fasterxml.jackson.core.Versioned, java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    public class YAMLGenerator
    extends com.fasterxml.jackson.core.base.GeneratorBase
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  YAMLGenerator.Feature
      Enumeration that defines all togglable features for YAML generators
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.yaml.snakeyaml.emitter.Emitter _emitter  
      protected int _formatFeatures
      Bit flag composed of bits that indicate which YAMLGenerator.Features are enabled.
      protected com.fasterxml.jackson.core.io.IOContext _ioContext  
      protected java.lang.String _objectId
      YAML supports native Object identifiers, so databinder may indicate need to output one.
      protected org.yaml.snakeyaml.DumperOptions _outputOptions  
      protected java.lang.String _typeId
      YAML supports native Type identifiers, so databinder may indicate need to output one.
      protected java.io.Writer _writer  
      private static org.yaml.snakeyaml.events.ImplicitTuple EXPLICIT_TAGS  
      protected static long MAX_INT_AS_LONG  
      protected static long MIN_INT_AS_LONG  
      private static org.yaml.snakeyaml.events.ImplicitTuple NO_TAGS  
      protected static java.util.regex.Pattern PLAIN_NUMBER_P  
      private static java.lang.Character STYLE_BASE64  
      private static java.lang.Character STYLE_LITERAL  
      private static java.lang.Character STYLE_NAME  
      private static java.lang.Character STYLE_PLAIN  
      private static java.lang.Character STYLE_QUOTED  
      private static java.lang.Character STYLE_SCALAR  
      protected static java.lang.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
    • Constructor Summary

      Constructors 
      Constructor Description
      YAMLGenerator​(com.fasterxml.jackson.core.io.IOContext ctxt, int jsonFeatures, int yamlFeatures, com.fasterxml.jackson.core.ObjectCodec codec, java.io.Writer out, org.yaml.snakeyaml.DumperOptions.Version version)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void _releaseBuffers()  
      protected org.yaml.snakeyaml.events.ScalarEvent _scalarEvent​(java.lang.String value, java.lang.Character style)  
      protected void _verifyValueWrite​(java.lang.String typeMsg)  
      private void _writeFieldName​(java.lang.String name)  
      protected void _writeScalar​(java.lang.String value, java.lang.String type, java.lang.Character 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 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
      java.lang.Object getOutputTarget()  
      private boolean isBooleanContent​(java.lang.String text)  
      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 writeFieldName​(com.fasterxml.jackson.core.SerializableString name)  
      void writeFieldName​(java.lang.String name)  
      void writeNull()  
      void writeNumber​(double d)  
      void writeNumber​(float f)  
      void writeNumber​(int i)  
      void writeNumber​(long l)  
      void writeNumber​(java.lang.String encodedValue)  
      void writeNumber​(java.math.BigDecimal dec)  
      void writeNumber​(java.math.BigInteger v)  
      void writeObjectId​(java.lang.Object id)  
      void writeObjectRef​(java.lang.Object id)  
      void writeRaw​(char c)  
      void writeRaw​(char[] text, int offset, int len)  
      void writeRaw​(java.lang.String text)  
      void writeRaw​(java.lang.String text, int offset, int len)  
      void writeRawUTF8String​(byte[] text, int offset, int len)  
      void writeRawValue​(char[] text, int offset, int len)  
      void writeRawValue​(java.lang.String text)  
      void writeRawValue​(java.lang.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​(java.lang.String text)  
      void writeStringField​(java.lang.String fieldName, java.lang.String value)  
      void writeTypeId​(java.lang.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, writeFieldId, writeNullField, writeNumber, writeNumber, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeNumberField, writeObjectField, writeObjectFieldStart, writeOmittedField, writeRaw, writeStartArray, writeStartArray, writeStartArray, writeStartObject, writeString, writeTypePrefix, writeTypeSuffix
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • PLAIN_NUMBER_P

        protected static final java.util.regex.Pattern PLAIN_NUMBER_P
      • TAG_BINARY

        protected static final java.lang.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 java.io.Writer _writer
      • _outputOptions

        protected org.yaml.snakeyaml.DumperOptions _outputOptions
      • STYLE_NAME

        private static final java.lang.Character STYLE_NAME
      • STYLE_SCALAR

        private static final java.lang.Character STYLE_SCALAR
      • STYLE_QUOTED

        private static final java.lang.Character STYLE_QUOTED
      • STYLE_LITERAL

        private static final java.lang.Character STYLE_LITERAL
      • STYLE_BASE64

        private static final java.lang.Character STYLE_BASE64
      • STYLE_PLAIN

        private static final java.lang.Character STYLE_PLAIN
      • _emitter

        protected org.yaml.snakeyaml.emitter.Emitter _emitter
      • _objectId

        protected java.lang.String _objectId
        YAML supports native Object identifiers, so databinder may indicate need to output one.
      • _typeId

        protected java.lang.String _typeId
        YAML supports native Type identifiers, so databinder may indicate need to output one.
      • 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 Detail

      • YAMLGenerator

        public YAMLGenerator​(com.fasterxml.jackson.core.io.IOContext ctxt,
                             int jsonFeatures,
                             int yamlFeatures,
                             com.fasterxml.jackson.core.ObjectCodec codec,
                             java.io.Writer out,
                             org.yaml.snakeyaml.DumperOptions.Version version)
                      throws java.io.IOException
        Throws:
        java.io.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 java.lang.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
      • writeFieldName

        public final void writeFieldName​(java.lang.String name)
                                  throws java.io.IOException
        Specified by:
        writeFieldName in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeFieldName

        public final void writeFieldName​(com.fasterxml.jackson.core.SerializableString name)
                                  throws java.io.IOException
        Overrides:
        writeFieldName in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeStringField

        public final void writeStringField​(java.lang.String fieldName,
                                           java.lang.String value)
                                    throws java.io.IOException
        Overrides:
        writeStringField in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • _writeFieldName

        private final void _writeFieldName​(java.lang.String name)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • flush

        public final void flush()
                         throws java.io.IOException
        Specified by:
        flush in interface java.io.Flushable
        Specified by:
        flush in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeStartArray

        public final void writeStartArray()
                                   throws java.io.IOException
        Specified by:
        writeStartArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeEndArray

        public final void writeEndArray()
                                 throws java.io.IOException
        Specified by:
        writeEndArray in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeStartObject

        public final void writeStartObject()
                                    throws java.io.IOException
        Specified by:
        writeStartObject in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeEndObject

        public final void writeEndObject()
                                  throws java.io.IOException
        Specified by:
        writeEndObject in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeString

        public void writeString​(java.lang.String text)
                         throws java.io.IOException,
                                com.fasterxml.jackson.core.JsonGenerationException
        Specified by:
        writeString in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
        com.fasterxml.jackson.core.JsonGenerationException
      • isBooleanContent

        private boolean isBooleanContent​(java.lang.String text)
      • writeString

        public void writeString​(char[] text,
                                int offset,
                                int len)
                         throws java.io.IOException
        Specified by:
        writeString in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeString

        public final void writeString​(com.fasterxml.jackson.core.SerializableString sstr)
                               throws java.io.IOException
        Overrides:
        writeString in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeRawUTF8String

        public void writeRawUTF8String​(byte[] text,
                                       int offset,
                                       int len)
                                throws java.io.IOException
        Specified by:
        writeRawUTF8String in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeUTF8String

        public final void writeUTF8String​(byte[] text,
                                          int offset,
                                          int len)
                                   throws java.io.IOException
        Specified by:
        writeUTF8String in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRaw

        public void writeRaw​(java.lang.String text)
                      throws java.io.IOException
        Specified by:
        writeRaw in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRaw

        public void writeRaw​(java.lang.String text,
                             int offset,
                             int len)
                      throws java.io.IOException
        Specified by:
        writeRaw in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRaw

        public void writeRaw​(char[] text,
                             int offset,
                             int len)
                      throws java.io.IOException
        Specified by:
        writeRaw in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRaw

        public void writeRaw​(char c)
                      throws java.io.IOException
        Specified by:
        writeRaw in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeRawValue

        public void writeRawValue​(java.lang.String text)
                           throws java.io.IOException
        Overrides:
        writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeRawValue

        public void writeRawValue​(java.lang.String text,
                                  int offset,
                                  int len)
                           throws java.io.IOException
        Overrides:
        writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeRawValue

        public void writeRawValue​(char[] text,
                                  int offset,
                                  int len)
                           throws java.io.IOException
        Overrides:
        writeRawValue in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • writeBinary

        public void writeBinary​(com.fasterxml.jackson.core.Base64Variant b64variant,
                                byte[] data,
                                int offset,
                                int len)
                         throws java.io.IOException
        Specified by:
        writeBinary in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeBoolean

        public void writeBoolean​(boolean state)
                          throws java.io.IOException
        Specified by:
        writeBoolean in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(int i)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(long l)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(java.math.BigInteger v)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(double d)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(float f)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(java.math.BigDecimal dec)
                         throws java.io.IOException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeNumber

        public void writeNumber​(java.lang.String encodedValue)
                         throws java.io.IOException,
                                com.fasterxml.jackson.core.JsonGenerationException,
                                java.lang.UnsupportedOperationException
        Specified by:
        writeNumber in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
        com.fasterxml.jackson.core.JsonGenerationException
        java.lang.UnsupportedOperationException
      • writeNull

        public void writeNull()
                       throws java.io.IOException
        Specified by:
        writeNull in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.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​(java.lang.Object id)
                         throws java.io.IOException
        Overrides:
        writeTypeId in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeObjectRef

        public void writeObjectRef​(java.lang.Object id)
                            throws java.io.IOException
        Overrides:
        writeObjectRef in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • writeObjectId

        public void writeObjectId​(java.lang.Object id)
                           throws java.io.IOException
        Overrides:
        writeObjectId in class com.fasterxml.jackson.core.JsonGenerator
        Throws:
        java.io.IOException
      • _verifyValueWrite

        protected final void _verifyValueWrite​(java.lang.String typeMsg)
                                        throws java.io.IOException
        Specified by:
        _verifyValueWrite in class com.fasterxml.jackson.core.base.GeneratorBase
        Throws:
        java.io.IOException
      • _releaseBuffers

        protected void _releaseBuffers()
        Specified by:
        _releaseBuffers in class com.fasterxml.jackson.core.base.GeneratorBase
      • _writeScalar

        protected void _writeScalar​(java.lang.String value,
                                    java.lang.String type,
                                    java.lang.Character style)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • _writeScalarBinary

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

        protected org.yaml.snakeyaml.events.ScalarEvent _scalarEvent​(java.lang.String value,
                                                                     java.lang.Character style)