JsonLocation (Jackson-core 2.14.0 API)

com.fasterxml.jackson.core

## Class JsonLocation

- java.lang.Object
- - com.fasterxml.jackson.core.JsonLocation

- All Implemented Interfaces:
    Serializable

      public class JsonLocation
      extends Object
      implements Serializable

  Object that encapsulates Location information used for reporting parsing (or potentially generation) errors, as well as current location within input streams.

  NOTE: users should be careful if using `equals(java.lang.Object)` implementation as it may or may not compare underlying "content reference" for equality. Instead if would make sense to explicitly implementing equality checks using specific criteria caller desires.

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `_columnNr`
    `protected ContentReference` | `_contentReference` Reference to input source; never null (but may be that of `ContentReference.unknown()`).
    `protected int` | `_lineNr`
    `protected String` | `_sourceDescription` Lazily constructed description for source; constructed if and when `sourceDescription()` is called, retained.
    `protected long` | `_totalBytes`
    `protected long` | `_totalChars`
    `static int` | `MAX_CONTENT_SNIPPET` Deprecated. Since 2.13 use `ContentReference.DEFAULT_MAX_CONTENT_SNIPPET` instead
    `static JsonLocation` | `NA` Shared immutable "N/A location" that can be returned to indicate that no location information is available.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JsonLocation(ContentReference contentRef, long totalChars, int lineNr, int colNr)`
    `JsonLocation(ContentReference contentRef, long totalBytes, long totalChars, int lineNr, int columnNr)`
    `JsonLocation(Object srcRef, long totalChars, int lineNr, int columnNr)` Deprecated.
    `JsonLocation(Object srcRef, long totalBytes, long totalChars, int lineNr, int columnNr)` Deprecated.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static ContentReference` | `_wrap(Object srcRef)`
    `StringBuilder` | `appendOffsetDescription(StringBuilder sb)`
    `ContentReference` | `contentReference()` Accessor for information about the original input source content is being read from.
    `boolean` | `equals(Object other)`
    `long` | `getByteOffset()`
    `long` | `getCharOffset()`
    `int` | `getColumnNr()` Access for getting column position of this location, if available.
    `int` | `getLineNr()` Access for getting line number of this location, if available.
    `Object` | `getSourceRef()` Deprecated. Since 2.13 Use `contentReference()` instead
    `int` | `hashCode()`
    `String` | `offsetDescription()` Accessor for a brief summary of Location offsets (line number, column position, or byte offset, if available).
    `String` | `sourceDescription()` Accessor for getting a textual description of source reference (Object returned by `getSourceRef()`), as included in description returned by `toString()`.
    `String` | `toString()`

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

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

- - ### Field Detail

    - #### MAX_CONTENT_SNIPPET

          @Deprecated
          public static final int MAX_CONTENT_SNIPPET

      Deprecated. Since 2.13 use `ContentReference.DEFAULT_MAX_CONTENT_SNIPPET` instead
      See Also:
        Constant Field Values

    - #### NA

          public static final JsonLocation NA

      Shared immutable "N/A location" that can be returned to indicate that no location information is available.

      NOTE: before 2.9, Location was given as String "N/A"; with 2.9 it was removed so that source should be indicated as "UNKNOWN".

    - #### _totalBytes

          protected final long _totalBytes

    - #### _totalChars

          protected final long _totalChars

    - #### _lineNr

          protected final int _lineNr

    - #### _columnNr

          protected final int _columnNr

    - #### _contentReference

          protected final ContentReference _contentReference

      Reference to input source; never null (but may be that of `ContentReference.unknown()`).
      Since:
        2.13 (before we have `_sourceRef` (Object-valued)

    - #### _sourceDescription

          protected transient String _sourceDescription

      Lazily constructed description for source; constructed if and when `sourceDescription()` is called, retained.
      Since:
        2.13

  - ### Constructor Detail

    - #### JsonLocation

          public JsonLocation(ContentReference contentRef,
                              long totalChars,
                              int lineNr,
                              int colNr)

    - #### JsonLocation

          public JsonLocation(ContentReference contentRef,
                              long totalBytes,
                              long totalChars,
                              int lineNr,
                              int columnNr)

    - #### JsonLocation

          @Deprecated
          public JsonLocation(Object srcRef,
                                          long totalChars,
                                          int lineNr,
                                          int columnNr)

      Deprecated.

    - #### JsonLocation

          @Deprecated
          public JsonLocation(Object srcRef,
                                          long totalBytes,
                                          long totalChars,
                                          int lineNr,
                                          int columnNr)

      Deprecated.

  - ### Method Detail

    - #### _wrap

          protected static ContentReference _wrap(Object srcRef)

    - #### contentReference

          public ContentReference contentReference()

      Accessor for information about the original input source content is being read from. Returned reference is never `null` but may not contain useful information.

      NOTE: not getter, on purpose, to avoid inlusion if serialized using default Jackson serializer.

      Returns:
        Object with information about input source.
      Since:
        2.13 (to replace `getSourceRef`)

    - #### getSourceRef

          @Deprecated
          public Object getSourceRef()

      Deprecated. Since 2.13 Use `contentReference()` instead
      Reference to the original resource being read, if one available. For example, when a parser has been constructed by passing a `File` instance, this method would return that File. Will return null if no such reference is available, for example when `InputStream` was used to construct the parser instance.
      Returns:
        Source reference this location was constructed with, if any; `null` if none

    - #### getLineNr

          public int getLineNr()

      Access for getting line number of this location, if available. Note that line number is typically not available for binary formats.
      Returns:
        Line number of the location (1-based), if available; `-1` if not.

    - #### getColumnNr

          public int getColumnNr()

      Access for getting column position of this location, if available. Note that column position is typically not available for binary formats.
      Returns:
        Column position of the location (1-based), if available; `-1` if not.

    - #### getCharOffset

          public long getCharOffset()

      Returns:
        Character offset within underlying stream, reader or writer, if available; `-1` if not.

    - #### getByteOffset

          public long getByteOffset()

      Returns:
        Byte offset within underlying stream, reader or writer, if available; `-1` if not.

    - #### sourceDescription

          public String sourceDescription()

      Accessor for getting a textual description of source reference (Object returned by `getSourceRef()`), as included in description returned by `toString()`.

      Note: implementation will simply call `ContentReference.buildSourceDescription()`)

      NOTE: not added as a "getter" to prevent it from getting serialized.

      Returns:
        Description of the source reference (see `getSourceRef()`
      Since:
        2.9

    - #### offsetDescription

          public String offsetDescription()

      Accessor for a brief summary of Location offsets (line number, column position, or byte offset, if available).
      Returns:
        Description of available relevant location offsets; combination of line number and column position or byte offset
      Since:
        2.13

    - #### appendOffsetDescription

          public StringBuilder appendOffsetDescription(StringBuilder sb)

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object other)

      Overrides:
        `equals` in class `Object`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2008–2022 FasterXML. All rights reserved.