Class TokenFilter

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  TokenFilter.Inclusion
      Enumeration that controls how TokenFilter return values are interpreted.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static TokenFilter INCLUDE_ALL
      Marker value that should be used to indicate inclusion of a structured value (sub-tree representing Object or Array), or value of a named property (regardless of type).
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void filterFinishArray()
      Method called to indicate that output of non-filtered Array (one that may have been included either completely, or in part) is completed, in cases where filter other that INCLUDE_ALL was returned.
      void filterFinishObject()
      Method called to indicate that output of non-filtered Object (one that may have been included either completely, or in part) is completed, in cases where filter other that INCLUDE_ALL was returned.
      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.
      boolean includeBinary()
      Call made to verify whether leaf-level Binary value should be included in output or not.
      boolean includeBoolean​(boolean value)
      Call made to verify whether leaf-level boolean value should be included in output or not.
      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.
      boolean includeEmbeddedValue​(Object ob)
      Call made to verify whether leaf-level embedded (Opaque) value should be included in output or not.
      boolean includeNull()
      Call made to verify whether leaf-level null value should be included in output or not.
      boolean includeNumber​(double v)
      Call made to verify whether leaf-level double value should be included in output or not.
      boolean includeNumber​(float v)
      Call made to verify whether leaf-level float value should be included in output or not.
      boolean includeNumber​(int v)
      Call made to verify whether leaf-level int value should be included in output or not.
      boolean includeNumber​(long v)
      Call made to verify whether leaf-level long value should be included in output or not.
      boolean includeNumber​(BigDecimal v)
      Call made to verify whether leaf-level BigDecimal value should be included in output or not.
      boolean includeNumber​(BigInteger v)
      Call made to verify whether leaf-level BigInteger value should be included in output or not.
      TokenFilter includeProperty​(String name)
      Method called to check whether property value with specified name, at current output location, should be included in output.
      boolean includeRawValue()
      Call made to verify whether leaf-level raw (pre-encoded, not quoted by generator) value should be included in output or not.
      TokenFilter includeRootValue​(int index)
      Method called to check whether root-level value, at current output location, should be included in output.
      boolean includeString​(Reader r, int maxLen)
      Call made to verify whether leaf-level "streaming" String value should be included in output or not.
      boolean includeString​(String value)
      Call made to verify whether leaf-level String value should be included in output or not.
      boolean includeValue​(JsonParser p)
      Call made when verifying whether a scaler value is being read from a parser.
      String toString()  
    • Field Detail

      • INCLUDE_ALL

        public static final TokenFilter INCLUDE_ALL
        Marker value that should be used to indicate inclusion of a structured value (sub-tree representing Object or Array), or value of a named property (regardless of type). Note that if this instance is returned, it will used as a marker, and no actual callbacks need to be made. For this reason, it is more efficient to return this instance if the whole sub-tree is to be included, instead of implementing similar filter functionality explicitly.
    • Method Detail

      • filterStartObject

        public TokenFilter filterStartObject()
        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
        • 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. 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.

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

        public TokenFilter filterStartArray()
        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
        • 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. 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.

        Returns:
        TokenFilter to use for further calls within Array, unless return value is null or INCLUDE_ALL (which have simpler semantics)
      • filterFinishObject

        public void filterFinishObject()
        Method called to indicate that output of non-filtered Object (one that may have been included either completely, or in part) is completed, in cases where filter other that INCLUDE_ALL was returned. This occurs when JsonGenerator.writeEndObject() is called.
      • filterFinishArray

        public void filterFinishArray()
        Method called to indicate that output of non-filtered Array (one that may have been included either completely, or in part) is completed, in cases where filter other that INCLUDE_ALL was returned. This occurs when JsonGenerator.writeEndArray() is called.
      • includeProperty

        public TokenFilter includeProperty​(String name)
        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
        • 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.

        Returns:
        TokenFilter to use for further calls within property value, unless return value is null or INCLUDE_ALL (which have simpler semantics)
      • includeElement

        public 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. Three kinds of return values may be used as follows:
        • null to indicate that the Array element should be skipped
        • 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.

        Returns:
        TokenFilter to use for further calls within element value, unless return value is null or INCLUDE_ALL (which have simpler semantics)
      • includeRootValue

        public TokenFilter includeRootValue​(int index)
        Method called to check whether root-level 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 root value should be skipped
        • INCLUDE_ALL to indicate that the root 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.

        Returns:
        TokenFilter to use for further calls within root value, unless return value is null or INCLUDE_ALL (which have simpler semantics)
      • includeValue

        public boolean includeValue​(JsonParser p)
                             throws IOException
        Call made when verifying whether a scaler value is being read from a parser.

        Default action is to call _includeScalar() and return whatever it indicates.

        Throws:
        IOException
      • includeBoolean

        public boolean includeBoolean​(boolean value)
        Call made to verify whether leaf-level boolean value should be included in output or not.
      • includeNull

        public boolean includeNull()
        Call made to verify whether leaf-level null value should be included in output or not.
      • includeString

        public boolean includeString​(String value)
        Call made to verify whether leaf-level String value should be included in output or not.
      • includeString

        public boolean includeString​(Reader r,
                                     int maxLen)
        Call made to verify whether leaf-level "streaming" String value should be included in output or not.

        NOTE: note that any reads from passed in Reader may lead to actual loss of content to write; typically method should not access content passed via this method.

        Since:
        2.11
      • includeNumber

        public boolean includeNumber​(int v)
        Call made to verify whether leaf-level int value should be included in output or not. NOTE: also called for `short`, `byte`
      • includeNumber

        public boolean includeNumber​(long v)
        Call made to verify whether leaf-level long value should be included in output or not.
      • includeNumber

        public boolean includeNumber​(float v)
        Call made to verify whether leaf-level float value should be included in output or not.
      • includeNumber

        public boolean includeNumber​(double v)
        Call made to verify whether leaf-level double value should be included in output or not.
      • includeNumber

        public boolean includeNumber​(BigDecimal v)
        Call made to verify whether leaf-level BigDecimal value should be included in output or not.
      • includeNumber

        public boolean includeNumber​(BigInteger v)
        Call made to verify whether leaf-level BigInteger value should be included in output or not.
      • includeBinary

        public boolean includeBinary()
        Call made to verify whether leaf-level Binary value should be included in output or not.

        NOTE: no binary payload passed; assumption is this won't be of much use.

      • includeRawValue

        public boolean includeRawValue()
        Call made to verify whether leaf-level raw (pre-encoded, not quoted by generator) value should be included in output or not.

        NOTE: value itself not passed since it may come on multiple forms and is unlikely to be of much use in determining inclusion criteria.

      • includeEmbeddedValue

        public boolean includeEmbeddedValue​(Object ob)
        Call made to verify whether leaf-level embedded (Opaque) value should be included in output or not.