Class CBORWriteContext
java.lang.Object
com.fasterxml.jackson.core.JsonStreamContext
com.fasterxml.jackson.dataformat.cbor.CBORWriteContext
public final class CBORWriteContext
extends com.fasterxml.jackson.core.JsonStreamContext
Replacement for
JsonWriteContext, needed to support alternative
numeric field id for Integer-valued Maps that CBOR allows.- Since:
- 2.10
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CBORWriteContextprotected longAlternative to_currentNameused for integer/long-valued Maps.protected StringName of the field of which value is to be written; only used for OBJECT contextsprotected Objectprotected com.fasterxml.jackson.core.json.DupDetectorprotected booleanMarker used to indicate that we just wrote a field name (or Map name / id) and now expect a value to writeprotected final CBORWriteContextParent context for this context; null for root context.Fields inherited from class com.fasterxml.jackson.core.JsonStreamContext
_index, _nestingDepth, _type, TYPE_ARRAY, TYPE_OBJECT, TYPE_ROOT -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCBORWriteContext(int type, CBORWriteContext parent, com.fasterxml.jackson.core.json.DupDetector dups, Object currentValue) -
Method Summary
Modifier and TypeMethodDescriptionprivate final voidMethod that can be used to both clear the accumulated references (specifically value set withsetCurrentValue(Object)) that should not be retained, and returns parent (as wouldgetParent()do).createChildArrayContext(Object currentValue) createChildObjectContext(Object currentValue) static CBORWriteContextcreateRootContext(com.fasterxml.jackson.core.json.DupDetector dd) final Stringcom.fasterxml.jackson.core.json.DupDetectorfinal CBORWriteContextbooleanprivate CBORWriteContextvoidwithDupDetector(com.fasterxml.jackson.core.json.DupDetector dups) booleanwriteFieldId(long fieldId) booleanwriteFieldName(String name) Method that writer is to call before it writes a field name.booleanMethods inherited from class com.fasterxml.jackson.core.JsonStreamContext
getCurrentIndex, getEntryCount, getNestingDepth, getStartLocation, getTypeDesc, hasCurrentIndex, hasPathSegment, inArray, inObject, inRoot, pathAsPointer, pathAsPointer, startLocation, toString, typeDesc
-
Field Details
-
_parent
Parent context for this context; null for root context. -
_dups
protected com.fasterxml.jackson.core.json.DupDetector _dups -
_childToRecycle
-
_currentName
Name of the field of which value is to be written; only used for OBJECT contexts -
_currentValue
-
_currentFieldId
protected long _currentFieldIdAlternative to_currentNameused for integer/long-valued Maps. -
_gotFieldId
protected boolean _gotFieldIdMarker used to indicate that we just wrote a field name (or Map name / id) and now expect a value to write
-
-
Constructor Details
-
CBORWriteContext
protected CBORWriteContext(int type, CBORWriteContext parent, com.fasterxml.jackson.core.json.DupDetector dups, Object currentValue)
-
-
Method Details
-
reset
-
withDupDetector
-
getCurrentValue
- Overrides:
getCurrentValuein classcom.fasterxml.jackson.core.JsonStreamContext
-
setCurrentValue
- Overrides:
setCurrentValuein classcom.fasterxml.jackson.core.JsonStreamContext
-
createRootContext
-
createChildArrayContext
-
createChildObjectContext
-
getParent
- Specified by:
getParentin classcom.fasterxml.jackson.core.JsonStreamContext
-
getCurrentName
- Specified by:
getCurrentNamein classcom.fasterxml.jackson.core.JsonStreamContext
-
hasCurrentName
public boolean hasCurrentName()- Overrides:
hasCurrentNamein classcom.fasterxml.jackson.core.JsonStreamContext
-
clearAndGetParent
Method that can be used to both clear the accumulated references (specifically value set withsetCurrentValue(Object)) that should not be retained, and returns parent (as wouldgetParent()do). Typically called when closing the active context when encounteringJsonToken.END_ARRAYorJsonToken.END_OBJECT. -
getDupDetector
public com.fasterxml.jackson.core.json.DupDetector getDupDetector() -
writeFieldName
public boolean writeFieldName(String name) throws com.fasterxml.jackson.core.JsonProcessingException Method that writer is to call before it writes a field name.- Returns:
- Ok if name writing should proceed
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
-
writeFieldId
public boolean writeFieldId(long fieldId) throws com.fasterxml.jackson.core.JsonProcessingException - Throws:
com.fasterxml.jackson.core.JsonProcessingException
-
_checkDup
private final void _checkDup(com.fasterxml.jackson.core.json.DupDetector dd, String name) throws com.fasterxml.jackson.core.JsonProcessingException - Throws:
com.fasterxml.jackson.core.JsonProcessingException
-
writeValue
public boolean writeValue()
-