public class JsonPointer extends Object
TreeNode.at(com.fasterxml.jackson.core.JsonPointer)
).
It may be used in future for filtering of streaming JSON content
as well (not implemented yet for 2.3).
Instances are fully immutable and can be shared, cached.
Type | Property and Description |
---|---|
boolean |
mayMatch |
Modifier and Type | Field and Description |
---|---|
protected String |
_asString
We will retain representation of the pointer, as a String,
so that
toString() should be as efficient as possible. |
protected int |
_matchingElementIndex |
protected String |
_matchingPropertyName |
protected JsonPointer |
_nextSegment
Reference to rest of the pointer beyond currently matching
segment (if any); null if this pointer refers to a matching
segment.
|
protected static JsonPointer |
EMPTY
Marker instance used to represent segment that matches current
node or position.
|
Modifier | Constructor and Description |
---|---|
protected |
JsonPointer()
Constructor used for creating "empty" instance, used to represent
state that matches current node.
|
protected |
JsonPointer(String fullString,
String segment,
JsonPointer next)
Constructor used for creating non-empty Segments
|
Modifier and Type | Method and Description |
---|---|
protected static JsonPointer |
_parseQuotedTail(String input,
int i)
Method called to parse tail of pointer path, when a potentially
escaped character has been seen.
|
protected static JsonPointer |
_parseTail(String input) |
static JsonPointer |
compile(String input)
Factory method that parses given input and construct matching pointer
instance, if it represents a valid JSON Pointer: if not, a
IllegalArgumentException is thrown. |
boolean |
equals(Object o) |
int |
getMatchingIndex() |
String |
getMatchingProperty() |
int |
hashCode() |
JsonPointer |
matchElement(int index) |
boolean |
matches() |
JsonPointer |
matchProperty(String name) |
boolean |
mayMatchElement() |
boolean |
mayMatchProperty() |
JsonPointer |
tail()
Accessor for getting a "sub-pointer", instance where current segment
has been removed and pointer includes rest of segments;
|
String |
toString() |
static JsonPointer |
valueOf(String input)
Alias for
compile(java.lang.String) ; added to make instances automatically
deserializable by Jackson databind. |
protected static final JsonPointer EMPTY
protected final JsonPointer _nextSegment
protected final String _asString
toString()
should be as efficient as possible.protected final String _matchingPropertyName
protected final int _matchingElementIndex
protected JsonPointer()
protected JsonPointer(String fullString, String segment, JsonPointer next)
public static JsonPointer compile(String input) throws IllegalArgumentException
IllegalArgumentException
is thrown.IllegalArgumentException
- Thrown if the input does not present a valid JSON Pointer
expression: currently the only such expression is one that does NOT start with
a slash ('/').public static JsonPointer valueOf(String input)
compile(java.lang.String)
; added to make instances automatically
deserializable by Jackson databind.public boolean matches()
public String getMatchingProperty()
public int getMatchingIndex()
public boolean mayMatchProperty()
public boolean mayMatchElement()
public JsonPointer matchProperty(String name)
public JsonPointer matchElement(int index)
public JsonPointer tail()
protected static JsonPointer _parseTail(String input)
protected static JsonPointer _parseQuotedTail(String input, int i)
input
- Full input for the tail being parsedi
- Offset to character after tildeCopyright © 2012-2014 FasterXML. All Rights Reserved.