com.fasterxml.jackson.dataformat.yaml

## Class YAMLParser

- java.lang.Object
- - com.fasterxml.jackson.core.JsonParser
  - - com.fasterxml.jackson.core.base.ParserMinimalBase
    - - com.fasterxml.jackson.core.base.ParserBase
      - - com.fasterxml.jackson.dataformat.yaml.YAMLParser

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

    public class YAMLParser
    extends com.fasterxml.jackson.core.base.ParserBase

`JsonParser` implementation used to expose YAML documents in form that allows other Jackson functionality to process YAML content, such as binding POJOs to and from it, and building tree representations.

### Nested Class Summary

Nested Classes
`static class` `YAMLParser.Feature` Enumeration that defines all togglable features for YAML parsers.

### Nested classes/interfaces inherited from class com.fasterxml.jackson.core.JsonParser

`com.fasterxml.jackson.core.JsonParser.NumberType`

### Field Summary

Fields
`protected boolean` `_cfgEmptyStringsToNull`
`protected String` `_cleanedTextValue` For some tokens (specifically, numbers), we'll have cleaned up version, mostly free of underscores
`protected String` `_currentAnchor` Anchor for the value that parser currently points to: in case of structured types, value whose first token current token is.
`protected String` `_currentFieldName` Let's also have a local copy of the current field name
`protected boolean` `_currentIsAlias` Flag that is set when current token was derived from an Alias (reference to another value's anchor)
`protected int` `_formatFeatures`
`protected org.yaml.snakeyaml.events.Event` `_lastEvent` Keep track of the last event read, to get access to Location info
`protected org.yaml.snakeyaml.events.Event` `_lastTagEvent` To keep track of tags ("type ids"), need to either get tags for all events, or, keep tag of relevant event that might have it: this is different from `_lastEvent` in some cases.
`protected com.fasterxml.jackson.core.ObjectCodec` `_objectCodec` Codec used for data binding when (if) requested.
`protected Reader` `_reader` Need to keep track of underlying `Reader` to be able to auto-close it (if required to)
`protected String` `_textValue` We need to keep track of text values.
`protected org.yaml.snakeyaml.parser.ParserImpl` `_yamlParser`
`protected org.yaml.snakeyaml.resolver.Resolver` `_yamlResolver`

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

`_binaryValue, _byteArrayBuilder, _closed, _currInputProcessed, _currInputRow, _currInputRowStart, _expLength, _fractLength, _inputEnd, _inputPtr, _intLength, _ioContext, _nameCopied, _nameCopyBuffer, _nextToken, _numberBigDecimal, _numberBigInt, _numberDouble, _numberInt, _numberLong, _numberNegative, _numTypesValid, _parsingContext, _textBuffer, _tokenInputCol, _tokenInputRow, _tokenInputTotal, JSON_READ_CAPABILITIES`

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

`_currToken, _lastClearedToken, BD_MAX_INT, BD_MAX_LONG, BD_MIN_INT, BD_MIN_LONG, BI_MAX_INT, BI_MAX_LONG, BI_MIN_INT, BI_MIN_LONG, CHAR_NULL, INT_0, INT_9, INT_APOS, INT_ASTERISK, INT_BACKSLASH, INT_COLON, INT_COMMA, INT_CR, INT_e, INT_E, INT_HASH, INT_LBRACKET, INT_LCURLY, INT_LF, INT_MINUS, INT_PERIOD, INT_PLUS, INT_QUOTE, INT_RBRACKET, INT_RCURLY, INT_SLASH, INT_SPACE, INT_TAB, MAX_ERROR_TOKEN_LENGTH, MAX_INT_D, MAX_INT_L, MAX_LONG_D, MIN_INT_D, MIN_INT_L, MIN_LONG_D, NO_BYTES, NO_INTS, NR_BIGDECIMAL, NR_BIGINT, NR_DOUBLE, NR_FLOAT, NR_INT, NR_LONG, NR_UNKNOWN`

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

`_features, _requestPayload, DEFAULT_READ_CAPABILITIES`

### Constructor Summary

Constructors
Constructor and Description
`YAMLParser(com.fasterxml.jackson.core.io.IOContext ctxt, com.fasterxml.jackson.core.util.BufferRecycler br, int parserFeatures, int formatFeatures, com.fasterxml.jackson.core.ObjectCodec codec, Reader reader)`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`protected void` `_closeInput()`
`protected com.fasterxml.jackson.core.JsonToken` `_decodeNumberIntBinary(String value, int i, int origLen, boolean negative)`
`protected com.fasterxml.jackson.core.JsonToken` `_decodeNumberIntHex(String value, int i, int origLen, boolean negative)`
`protected com.fasterxml.jackson.core.JsonToken` `_decodeNumberIntOctal(String value, int i, int origLen, boolean negative)`
`protected com.fasterxml.jackson.core.JsonToken` `_decodeNumberScalar(String value, int len)`
`protected com.fasterxml.jackson.core.JsonToken` `_decodeScalar(org.yaml.snakeyaml.events.ScalarEvent scalar)`
`protected com.fasterxml.jackson.core.JsonLocation` `_locationFor(org.yaml.snakeyaml.error.Mark m)`
`protected Boolean` `_matchYAMLBoolean(String value, int len)`
`protected int` `_parseIntValue()`
`protected void` `_parseNumericValue(int expType)`
`boolean` `canReadObjectId()`
`boolean` `canReadTypeId()`
`com.fasterxml.jackson.core.JsonParser` `configure(YAMLParser.Feature f, boolean state)` Method for enabling or disabling specified CSV feature (check `YAMLParser.Feature` for list of features)
`com.fasterxml.jackson.core.JsonParser` `disable(YAMLParser.Feature f)` Method for disabling specified CSV feature (check `YAMLParser.Feature` for list of features)
`com.fasterxml.jackson.core.JsonParser` `enable(YAMLParser.Feature f)` Method for enabling specified CSV feature (check `YAMLParser.Feature` for list of features)
`com.fasterxml.jackson.core.ObjectCodec` `getCodec()`
`String` `getCurrentAnchor()` Deprecated. Since 2.3 (was added in 2.1) -- use `getObjectId()` instead
`com.fasterxml.jackson.core.JsonLocation` `getCurrentLocation()`
`String` `getCurrentName()`
`Object` `getEmbeddedObject()`
`int` `getFormatFeatures()`
`String` `getObjectId()`
`com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamReadCapability>` `getReadCapabilities()`
`String` `getText()`
`int` `getText(Writer writer)`
`char[]` `getTextCharacters()`
`int` `getTextLength()`
`int` `getTextOffset()`
`com.fasterxml.jackson.core.JsonLocation` `getTokenLocation()`
`String` `getTypeId()`
`boolean` `hasTextCharacters()`
`boolean` `isCurrentAlias()` Method that can be used to check whether current token was created from YAML Alias token (reference to an anchor).
`boolean` `isEnabled(YAMLParser.Feature f)` Method for checking whether specified CSV `YAMLParser.Feature` is enabled.
`com.fasterxml.jackson.core.JsonToken` `nextToken()`
`com.fasterxml.jackson.core.JsonParser` `overrideFormatFeatures(int values, int mask)`
`int` `readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant, OutputStream out)`
`boolean` `requiresCustomCodec()`
`void` `setCodec(com.fasterxml.jackson.core.ObjectCodec c)`
`com.fasterxml.jackson.core.Version` `version()`

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

`_checkStdFeatureChanges, _decodeBase64Escape, _decodeBase64Escape, _decodeEscaped, _eofAsNextChar, _finishString, _getByteArrayBuilder, _getSourceReference, _handleBase64MissingPadding, _handleEOF, _handleUnrecognizedCharacterEscape, _releaseBuffers, _reportMismatchedEndMarker, _reportTooLongIntegral, _throwUnquotedSpace, _validJsonTokenList, _validJsonValueList, close, convertNumberToBigDecimal, convertNumberToBigInteger, convertNumberToDouble, convertNumberToInt, convertNumberToLong, disable, enable, getBigIntegerValue, getBinaryValue, getCurrentValue, getDecimalValue, getDoubleValue, getFloatValue, getIntValue, getLongValue, getNumberType, getNumberValue, getNumberValueExact, getParsingContext, getTokenCharacterOffset, getTokenColumnNr, getTokenLineNr, growArrayBy, isClosed, isNaN, loadMore, loadMoreGuaranteed, overrideCurrentName, overrideStdFeatures, reportInvalidBase64Char, reportInvalidBase64Char, reset, resetAsNaN, resetFloat, resetInt, setCurrentValue, setFeatureMask`

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

`_ascii, _asciiBytes, _constructError, _decodeBase64, _getCharDesc, _hasTextualNull, _longIntegerDesc, _longNumberDesc, _reportError, _reportError, _reportError, _reportInputCoercion, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOFInValue, _reportInvalidEOFInValue, _reportMissingRootWS, _reportUnexpectedChar, _throwInternal, _throwInvalidSpace, _wrapError, clearCurrentToken, currentToken, currentTokenId, getCurrentToken, getCurrentTokenId, getLastClearedToken, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsLong, getValueAsString, getValueAsString, hasCurrentToken, hasToken, hasTokenId, isExpectedNumberIntToken, isExpectedStartArrayToken, isExpectedStartObjectToken, nextValue, reportInvalidNumber, reportOverflowInt, reportOverflowInt, reportOverflowInt, reportOverflowLong, reportOverflowLong, reportOverflowLong, reportUnexpectedNumberChar, skipChildren`

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

`_codec, _constructError, _reportUnsupportedOperation, canParseAsync, canUseSchema, configure, currentName, finishToken, getBinaryValue, getBooleanValue, getByteValue, getFeatureMask, getInputSource, getNonBlockingInputFeeder, getSchema, getShortValue, getValueAsBoolean, getValueAsDouble, isEnabled, isEnabled, nextBooleanValue, nextFieldName, nextFieldName, nextIntValue, nextLongValue, nextTextValue, readBinaryValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, releaseBuffered, setRequestPayloadOnError, setRequestPayloadOnError, setRequestPayloadOnError, setSchema`

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

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

### Field Detail

#### _objectCodec

    protected com.fasterxml.jackson.core.ObjectCodec _objectCodec

Codec used for data binding when (if) requested.

#### _formatFeatures

    protected int _formatFeatures

#### _cfgEmptyStringsToNull

    protected boolean _cfgEmptyStringsToNull

#### _reader

    protected final Reader _reader

Need to keep track of underlying `Reader` to be able to auto-close it (if required to)

#### _yamlParser

    protected final org.yaml.snakeyaml.parser.ParserImpl _yamlParser

#### _yamlResolver

    protected final org.yaml.snakeyaml.resolver.Resolver _yamlResolver

#### _lastEvent

    protected org.yaml.snakeyaml.events.Event _lastEvent

Keep track of the last event read, to get access to Location info

#### _lastTagEvent

    protected org.yaml.snakeyaml.events.Event _lastTagEvent

To keep track of tags ("type ids"), need to either get tags for all events, or, keep tag of relevant event that might have it: this is different from `_lastEvent` in some cases.

Since:
  2.12

#### _textValue

    protected String _textValue

We need to keep track of text values.

#### _cleanedTextValue

    protected String _cleanedTextValue

For some tokens (specifically, numbers), we'll have cleaned up version, mostly free of underscores

#### _currentFieldName

    protected String _currentFieldName

Let's also have a local copy of the current field name

#### _currentIsAlias

    protected boolean _currentIsAlias

Flag that is set when current token was derived from an Alias (reference to another value's anchor)

Since:
  2.1

#### _currentAnchor

    protected String _currentAnchor

Anchor for the value that parser currently points to: in case of structured types, value whose first token current token is.

### Constructor Detail

#### YAMLParser

    public YAMLParser(com.fasterxml.jackson.core.io.IOContext ctxt,
                      com.fasterxml.jackson.core.util.BufferRecycler br,
                      int parserFeatures,
                      int formatFeatures,
                      com.fasterxml.jackson.core.ObjectCodec codec,
                      Reader reader)

### Method Detail

#### getCodec

    public com.fasterxml.jackson.core.ObjectCodec getCodec()

Specified by:
  `getCodec` in class `com.fasterxml.jackson.core.JsonParser`

#### setCodec

    public void setCodec(com.fasterxml.jackson.core.ObjectCodec c)

Specified by:
  `setCodec` in class `com.fasterxml.jackson.core.JsonParser`

#### isCurrentAlias

    public boolean isCurrentAlias()

Method that can be used to check whether current token was created from YAML Alias token (reference to an anchor).

Since:
  2.1

#### getCurrentAnchor

    @Deprecated
    public String getCurrentAnchor()

Deprecated. Since 2.3 (was added in 2.1) -- use `getObjectId()` instead
Method that can be used to check if the current token has an associated anchor (id to reference via Alias)

#### 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.ParserBase`

#### requiresCustomCodec

    public boolean requiresCustomCodec()

Overrides:
  `requiresCustomCodec` in class `com.fasterxml.jackson.core.JsonParser`

#### canReadObjectId

    public boolean canReadObjectId()

Overrides:
  `canReadObjectId` in class `com.fasterxml.jackson.core.JsonParser`

#### canReadTypeId

    public boolean canReadTypeId()

Overrides:
  `canReadTypeId` in class `com.fasterxml.jackson.core.JsonParser`

#### getReadCapabilities

    public com.fasterxml.jackson.core.util.JacksonFeatureSet<com.fasterxml.jackson.core.StreamReadCapability> getReadCapabilities()

Overrides:
  `getReadCapabilities` in class `com.fasterxml.jackson.core.JsonParser`

#### _closeInput

    protected void _closeInput()
                        throws IOException

Specified by:
  `_closeInput` in class `com.fasterxml.jackson.core.base.ParserBase`
Throws:
  `IOException`

#### getFormatFeatures

    public int getFormatFeatures()

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

#### overrideFormatFeatures

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

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

#### enable

    public com.fasterxml.jackson.core.JsonParser enable(YAMLParser.Feature f)

Method for enabling specified CSV feature (check `YAMLParser.Feature` for list of features)

#### disable

    public com.fasterxml.jackson.core.JsonParser disable(YAMLParser.Feature f)

Method for disabling specified CSV feature (check `YAMLParser.Feature` for list of features)

#### configure

    public com.fasterxml.jackson.core.JsonParser configure(YAMLParser.Feature f,
                                                           boolean state)

Method for enabling or disabling specified CSV feature (check `YAMLParser.Feature` for list of features)

#### isEnabled

    public boolean isEnabled(YAMLParser.Feature f)

Method for checking whether specified CSV `YAMLParser.Feature` is enabled.

#### getTokenLocation

    public com.fasterxml.jackson.core.JsonLocation getTokenLocation()

Overrides:
  `getTokenLocation` in class `com.fasterxml.jackson.core.base.ParserBase`

#### getCurrentLocation

    public com.fasterxml.jackson.core.JsonLocation getCurrentLocation()

Overrides:
  `getCurrentLocation` in class `com.fasterxml.jackson.core.base.ParserBase`

#### _locationFor

    protected com.fasterxml.jackson.core.JsonLocation _locationFor(org.yaml.snakeyaml.error.Mark m)

#### nextToken

    public com.fasterxml.jackson.core.JsonToken nextToken()
                                                   throws IOException

Specified by:
  `nextToken` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
Throws:
  `IOException`

#### _decodeScalar

    protected com.fasterxml.jackson.core.JsonToken _decodeScalar(org.yaml.snakeyaml.events.ScalarEvent scalar)
                                                          throws IOException

Throws:
  `IOException`

#### _matchYAMLBoolean

    protected Boolean _matchYAMLBoolean(String value,
                                        int len)

#### _decodeNumberScalar

    protected com.fasterxml.jackson.core.JsonToken _decodeNumberScalar(String value,
                                                                       int len)

#### _decodeNumberIntBinary

    protected com.fasterxml.jackson.core.JsonToken _decodeNumberIntBinary(String value,
                                                                          int i,
                                                                          int origLen,
                                                                          boolean negative)

#### _decodeNumberIntOctal

    protected com.fasterxml.jackson.core.JsonToken _decodeNumberIntOctal(String value,
                                                                         int i,
                                                                         int origLen,
                                                                         boolean negative)

#### _decodeNumberIntHex

    protected com.fasterxml.jackson.core.JsonToken _decodeNumberIntHex(String value,
                                                                       int i,
                                                                       int origLen,
                                                                       boolean negative)

#### hasTextCharacters

    public boolean hasTextCharacters()

Overrides:
  `hasTextCharacters` in class `com.fasterxml.jackson.core.base.ParserBase`

#### getText

    public String getText()
                   throws IOException

Specified by:
  `getText` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
Throws:
  `IOException`

#### getCurrentName

    public String getCurrentName()
                          throws IOException

Overrides:
  `getCurrentName` in class `com.fasterxml.jackson.core.base.ParserBase`
Throws:
  `IOException`

#### getTextCharacters

    public char[] getTextCharacters()
                             throws IOException

Specified by:
  `getTextCharacters` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
Throws:
  `IOException`

#### getTextLength

    public int getTextLength()
                      throws IOException

Specified by:
  `getTextLength` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
Throws:
  `IOException`

#### getTextOffset

    public int getTextOffset()
                      throws IOException

Specified by:
  `getTextOffset` in class `com.fasterxml.jackson.core.base.ParserMinimalBase`
Throws:
  `IOException`

#### getText

    public int getText(Writer writer)
                throws IOException

Overrides:
  `getText` in class `com.fasterxml.jackson.core.JsonParser`
Throws:
  `IOException`

#### getEmbeddedObject

    public Object getEmbeddedObject()
                             throws IOException

Overrides:
  `getEmbeddedObject` in class `com.fasterxml.jackson.core.JsonParser`
Throws:
  `IOException`

#### readBinaryValue

    public int readBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant,
                               OutputStream out)
                        throws IOException

Overrides:
  `readBinaryValue` in class `com.fasterxml.jackson.core.JsonParser`
Throws:
  `IOException`

#### _parseNumericValue

    protected void _parseNumericValue(int expType)
                               throws IOException

Overrides:
  `_parseNumericValue` in class `com.fasterxml.jackson.core.base.ParserBase`
Throws:
  `IOException`

#### _parseIntValue

    protected int _parseIntValue()
                          throws IOException

Overrides:
  `_parseIntValue` in class `com.fasterxml.jackson.core.base.ParserBase`
Throws:
  `IOException`

#### getObjectId

    public String getObjectId()
                       throws IOException

Overrides:
  `getObjectId` in class `com.fasterxml.jackson.core.JsonParser`
Throws:
  `IOException`

#### getTypeId

    public String getTypeId()
                     throws IOException

Overrides:
  `getTypeId` in class `com.fasterxml.jackson.core.JsonParser`
Throws:
  `IOException`