com.fasterxml.jackson.dataformat.yaml.util

## Class StringQuotingChecker

- java.lang.Object
- - com.fasterxml.jackson.dataformat.yaml.util.StringQuotingChecker

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  StringQuotingChecker.Default

    public abstract class StringQuotingChecker
    extends Object
    implements Serializable

Helper class that defines API used by `YAMLGenerator` to check whether property names and String values need to be quoted or not. Also contains default logic implementation; may be sub-classes to provide alternate implementation.

Since:
  2.12
See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`static class` `StringQuotingChecker.Default` Default `StringQuotingChecker` implementation used unless custom implementation registered.

### Constructor Summary

Constructors
Constructor and Description
`StringQuotingChecker()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected boolean` `_isReservedKeyword(int firstChar, String name)`
`protected boolean` `_looksLikeYAMLNumber(int firstChar, String name)`
`protected boolean` `isReservedKeyword(String value)` Helper method that sub-classes may use to see if given String value is one of: YAML 1.1 keyword representing boolean YAML 1.1 keyword representing null value empty String (length 0) and returns `true` if so.
`protected boolean` `looksLikeYAMLNumber(String name)` Helper method that sub-classes may use to see if given String value looks like a YAML 1.1 numeric value and would likely be considered a number when parsing unless quoting is used.
`abstract boolean` `needToQuoteName(String name)` Method called by `YAMLGenerator` to check whether given property name should be quoted: usually to prevent it from being read as non-String key (boolean or number)
`abstract boolean` `needToQuoteValue(String value)` Method called by `YAMLGenerator` to check whether given String value should be quoted: usually to prevent it from being value of different type (boolean or number).
`protected boolean` `valueHasQuotableChar(String inputStr)` As per YAML Plain Styleunquoted strings are restricted to a reduced charset and must be quoted in case they contain one of the following characters or character combinations.

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

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

### Constructor Detail

#### StringQuotingChecker

    public StringQuotingChecker()

### Method Detail

#### needToQuoteName

    public abstract boolean needToQuoteName(String name)

Method called by `YAMLGenerator` to check whether given property name should be quoted: usually to prevent it from being read as non-String key (boolean or number)

#### needToQuoteValue

    public abstract boolean needToQuoteValue(String value)

Method called by `YAMLGenerator` to check whether given String value should be quoted: usually to prevent it from being value of different type (boolean or number).

#### isReservedKeyword

    protected boolean isReservedKeyword(String value)

Helper method that sub-classes may use to see if given String value is one of:

- YAML 1.1 keyword representing boolean
- YAML 1.1 keyword representing null value
- empty String (length 0)

and returns `true` if so.

Parameters:
  `value` - String to check
Returns:
  `true` if given value is a Boolean or Null representation (as per YAML 1.1 specification) or empty String

#### _isReservedKeyword

    protected boolean _isReservedKeyword(int firstChar,
                                         String name)

#### looksLikeYAMLNumber

    protected boolean looksLikeYAMLNumber(String name)

Helper method that sub-classes may use to see if given String value looks like a YAML 1.1 numeric value and would likely be considered a number when parsing unless quoting is used.

#### _looksLikeYAMLNumber

    protected boolean _looksLikeYAMLNumber(int firstChar,
                                           String name)

#### valueHasQuotableChar

    protected boolean valueHasQuotableChar(String inputStr)

As per YAML Plain Styleunquoted strings are restricted to a reduced charset and must be quoted in case they contain one of the following characters or character combinations.