Package org.codehaus.jackson
Class JsonStreamContext
- java.lang.Object
-
- org.codehaus.jackson.JsonStreamContext
-
- Direct Known Subclasses:
JsonReadContext
,JsonWriteContext
public abstract class JsonStreamContext extends Object
Shared base class for streaming processing contexts used during reading and writing of Json content using Streaming API. This context is also exposed to applications: context object can be used by applications to get an idea of relative position of the parser/generator within json content being processed. This allows for some contextual processing: for example, output within Array context can differ from that of Object context.
-
-
Field Summary
Fields Modifier and Type Field Description protected int
_index
Index of the currently processed entry.protected int
_type
protected static int
TYPE_ARRAY
protected static int
TYPE_OBJECT
protected static int
TYPE_ROOT
-
Constructor Summary
Constructors Modifier Constructor Description protected
JsonStreamContext()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
getCurrentIndex()
abstract String
getCurrentName()
Method for accessing name associated with the current location.int
getEntryCount()
abstract JsonStreamContext
getParent()
Accessor for finding parent context of this context; will return null for root context.String
getTypeDesc()
Method for accessing simple type description of current context; either ROOT (for root-level values), OBJECT (for field names and values of JSON Objects) or ARRAY (for values of JSON Arrays)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.
-
-
-
Field Detail
-
TYPE_ROOT
protected static final int TYPE_ROOT
- See Also:
- Constant Field Values
-
TYPE_ARRAY
protected static final int TYPE_ARRAY
- See Also:
- Constant Field Values
-
TYPE_OBJECT
protected static final int TYPE_OBJECT
- See Also:
- Constant Field Values
-
_type
protected int _type
-
_index
protected int _index
Index of the currently processed entry. Starts with -1 to signal that no entries have been started, and gets advanced each time a new entry is started, either by encountering an expected separator, or with new values if no separators are expected (the case for root context).
-
-
Method Detail
-
getParent
public abstract JsonStreamContext getParent()
Accessor for finding parent context of this context; will return null for root context.
-
inArray
public final 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.
-
inRoot
public final 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.
-
inObject
public final 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.
-
getTypeDesc
public final String getTypeDesc()
Method for accessing simple type description of current context; either ROOT (for root-level values), OBJECT (for field names and values of JSON Objects) or ARRAY (for values of JSON Arrays)
-
getEntryCount
public final int getEntryCount()
- Returns:
- Number of entries that are complete and started.
-
getCurrentIndex
public final int getCurrentIndex()
- Returns:
- Index of the currently processed entry, if any
-
getCurrentName
public abstract String getCurrentName()
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.
-
-