JsonInclude.Value
Date: 2016-12-03

com.fasterxml.jackson.annotation

## Class JsonInclude.Value

- java.lang.Object
- - com.fasterxml.jackson.annotation.JsonInclude.Value

- All Implemented Interfaces:
    JacksonAnnotationValue<JsonInclude>, java.io.Serializable
  Enclosing class:
    JsonInclude

      public static class JsonInclude.Value
      extends java.lang.Object
      implements JacksonAnnotationValue<JsonInclude>, java.io.Serializable

  Helper class used to contain information from a single `JsonInclude` annotation.
  Since:
    2.6
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected JsonInclude.Include` | `_contentInclusion`
    `protected JsonInclude.Include` | `_valueInclusion`
    `protected static JsonInclude.Value` | `EMPTY`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `JsonInclude.Value(JsonInclude.Include vi, JsonInclude.Include ci)`
    `` | `JsonInclude.Value(JsonInclude src)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static JsonInclude.Value` | `construct(JsonInclude.Include valueIncl, JsonInclude.Include contentIncl)` Factory method to use for constructing an instance for components
    `static JsonInclude.Value` | `empty()`
    `boolean` | `equals(java.lang.Object o)`
    `static JsonInclude.Value` | `from(JsonInclude src)` Factory method to use for constructing an instance from instance of `JsonInclude`
    `JsonInclude.Include` | `getContentInclusion()`
    `JsonInclude.Include` | `getValueInclusion()`
    `int` | `hashCode()`
    `static JsonInclude.Value` | `merge(JsonInclude.Value base, JsonInclude.Value overrides)` Helper method that will try to combine values from two `JsonInclude.Value` instances, using one as base settings, and the other as overrides to use instead of base values when defined; base values are only use if override does not specify a value (matching value is null or logically missing).
    `static JsonInclude.Value` | `mergeAll(JsonInclude.Value... values)`
    `protected java.lang.Object` | `readResolve()`
    `java.lang.String` | `toString()`
    `java.lang.Class<JsonInclude>` | `valueFor()` Introspection method that may be used to find actual annotation that may be used as the source for value instance.
    `JsonInclude.Value` | `withContentInclusion(JsonInclude.Include incl)`
    `JsonInclude.Value` | `withOverrides(JsonInclude.Value overrides)` Mutant factory method that merges values of this value with given override values, so that any explicitly defined inclusion in overrides has precedence over settings of this value instance.
    `JsonInclude.Value` | `withValueInclusion(JsonInclude.Include incl)`

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

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

- - ### Field Detail

    - #### EMPTY

          protected static final JsonInclude.Value EMPTY

    - #### _valueInclusion

          protected final JsonInclude.Include _valueInclusion

    - #### _contentInclusion

          protected final JsonInclude.Include _contentInclusion

  - ### Constructor Detail

    - #### JsonInclude.Value

          public JsonInclude.Value(JsonInclude src)

    - #### JsonInclude.Value

          protected JsonInclude.Value(JsonInclude.Include vi,
                           JsonInclude.Include ci)

  - ### Method Detail

    - #### empty

          public static JsonInclude.Value empty()

    - #### merge

          public static JsonInclude.Value merge(JsonInclude.Value base,
                                JsonInclude.Value overrides)

      Helper method that will try to combine values from two `JsonInclude.Value` instances, using one as base settings, and the other as overrides to use instead of base values when defined; base values are only use if override does not specify a value (matching value is null or logically missing). Note that one or both of value instances may be `null`, directly; if both are `null`, result will also be `null`; otherwise never null.
      Since:
        2.8

    - #### mergeAll

          public static JsonInclude.Value mergeAll(JsonInclude.Value... values)

      Since:
        2.8

    - #### readResolve

          protected java.lang.Object readResolve()

    - #### withOverrides

          public JsonInclude.Value withOverrides(JsonInclude.Value overrides)

      Mutant factory method that merges values of this value with given override values, so that any explicitly defined inclusion in overrides has precedence over settings of this value instance. If no overrides exist will return `this` instance; otherwise new `JsonInclude.Value` with changed inclusion values.

    - #### construct

          public static JsonInclude.Value construct(JsonInclude.Include valueIncl,
                                    JsonInclude.Include contentIncl)

      Factory method to use for constructing an instance for components

    - #### from

          public static JsonInclude.Value from(JsonInclude src)

      Factory method to use for constructing an instance from instance of `JsonInclude`

    - #### withValueInclusion

          public JsonInclude.Value withValueInclusion(JsonInclude.Include incl)

    - #### withContentInclusion

          public JsonInclude.Value withContentInclusion(JsonInclude.Include incl)

    - #### valueFor

          public java.lang.Class<JsonInclude> valueFor()

      Description copied from interface: `JacksonAnnotationValue`
      Introspection method that may be used to find actual annotation that may be used as the source for value instance.
      Specified by:
        `valueFor` in interface `JacksonAnnotationValue<JsonInclude>`

    - #### getValueInclusion

          public JsonInclude.Include getValueInclusion()

    - #### getContentInclusion

          public JsonInclude.Include getContentInclusion()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`