ContentReference (Jackson-core 2.13.0 API)
Date: 2021-09-30

com.fasterxml.jackson.core.io

## Class ContentReference

- java.lang.Object
- - com.fasterxml.jackson.core.io.ContentReference

- All Implemented Interfaces:
    Serializable

      public class ContentReference
      extends Object
      implements Serializable

  Abstraction that encloses information about content being processed -- input source or output target, streaming or not -- for the purpose of including pertinent information in location (see `JsonLocation`) objections, most commonly to be printed out as part of `Exception` messages.
  Since:
    2.13
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `_isContentTextual` Marker flag to indicate whether included content is textual or not: this is taken to mean, by default, that a snippet of content may be displayed for exception messages.
    `protected int` | `_length` For static content, indicates length of content in the static array.
    `protected int` | `_offset` For static content, indicates offset from the beginning of static array.
    `protected Object` | `_rawContent` Reference to the actual underlying content.
    `static int` | `DEFAULT_MAX_CONTENT_SNIPPET` Include at most first 500 characters/bytes from contents; should be enough to give context, but not cause unfortunate side effects in things like logs.
    `protected static ContentReference` | `UNKNOWN_CONTENT` Constant that may be used when source/target content is not known (or not exposed).

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ContentReference(boolean isContentTextual, Object rawContent)`
    `protected` | `ContentReference(boolean isContentTextual, Object rawContent, int offset, int length)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | `_append(StringBuilder sb, String content)`
    `protected boolean` | `_appendEscaped(StringBuilder sb, int ctrlChar)`
    `protected String` | `_truncate(byte[] b, int[] offsets, int maxSnippetLen)`
    `protected String` | `_truncate(char[] cs, int[] offsets, int maxSnippetLen)`
    `protected String` | `_truncate(CharSequence cs, int[] offsets, int maxSnippetLen)`
    `protected void` | `_truncateOffsets(int[] offsets, int actualLength)`
    `StringBuilder` | `appendSourceDescription(StringBuilder sb)` Method for appending a "source description" when content represented by this reference is read.
    `String` | `buildSourceDescription()` Method for constructing a "source description" when content represented by this reference is read.
    `static ContentReference` | `construct(boolean isContentTextual, Object rawContent)`
    `static ContentReference` | `construct(boolean isContentTextual, Object rawContent, int offset, int length)`
    `int` | `contentLength()`
    `int` | `contentOffset()`
    `boolean` | `equals(Object other)`
    `Object` | `getRawContent()`
    `int` | `hashCode()`
    `boolean` | `hasTextualContent()`
    `protected int` | `maxContentSnippetLength()` Internal accessor, overridable, used for checking length (in units in which content is counted, either bytes or chars) to use for truncation (so as not to include full content for humongous sources or targets)
    `static ContentReference` | `rawReference(boolean isContentTextual, Object rawContent)` Factory method for legacy code to use for constructing instances to content about which only minimal amount of information is available.
    `static ContentReference` | `rawReference(Object rawContent)`
    `protected Object` | `readResolve()`
    `static ContentReference` | `unknown()` Accessor for getting a placeholder for cases where actual content is not known (or is not something that system wants to expose).

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

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

- - ### Field Detail

    - #### UNKNOWN_CONTENT

          protected static final ContentReference UNKNOWN_CONTENT

      Constant that may be used when source/target content is not known (or not exposed).

      NOTE: As of 2.13 assume to contain Binary content, meaning that no content snippets will be included.

    - #### DEFAULT_MAX_CONTENT_SNIPPET

          public static final int DEFAULT_MAX_CONTENT_SNIPPET

      Include at most first 500 characters/bytes from contents; should be enough to give context, but not cause unfortunate side effects in things like logs.
      Since:
        2.9
      See Also:
        Constant Field Values

    - #### _rawContent

          protected final transient Object _rawContent

      Reference to the actual underlying content.

    - #### _offset

          protected final int _offset

      For static content, indicates offset from the beginning of static array. `-1` if not in use.

    - #### _length

          protected final int _length

      For static content, indicates length of content in the static array. `-1` if not in use.

    - #### _isContentTextual

          protected final boolean _isContentTextual

      Marker flag to indicate whether included content is textual or not: this is taken to mean, by default, that a snippet of content may be displayed for exception messages.

  - ### Constructor Detail

    - #### ContentReference

          protected ContentReference(boolean isContentTextual,
                                     Object rawContent)

    - #### ContentReference

          protected ContentReference(boolean isContentTextual,
                                     Object rawContent,
                                     int offset,
                                     int length)

  - ### Method Detail

    - #### unknown

          public static ContentReference unknown()

      Accessor for getting a placeholder for cases where actual content is not known (or is not something that system wants to expose).
      Returns:
        Placeholder "unknown" (or "empty") instance to use instead of `null` reference

    - #### construct

          public static ContentReference construct(boolean isContentTextual,
                                                   Object rawContent)

    - #### construct

          public static ContentReference construct(boolean isContentTextual,
                                                   Object rawContent,
                                                   int offset,
                                                   int length)

    - #### rawReference

          public static ContentReference rawReference(boolean isContentTextual,
                                                      Object rawContent)

      Factory method for legacy code to use for constructing instances to content about which only minimal amount of information is available. Assumed not to contain textual content (no snippet displayed).
      Parameters:
        `isContentTextual` - Is raw content assumed to have textual content (`true`) or binary (`false`)
        `rawContent` - Underlying raw content access
      Returns:
        Instance with minimal information about content (basically just raw content reference without offsets

    - #### rawReference

          public static ContentReference rawReference(Object rawContent)

    - #### readResolve

          protected Object readResolve()

    - #### hasTextualContent

          public boolean hasTextualContent()

    - #### getRawContent

          public Object getRawContent()

    - #### contentOffset

          public int contentOffset()

    - #### contentLength

          public int contentLength()

    - #### maxContentSnippetLength

          protected int maxContentSnippetLength()

      Internal accessor, overridable, used for checking length (in units in which content is counted, either bytes or chars) to use for truncation (so as not to include full content for humongous sources or targets)
      Returns:
        Maximum content snippet to include before truncating

    - #### buildSourceDescription

          public String buildSourceDescription()

      Method for constructing a "source description" when content represented by this reference is read.
      Returns:
        Description constructed

    - #### appendSourceDescription

          public StringBuilder appendSourceDescription(StringBuilder sb)

      Method for appending a "source description" when content represented by this reference is read.
      Parameters:
        `sb` - StringBuilder to append description to
      Returns:
        StringBuilder passed as argument (for call chaining)

    - #### _truncate

          protected String _truncate(CharSequence cs,
                                     int[] offsets,
                                     int maxSnippetLen)

    - #### _truncate

          protected String _truncate(char[] cs,
                                     int[] offsets,
                                     int maxSnippetLen)

    - #### _truncate

          protected String _truncate(byte[] b,
                                     int[] offsets,
                                     int maxSnippetLen)

    - #### _truncateOffsets

          protected void _truncateOffsets(int[] offsets,
                                          int actualLength)

    - #### _append

          protected int _append(StringBuilder sb,
                                String content)

    - #### _appendEscaped

          protected boolean _appendEscaped(StringBuilder sb,
                                           int ctrlChar)

    - #### equals

          public boolean equals(Object other)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

Copyright © 2008–2021 FasterXML. All rights reserved.