public abstract class JsonStreamContext extends Object
Modifier and Type | Field and Description |
---|---|
protected int |
_index
Index of the currently processed entry.
|
protected int |
_type
Indicates logical type of context as one of
TYPE_xxx consants. |
static int |
TYPE_ARRAY
Indicator for "Array" context.
|
static int |
TYPE_OBJECT
Indicator for "Object" context.
|
static int |
TYPE_ROOT
Indicator for "Root Value" context (has not parent)
|
Modifier | Constructor and Description |
---|---|
protected |
JsonStreamContext() |
protected |
JsonStreamContext(int type,
int index) |
protected |
JsonStreamContext(JsonStreamContext base)
Copy constructor used by sub-classes for creating copies for
buffering.
|
Modifier and Type | Method and Description |
---|---|
int |
getCurrentIndex() |
abstract 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.
|
int |
getEntryCount() |
abstract JsonStreamContext |
getParent()
Accessor for finding parent context of this context; will
return null for root context.
|
JsonLocation |
getStartLocation(Object srcRef)
Optional method that may be used to access starting location of this context:
for example, in case of JSON `Object` context, offset at which `[` token was
read or written.
|
String |
getTypeDesc()
Deprecated.
Since 2.8 use
typeDesc() instead |
boolean |
hasCurrentIndex()
Method that may be called to verify whether this context has valid index:
will return `false` before the first entry of Object context or before
first element of Array context; otherwise returns `true`.
|
boolean |
hasCurrentName() |
boolean |
hasPathSegment()
Method that may be called to check if this context is either:
Object, with at least one entry written (partially or completely)
Array, with at least one entry written (partially or completely)
and if so, return `true`; otherwise return `false`.
|
boolean |
inArray()
Method that returns true if this context is an Array context;
that is, content is being read from or written to a Json Array.
|
boolean |
inObject()
Method that returns true if this context is an Object context;
that is, content is being read from or written to a Json Object.
|
boolean |
inRoot()
Method that returns true if this context is a Root context;
that is, content is being read from or written to without
enclosing array or object structure.
|
JsonPointer |
pathAsPointer()
Factory method for constructing a
JsonPointer that points to the current
location within the stream that this context is for, excluding information about
"root context" (only relevant for multi-root-value cases) |
JsonPointer |
pathAsPointer(boolean includeRoot)
Factory method for constructing a
JsonPointer that points to the current
location within the stream that this context is for, optionally including
"root value index" |
void |
setCurrentValue(Object v)
Method to call to pass value to be returned via
getCurrentValue() ; typically
called indirectly through JsonParser.setCurrentValue(java.lang.Object)
or JsonGenerator.setCurrentValue(java.lang.Object) ). |
String |
toString()
Overridden to provide developer readable "JsonPath" representation
of the context.
|
String |
typeDesc() |
public static final int TYPE_ROOT
public static final int TYPE_ARRAY
public static final int TYPE_OBJECT
protected int _type
TYPE_xxx
consants.protected int _index
protected JsonStreamContext()
protected JsonStreamContext(JsonStreamContext base)
protected JsonStreamContext(int type, int index)
public abstract JsonStreamContext getParent()
public final boolean inArray()
public final boolean inRoot()
public final boolean inObject()
@Deprecated public final String getTypeDesc()
typeDesc()
insteadpublic String typeDesc()
public final int getEntryCount()
public final int getCurrentIndex()
public boolean hasCurrentIndex()
public boolean hasPathSegment()
Method is mostly used to determine whether this context should be used for
constructing JsonPointer
public abstract String getCurrentName()
FIELD_NAME
and value events that directly
follow field names; null for root level and array values.public boolean hasCurrentName()
public Object getCurrentValue()
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.
public void setCurrentValue(Object v)
getCurrentValue()
; typically
called indirectly through JsonParser.setCurrentValue(java.lang.Object)
or JsonGenerator.setCurrentValue(java.lang.Object)
).public JsonPointer pathAsPointer()
JsonPointer
that points to the current
location within the stream that this context is for, excluding information about
"root context" (only relevant for multi-root-value cases)public JsonPointer pathAsPointer(boolean includeRoot)
JsonPointer
that points to the current
location within the stream that this context is for, optionally including
"root value index"includeRoot
- Whether root-value offset is included as the first segment or not;public JsonLocation getStartLocation(Object srcRef)
JsonLocation.NA
; this is what the default implementation does.
NOTE: demoted from JsonReadContext
in 2.9, to allow use for
"non-standard" read contexts.
Copyright © 2008–2020 FasterXML. All rights reserved.