JsonPointerBasedFilter
Date: 2016-12-03

com.fasterxml.jackson.core.filter

## Class JsonPointerBasedFilter

- java.lang.Object
- - com.fasterxml.jackson.core.filter.TokenFilter
  - - com.fasterxml.jackson.core.filter.JsonPointerBasedFilter

-     public class JsonPointerBasedFilter
      extends TokenFilter

  Simple `TokenFilter` implementation that takes a single `JsonPointer` and matches a single value accordingly. Instances are immutable and fully thread-safe, shareable, and efficient to use.
  Since:
    2.6

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected JsonPointer` | `_pathToMatch`

    - ### Fields inherited from class com.fasterxml.jackson.core.filter.TokenFilter

      `INCLUDE_ALL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JsonPointerBasedFilter(JsonPointer match)`
    `JsonPointerBasedFilter(java.lang.String ptrExpr)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `_includeScalar()` Overridable default implementation delegated to all scalar value inclusion check methods.
    `TokenFilter` | `filterStartArray()` Method called to check whether Array value at current output location should be included in output.
    `TokenFilter` | `filterStartObject()` Method called to check whether Object value at current output location should be included in output.
    `TokenFilter` | `includeElement(int index)` Method called to check whether array element with specified index (zero-based), at current output location, should be included in output.
    `TokenFilter` | `includeProperty(java.lang.String name)` Method called to check whether property value with specified name, at current output location, should be included in output.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class com.fasterxml.jackson.core.filter.TokenFilter

      `filterFinishArray, filterFinishObject, includeBinary, includeBoolean, includeEmbeddedValue, includeNull, includeNumber, includeNumber, includeNumber, includeNumber, includeNumber, includeNumber, includeRawValue, includeRootValue, includeString, includeValue`

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

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

- - ### Field Detail

    - #### _pathToMatch

          protected final JsonPointer _pathToMatch

  - ### Constructor Detail

    - #### JsonPointerBasedFilter

          public JsonPointerBasedFilter(java.lang.String ptrExpr)

    - #### JsonPointerBasedFilter

          public JsonPointerBasedFilter(JsonPointer match)

  - ### Method Detail

    - #### includeElement

          public TokenFilter includeElement(int index)

      Description copied from class: `TokenFilter`
      Method called to check whether array element with specified index (zero-based), at current output location, should be included in output. Three kinds of return values may be used as follows:
      - `null` to indicate that the Array element should be skipped
      - `TokenFilter.INCLUDE_ALL` to indicate that the Array element should be included completely in output
      - Any other `TokenFilter` implementation (possibly this one) to mean that further inclusion calls on returned filter object need to be made as necessary, to determine inclusion.

      The default implementation simply returns `this` to continue calling methods on this filter object, without full inclusion or exclusion.

      Overrides:
        `includeElement` in class `TokenFilter`
      Returns:
        TokenFilter to use for further calls within element value, unless return value is `null` or `TokenFilter.INCLUDE_ALL` (which have simpler semantics)

    - #### includeProperty

          public TokenFilter includeProperty(java.lang.String name)

      Description copied from class: `TokenFilter`
      Method called to check whether property value with specified name, at current output location, should be included in output. Three kinds of return values may be used as follows:
      - `null` to indicate that the property and its value should be skipped
      - `TokenFilter.INCLUDE_ALL` to indicate that the property and its value should be included completely in output
      - Any other `TokenFilter` implementation (possibly this one) to mean that further inclusion calls on returned filter object need to be made as necessary, to determine inclusion.

      The default implementation simply returns `this` to continue calling methods on this filter object, without full inclusion or exclusion.

      Overrides:
        `includeProperty` in class `TokenFilter`
      Returns:
        TokenFilter to use for further calls within property value, unless return value is `null` or `TokenFilter.INCLUDE_ALL` (which have simpler semantics)

    - #### filterStartArray

          public TokenFilter filterStartArray()

      Description copied from class: `TokenFilter`
      Method called to check whether Array value at current output location should be included in output. Three kinds of return values may be used as follows:
      - `null` to indicate that the Array should be skipped
      - `TokenFilter.INCLUDE_ALL` to indicate that the Array should be included completely in output
      - Any other `TokenFilter` implementation (possibly this one) to mean that further inclusion calls on return filter object need to be made on contained element values, as necessary. `TokenFilter.filterFinishArray()` will also be called on returned filter object

      Default implementation returns `this`, which means that checks are made recursively for elements of the array to determine possible inclusion.

      Overrides:
        `filterStartArray` in class `TokenFilter`
      Returns:
        TokenFilter to use for further calls within Array, unless return value is `null` or `TokenFilter.INCLUDE_ALL` (which have simpler semantics)

    - #### filterStartObject

          public TokenFilter filterStartObject()

      Description copied from class: `TokenFilter`
      Method called to check whether Object value at current output location should be included in output. Three kinds of return values may be used as follows:
      - `null` to indicate that the Object should be skipped
      - `TokenFilter.INCLUDE_ALL` to indicate that the Object should be included completely in output
      - Any other `TokenFilter` implementation (possibly this one) to mean that further inclusion calls on return filter object need to be made on contained properties, as necessary. `TokenFilter.filterFinishObject()` will also be called on returned filter object

      Default implementation returns `this`, which means that checks are made recursively for properties of the Object to determine possible inclusion.

      Overrides:
        `filterStartObject` in class `TokenFilter`
      Returns:
        TokenFilter to use for further calls within Array, unless return value is `null` or `TokenFilter.INCLUDE_ALL` (which have simpler semantics)

    - #### _includeScalar

          protected boolean _includeScalar()

      Description copied from class: `TokenFilter`
      Overridable default implementation delegated to all scalar value inclusion check methods. The default implementation simply includes all leaf values.
      Overrides:
        `_includeScalar` in class `TokenFilter`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `TokenFilter`