com.fasterxml.jackson.core.json
Class JsonWriteContext

java.lang.Object
  extended by com.fasterxml.jackson.core.JsonStreamContext
      extended by com.fasterxml.jackson.core.json.JsonWriteContext

public class JsonWriteContext
extends JsonStreamContext

Extension of JsonStreamContext, which implements core methods needed, and also exposes more complete API to generator implementation classes.


Field Summary
protected  JsonWriteContext _child
           
protected  String _currentName
          Name of the field of which value is to be parsed; only used for OBJECT contexts
protected  Object _currentValue
           
protected  DupDetector _dups
           
protected  boolean _gotName
          Marker used to indicate that we just received a name, and now expect a value
protected  JsonWriteContext _parent
          Parent context for this context; null for root context.
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
           
 
Fields inherited from class com.fasterxml.jackson.core.JsonStreamContext
_index, _type, TYPE_ARRAY, TYPE_OBJECT, TYPE_ROOT
 
Constructor Summary
protected JsonWriteContext(int type, JsonWriteContext parent, DupDetector dups)
           
 
Method Summary
protected  void appendDesc(StringBuilder sb)
           
 JsonWriteContext clearAndGetParent()
          Method that can be used to both clear the accumulated references (specifically value set with setCurrentValue(Object)) that should not be retained, and returns parent (as would getParent() do).
 JsonWriteContext createChildArrayContext()
           
 JsonWriteContext createChildObjectContext()
           
static JsonWriteContext createRootContext()
          Deprecated. Since 2.3; use method that takes argument
static 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.
protected  JsonWriteContext reset(int type)
           
 void setCurrentValue(Object v)
          Method to call to pass value to be returned via JsonStreamContext.getCurrentValue(); typically called indirectly through JsonParser.setCurrentValue(java.lang.Object) or JsonGenerator.setCurrentValue(java.lang.Object)).
 String toString()
          Overridden to provide developer writeable "JsonPath" representation of the context.
 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, getTypeDesc, inArray, inObject, inRoot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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

_parent

protected final JsonWriteContext _parent
Parent context for this context; null for root context.


_dups

protected DupDetector _dups

_child

protected JsonWriteContext _child

_currentName

protected String _currentName
Name of the field of which value is to be parsed; only used for OBJECT contexts


_currentValue

protected Object _currentValue
Since:
2.5

_gotName

protected boolean _gotName
Marker used to indicate that we just received a name, and now expect a value

Constructor Detail

JsonWriteContext

protected JsonWriteContext(int type,
                           JsonWriteContext parent,
                           DupDetector dups)
Method Detail

reset

protected JsonWriteContext reset(int type)

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 class JsonStreamContext
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 via JsonStreamContext.getCurrentValue(); typically called indirectly through JsonParser.setCurrentValue(java.lang.Object) or JsonGenerator.setCurrentValue(java.lang.Object)).

Overrides:
setCurrentValue in class JsonStreamContext

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()

createChildObjectContext

public JsonWriteContext createChildObjectContext()

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 class JsonStreamContext

getCurrentName

public final String getCurrentName()
Description copied from class: JsonStreamContext
Method for accessing name associated with the current location. Non-null for FIELD_NAME and value events that directly follow field names; null for root level and array values.

Specified by:
getCurrentName in class JsonStreamContext

clearAndGetParent

public JsonWriteContext clearAndGetParent()
Method that can be used to both clear the accumulated references (specifically value set with setCurrentValue(Object)) that should not be retained, and returns parent (as would getParent() do). Typically called when closing the active context when encountering JsonToken.END_ARRAY or JsonToken.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()

appendDesc

protected void appendDesc(StringBuilder sb)

toString

public String toString()
Overridden to provide developer writeable "JsonPath" representation of the context.

Overrides:
toString in class Object


Copyright © 2008-2016 FasterXML. All Rights Reserved.