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.

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`