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
`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
`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`