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 forJsonWriteContext
, needed to support alternative numeric field id for Integer-valued Maps that CBOR allows.- Since:
- 2.10
-
-
Field Summary
Fields Modifier and Type Field Description protected CBORWriteContext
_childToRecycle
protected long
_currentFieldId
Alternative to_currentName
used for integer/long-valued Maps.protected java.lang.String
_currentName
Name of the field of which value is to be written; only used for OBJECT contextsprotected java.lang.Object
_currentValue
protected com.fasterxml.jackson.core.json.DupDetector
_dups
protected boolean
_gotFieldId
Marker used to indicate that we just wrote a field name (or Map name / id) and now expect a value to writeprotected CBORWriteContext
_parent
Parent context for this context; null for root context.
-
Constructor Summary
Constructors Modifier Constructor Description protected
CBORWriteContext(int type, CBORWriteContext parent, com.fasterxml.jackson.core.json.DupDetector dups, java.lang.Object currentValue)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
_checkDup(com.fasterxml.jackson.core.json.DupDetector dd, java.lang.String name)
CBORWriteContext
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).CBORWriteContext
createChildArrayContext(java.lang.Object currentValue)
CBORWriteContext
createChildObjectContext(java.lang.Object currentValue)
static CBORWriteContext
createRootContext(com.fasterxml.jackson.core.json.DupDetector dd)
java.lang.String
getCurrentName()
java.lang.Object
getCurrentValue()
com.fasterxml.jackson.core.json.DupDetector
getDupDetector()
CBORWriteContext
getParent()
boolean
hasCurrentName()
private CBORWriteContext
reset(int type, java.lang.Object currentValue)
void
setCurrentValue(java.lang.Object v)
CBORWriteContext
withDupDetector(com.fasterxml.jackson.core.json.DupDetector dups)
boolean
writeFieldId(long fieldId)
boolean
writeFieldName(java.lang.String name)
Method that writer is to call before it writes a field name.boolean
writeValue()
-
-
-
Field Detail
-
_parent
protected final CBORWriteContext _parent
Parent context for this context; null for root context.
-
_dups
protected com.fasterxml.jackson.core.json.DupDetector _dups
-
_childToRecycle
protected CBORWriteContext _childToRecycle
-
_currentName
protected java.lang.String _currentName
Name of the field of which value is to be written; only used for OBJECT contexts
-
_currentValue
protected java.lang.Object _currentValue
-
_currentFieldId
protected long _currentFieldId
Alternative to_currentName
used for integer/long-valued Maps.
-
_gotFieldId
protected boolean _gotFieldId
Marker used to indicate that we just wrote a field name (or Map name / id) and now expect a value to write
-
-
Constructor Detail
-
CBORWriteContext
protected CBORWriteContext(int type, CBORWriteContext parent, com.fasterxml.jackson.core.json.DupDetector dups, java.lang.Object currentValue)
-
-
Method Detail
-
reset
private CBORWriteContext reset(int type, java.lang.Object currentValue)
-
withDupDetector
public CBORWriteContext withDupDetector(com.fasterxml.jackson.core.json.DupDetector dups)
-
getCurrentValue
public java.lang.Object getCurrentValue()
- Overrides:
getCurrentValue
in classcom.fasterxml.jackson.core.JsonStreamContext
-
setCurrentValue
public void setCurrentValue(java.lang.Object v)
- Overrides:
setCurrentValue
in classcom.fasterxml.jackson.core.JsonStreamContext
-
createRootContext
public static CBORWriteContext createRootContext(com.fasterxml.jackson.core.json.DupDetector dd)
-
createChildArrayContext
public CBORWriteContext createChildArrayContext(java.lang.Object currentValue)
-
createChildObjectContext
public CBORWriteContext createChildObjectContext(java.lang.Object currentValue)
-
getParent
public final CBORWriteContext getParent()
- Specified by:
getParent
in classcom.fasterxml.jackson.core.JsonStreamContext
-
getCurrentName
public final java.lang.String getCurrentName()
- Specified by:
getCurrentName
in classcom.fasterxml.jackson.core.JsonStreamContext
-
hasCurrentName
public boolean hasCurrentName()
- Overrides:
hasCurrentName
in classcom.fasterxml.jackson.core.JsonStreamContext
-
clearAndGetParent
public CBORWriteContext 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_ARRAY
orJsonToken.END_OBJECT
.
-
getDupDetector
public com.fasterxml.jackson.core.json.DupDetector getDupDetector()
-
writeFieldName
public boolean writeFieldName(java.lang.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, java.lang.String name) throws com.fasterxml.jackson.core.JsonProcessingException
- Throws:
com.fasterxml.jackson.core.JsonProcessingException
-
writeValue
public boolean writeValue()
-
-