Package com.fasterxml.jackson.core.json
Class JsonWriteContext
- java.lang.Object
-
- com.fasterxml.jackson.core.JsonStreamContext
-
- com.fasterxml.jackson.core.json.JsonWriteContext
-
public class JsonWriteContext extends JsonStreamContext
Extension ofJsonStreamContext
, which implements core methods needed, and also exposes more complete API to generator implementation classes.
-
-
Field Summary
Fields Modifier and Type Field Description static int
STATUS_EXPECT_NAME
static int
STATUS_EXPECT_VALUE
static int
STATUS_OK_AFTER_COLON
static int
STATUS_OK_AFTER_COMMA
static int
STATUS_OK_AFTER_SPACE
static int
STATUS_OK_AS_IS
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description JsonWriteContext
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).JsonWriteContext
createChildArrayContext()
JsonWriteContext
createChildArrayContext(Object currValue)
JsonWriteContext
createChildObjectContext()
JsonWriteContext
createChildObjectContext(Object currValue)
static JsonWriteContext
createRootContext()
Deprecated.Since 2.3; use method that takes argumentstatic JsonWriteContext
createRootContext(DupDetector dd)
String
getCurrentName()
Method for accessing name associated with the current location.Object
getCurrentValue()
Method for accessing currently active value being used by data-binding (as the source of streaming data to write, or destination of data being read), at this level in hierarchy.DupDetector
getDupDetector()
JsonWriteContext
getParent()
Accessor for finding parent context of this context; will return null for root context.boolean
hasCurrentName()
void
setCurrentValue(Object v)
Method to call to pass value to be returned viaJsonStreamContext.getCurrentValue()
; typically called indirectly throughJsonParser.setCurrentValue(java.lang.Object)
orJsonGenerator.setCurrentValue(java.lang.Object)
).JsonWriteContext
withDupDetector(DupDetector dups)
int
writeFieldName(String name)
Method that writer is to call before it writes a field name.int
writeValue()
-
Methods inherited from class com.fasterxml.jackson.core.JsonStreamContext
getCurrentIndex, getEntryCount, getStartLocation, getTypeDesc, hasCurrentIndex, hasPathSegment, inArray, inObject, inRoot, pathAsPointer, pathAsPointer, toString, typeDesc
-
-
-
-
Field Detail
-
STATUS_OK_AS_IS
public static final int STATUS_OK_AS_IS
- See Also:
- Constant Field Values
-
STATUS_OK_AFTER_COMMA
public static final int STATUS_OK_AFTER_COMMA
- See Also:
- Constant Field Values
-
STATUS_OK_AFTER_COLON
public static final int STATUS_OK_AFTER_COLON
- See Also:
- Constant Field Values
-
STATUS_OK_AFTER_SPACE
public static final int STATUS_OK_AFTER_SPACE
- See Also:
- Constant Field Values
-
STATUS_EXPECT_VALUE
public static final int STATUS_EXPECT_VALUE
- See Also:
- Constant Field Values
-
STATUS_EXPECT_NAME
public static final int STATUS_EXPECT_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
withDupDetector
public JsonWriteContext withDupDetector(DupDetector dups)
-
getCurrentValue
public Object getCurrentValue()
Description copied from class:JsonStreamContext
Method for accessing currently active value being used by data-binding (as the source of streaming data to write, or destination of data being read), at this level in hierarchy.Note that "current value" is NOT populated (or used) by Streaming parser or generator; it is only used by higher-level data-binding functionality. The reason it is included here is that it can be stored and accessed hierarchically, and gets passed through data-binding.
- Overrides:
getCurrentValue
in classJsonStreamContext
- Returns:
- Currently active value, if one has been assigned.
-
setCurrentValue
public void setCurrentValue(Object v)
Description copied from class:JsonStreamContext
Method to call to pass value to be returned viaJsonStreamContext.getCurrentValue()
; typically called indirectly throughJsonParser.setCurrentValue(java.lang.Object)
orJsonGenerator.setCurrentValue(java.lang.Object)
).- Overrides:
setCurrentValue
in classJsonStreamContext
-
createRootContext
@Deprecated public static JsonWriteContext createRootContext()
Deprecated.Since 2.3; use method that takes argument
-
createRootContext
public static JsonWriteContext createRootContext(DupDetector dd)
-
createChildArrayContext
public JsonWriteContext createChildArrayContext()
-
createChildArrayContext
public JsonWriteContext createChildArrayContext(Object currValue)
-
createChildObjectContext
public JsonWriteContext createChildObjectContext()
-
createChildObjectContext
public JsonWriteContext createChildObjectContext(Object currValue)
-
getParent
public final JsonWriteContext getParent()
Description copied from class:JsonStreamContext
Accessor for finding parent context of this context; will return null for root context.- Specified by:
getParent
in classJsonStreamContext
-
getCurrentName
public final String getCurrentName()
Description copied from class:JsonStreamContext
Method for accessing name associated with the current location. Non-null forFIELD_NAME
and value events that directly follow field names; null for root level and array values.- Specified by:
getCurrentName
in classJsonStreamContext
-
hasCurrentName
public boolean hasCurrentName()
- Overrides:
hasCurrentName
in classJsonStreamContext
-
clearAndGetParent
public JsonWriteContext 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
.- Since:
- 2.7
-
getDupDetector
public DupDetector getDupDetector()
-
writeFieldName
public int writeFieldName(String name) throws JsonProcessingException
Method that writer is to call before it writes a field name.- Returns:
- Index of the field entry (0-based)
- Throws:
JsonProcessingException
-
writeValue
public int writeValue()
-
-