Package io.vertx.reactivex.core.json.pointer

## Class JsonPointer

- java.lang.Object
- - io.vertx.reactivex.core.json.pointer.JsonPointer

-     public class JsonPointer
      extends Object

  Implementation of RFC6901 Json Pointers.

  NOTE: This class has been automatically generated from the `original` non RX-ified interface using Vert.x codegen.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static io.vertx.lang.rx.TypeArg<JsonPointer>` | `__TYPE_ARG` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JsonPointer​(JsonPointer delegate)` |
    `JsonPointer​(Object delegate)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `JsonPointer` | `append​(int index)` | Append the `index` as reference token to JsonPointer
    `JsonPointer` | `append​(JsonPointer pointer)` | Append all tokens of `pointer` to this pointer Note: The base URI of this pointer will remain untouched
    `JsonPointer` | `append​(String token)` | Append an unescaped `token` to this pointer Note: If you provide escaped path the behaviour is undefined
    `JsonPointer` | `append​(List<String> tokens)` | Append an unescaped list of `tokens` to JsonPointer Note: If you provide escaped paths the behaviour is undefined
    `JsonPointer` | `copy()` | Copy a JsonPointer
    `static JsonPointer` | `create()` | Build an empty JsonPointer
    `boolean` | `equals​(Object o)` |
    `static JsonPointer` | `from​(String pointer)` | Build a JsonPointer from a json pointer string
    `static JsonPointer` | `fromURI​(URI uri)` | Build a JsonPointer from a URI.
    `JsonPointer` | `getDelegate()` |
    `URI` | `getURIWithoutFragment()` | Return the underlying URI without the fragment
    `int` | `hashCode()` |
    `boolean` | `isLocalPointer()` | Return `true` if the pointer is local (URI with only fragment)
    `boolean` | `isParent​(JsonPointer child)` | Return `true` if this pointer is a parent pointer of `child`.
    `boolean` | `isRootPointer()` | Return `true` if the pointer is a root pointer
    `static JsonPointer` | `newInstance​(JsonPointer arg)` |
    `JsonPointer` | `parent()` | Remove last reference token of this pointer
    `Object` | `query​(Object objectToQuery, JsonPointerIterator iterator)` | Query `objectToQuery` using the provided `JsonPointerIterator`.
    `Object` | `queryJson​(Object jsonElement)` | Query `jsonElement`.
    `Object` | `queryJsonOrDefault​(Object jsonElement, Object defaultValue)` | Query `jsonElement`.
    `Object` | `queryOrDefault​(Object objectToQuery, JsonPointerIterator iterator, Object defaultValue)` | Query `objectToQuery` using the provided `JsonPointerIterator`.
    `String` | `toString()` | Build a string representation of the JSON Pointer
    `URI` | `toURI()` | Build a URI representation of the JSON Pointer
    `List<Object>` | `tracedQuery​(Object objectToQuery, JsonPointerIterator iterator)` | Query `objectToQuery` tracing each element walked during the query, including the first and the result (if any). The first element of the list is objectToQuery and the last is the result, or the element before the first null was encountered
    `Object` | `write​(Object objectToWrite, JsonPointerIterator iterator, Object newElement, boolean createOnMissing)` | Write `newElement` in `objectToWrite` using this pointer.
    `Object` | `writeJson​(Object jsonElement, Object newElement)` | Write `newElement` in `jsonElement` using this pointer.
    `Object` | `writeJson​(Object jsonElement, Object newElement, boolean createOnMissing)` | Write `newElement` in `jsonElement` using this pointer.

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

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

- - ### Field Detail

    - #### __TYPE_ARG

          public static final io.vertx.lang.rx.TypeArg<JsonPointer> __TYPE_ARG

  - ### Constructor Detail

    - #### JsonPointer

          public JsonPointer​(JsonPointer delegate)

    - #### JsonPointer

          public JsonPointer​(Object delegate)

  - ### Method Detail

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### getDelegate

          public JsonPointer getDelegate()

    - #### isRootPointer

          public boolean isRootPointer()

      Return `true` if the pointer is a root pointer
      Returns:

    - #### isLocalPointer

          public boolean isLocalPointer()

      Return `true` if the pointer is local (URI with only fragment)
      Returns:

    - #### isParent

          public boolean isParent​(JsonPointer child)

      Return `true` if this pointer is a parent pointer of `child`.
      For instance `"/properties"` pointer is parent pointer of `"/properties/parent"`
      Parameters:
        `child` -
      Returns:

    - #### toString

          public String toString()

      Build a string representation of the JSON Pointer
      Overrides:
        `toString` in class `Object`
      Returns:

    - #### append

          public JsonPointer append​(String token)

      Append an unescaped `token` to this pointer
      Note: If you provide escaped path the behaviour is undefined
      Parameters:
        `token` - the unescaped reference token
      Returns:
        a reference to this, so the API can be used fluently

    - #### append

          public JsonPointer append​(int index)

      Append the `index` as reference token to JsonPointer
      Parameters:
        `index` -
      Returns:
        a reference to this, so the API can be used fluently

    - #### append

          public JsonPointer append​(List<String> tokens)

      Append an unescaped list of `tokens` to JsonPointer
      Note: If you provide escaped paths the behaviour is undefined
      Parameters:
        `tokens` - unescaped reference tokens
      Returns:
        a reference to this, so the API can be used fluently

    - #### append

          public JsonPointer append​(JsonPointer pointer)

      Append all tokens of `pointer` to this pointer
      Note: The base URI of this pointer will remain untouched
      Parameters:
        `pointer` - other pointer
      Returns:
        a reference to this, so the API can be used fluently

    - #### parent

          public JsonPointer parent()

      Remove last reference token of this pointer
      Returns:
        a reference to this, so the API can be used fluently

    - #### query

          public Object query​(Object objectToQuery,
                              JsonPointerIterator iterator)

      Query `objectToQuery` using the provided `JsonPointerIterator`.
      If you need to query Vert.x json data structures, use `queryJson(java.lang.Object)`
      Note: if this pointer is a root pointer, this function returns the provided object
      Parameters:
        `objectToQuery` - the object to query
        `iterator` - the json pointer iterator that provides the logic to access to the objectToQuery
      Returns:
        null if pointer points to not existing value, otherwise the requested value

    - #### queryOrDefault

          public Object queryOrDefault​(Object objectToQuery,
                                       JsonPointerIterator iterator,
                                       Object defaultValue)

      Query `objectToQuery` using the provided `JsonPointerIterator`. If the query result is null, returns the default.
      If you need to query Vert.x json data structures, use `queryJsonOrDefault(java.lang.Object, java.lang.Object)`
      Note: if this pointer is a root pointer, this function returns the provided object
      Parameters:
        `objectToQuery` - the object to query
        `iterator` - the json pointer iterator that provides the logic to access to the objectToQuery
        `defaultValue` - default value if query result is null
      Returns:
        null if pointer points to not existing value, otherwise the requested value

    - #### queryJson

          public Object queryJson​(Object jsonElement)

      Query `jsonElement`.
      Note: if this pointer is a root pointer, this function returns the provided json element
      Parameters:
        `jsonElement` - the json element to query
      Returns:
        null if pointer points to not existing value, otherwise the requested value

    - #### queryJsonOrDefault

          public Object queryJsonOrDefault​(Object jsonElement,
                                           Object defaultValue)

      Query `jsonElement`. If the query result is null, returns the default.
      Note: if this pointer is a root pointer, this function returns the provided object
      Parameters:
        `jsonElement` - the json element to query
        `defaultValue` - default value if query result is null
      Returns:
        null if pointer points to not existing value, otherwise the requested value

    - #### tracedQuery

          public List<Object> tracedQuery​(Object objectToQuery,
                                          JsonPointerIterator iterator)

      Query `objectToQuery` tracing each element walked during the query, including the first and the result (if any).
      The first element of the list is objectToQuery and the last is the result, or the element before the first null was encountered
      Parameters:
        `objectToQuery` - the object to query
        `iterator` - the json pointer iterator that provides the logic to access to the objectToQuery
      Returns:
        the stream of walked elements

    - #### write

          public Object write​(Object objectToWrite,
                              JsonPointerIterator iterator,
                              Object newElement,
                              boolean createOnMissing)

      Write `newElement` in `objectToWrite` using this pointer. The path token "-" is handled as append to end of array
      If you need to write in Vert.x json data structures, use `writeJson(java.lang.Object, java.lang.Object)` (Object)}
      Parameters:
        `objectToWrite` - object to write
        `iterator` - the json pointer iterator that provides the logic to access to the objectToMutate
        `newElement` - object to insert
        `createOnMissing` - create objects when missing a object key or an array index
      Returns:
        a reference to objectToWrite if the write was completed, a reference to newElement if the pointer is a root pointer, null if the write failed

    - #### writeJson

          public Object writeJson​(Object jsonElement,
                                  Object newElement)

      Write `newElement` in `jsonElement` using this pointer. The path token "-" is handled as append to end of array.
      Parameters:
        `jsonElement` - json element to query and write
        `newElement` - json to insert
      Returns:
        a reference to json if the write was completed, a reference to newElement if the pointer is a root pointer, null if the write failed

    - #### writeJson

          public Object writeJson​(Object jsonElement,
                                  Object newElement,
                                  boolean createOnMissing)

      Write `newElement` in `jsonElement` using this pointer. The path token "-" is handled as append to end of array.
      Parameters:
        `jsonElement` - json to query and write
        `newElement` - json to insert
        `createOnMissing` - create JsonObject when missing a object key or an array index
      Returns:
        a reference to json if the write was completed, a reference to newElement if the pointer is a root pointer, null if the write failed

    - #### copy

          public JsonPointer copy()

      Copy a JsonPointer
      Returns:
        a copy of this pointer

    - #### create

          public static JsonPointer create()

      Build an empty JsonPointer
      Returns:
        a new empty JsonPointer

    - #### from

          public static JsonPointer from​(String pointer)

      Build a JsonPointer from a json pointer string
      Parameters:
        `pointer` - the string representing a pointer
      Returns:
        new instance of JsonPointer

    - #### toURI

          public URI toURI()

      Build a URI representation of the JSON Pointer
      Returns:

    - #### getURIWithoutFragment

          public URI getURIWithoutFragment()

      Return the underlying URI without the fragment
      Returns:

    - #### fromURI

          public static JsonPointer fromURI​(URI uri)

      Build a JsonPointer from a URI.
      Parameters:
        `uri` - uri representing a json pointer
      Returns:
        new instance of JsonPointer

    - #### newInstance

          public static JsonPointer newInstance​(JsonPointer arg)