com.fasterxml.jackson.core

## Class JsonPointer

- java.lang.Object
- - com.fasterxml.jackson.core.JsonPointer

-     public class JsonPointer
      extends Object

  Implementation of JSON Pointer specification. Pointer instances can be used to locate logical JSON nodes for things like tree traversal (see `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.

  Since:
    2.3
  Author:
    Tatu Saloranta

- - ### Property Summary

    Properties
    Type | Property and Description
    --- | ---
    `boolean` | `mayMatch`

  - ### Field Summary

    Fields
    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.

  - ### Constructor Summary

    Constructors
    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

  - ### Method Summary

    Methods
    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.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Property Detail

    - #### mayMatch

  - ### Field Detail

    - #### EMPTY

          protected static final JsonPointer EMPTY

      Marker instance used to represent segment that matches current node or position.

    - #### _nextSegment

          protected final JsonPointer _nextSegment

      Reference to rest of the pointer beyond currently matching segment (if any); null if this pointer refers to a matching segment.

    - #### _asString

          protected final String _asString

      We will retain representation of the pointer, as a String, so that `toString()` should be as efficient as possible.

    - #### _matchingPropertyName

          protected final String _matchingPropertyName

    - #### _matchingElementIndex

          protected final int _matchingElementIndex

  - ### Constructor Detail

    - #### JsonPointer

          protected JsonPointer()

      Constructor used for creating "empty" instance, used to represent state that matches current node.

    - #### JsonPointer

          protected JsonPointer(String fullString,
                     String segment,
                     JsonPointer next)

      Constructor used for creating non-empty Segments

  - ### Method Detail

    - #### compile

          public static JsonPointer compile(String input)
                                     throws IllegalArgumentException

      Factory method that parses given input and construct matching pointer instance, if it represents a valid JSON Pointer: if not, a `IllegalArgumentException` is thrown.
      Throws:
        `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 ('/').

    - #### valueOf

          public static JsonPointer valueOf(String input)

      Alias for `compile(java.lang.String)`; added to make instances automatically deserializable by Jackson databind.

    - #### matches

          public boolean matches()

    - #### getMatchingProperty

          public String getMatchingProperty()

    - #### getMatchingIndex

          public int getMatchingIndex()

    - #### mayMatchProperty

          public boolean mayMatchProperty()

    - #### mayMatchElement

          public boolean mayMatchElement()

    - #### matchProperty

          public JsonPointer matchProperty(String name)

    - #### matchElement

          public JsonPointer matchElement(int index)

    - #### tail

          public JsonPointer tail()

      Accessor for getting a "sub-pointer", instance where current segment has been removed and pointer includes rest of segments;

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object o)

      Overrides:
        `equals` in class `Object`

    - #### _parseTail

          protected static JsonPointer _parseTail(String input)

    - #### _parseQuotedTail

          protected static JsonPointer _parseQuotedTail(String input,
                                     int i)

      Method called to parse tail of pointer path, when a potentially escaped character has been seen.
      Parameters:
        `input` - Full input for the tail being parsed
        `i` - Offset to character after tilde

Copyright © 2014 FasterXML. All Rights Reserved.