Top Description Fields Constructors Methods
tools.jackson.core

public Class TokenStreamLocation

extends Object
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
tools.jackson.core.io.ContentReference

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 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
NOTE: in Jackson 2.x this type was named JsonLocation

Field Summary

Modifier and TypeField and Description
protected final int
protected final ContentReference
_contentReference

Reference to input source; never null (but may be that of ContentReference#unknown()).

protected final int
protected transient String
_sourceDescription

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

protected final long
protected final long
public static final TokenStreamLocation
NA

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

private static final String
private static final long

Constructor Summary

AccessConstructor and Description
public
TokenStreamLocation(ContentReference contentRef, long totalChars, int lineNr, int colNr)

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

Method Summary

Modifier and TypeMethod and Description
public StringBuilder
public ContentReference

Returns:

Object with information about input source.
contentReference
()

Accessor for information about the original input source content is being read from.

public boolean
equals(Object other)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public long

Returns:

Byte offset within underlying stream, reader or writer, if available; -1 if not.
getByteOffset
()

public long

Returns:

Character offset within underlying stream, reader or writer, if available; -1 if not.
getCharOffset
()

public int

Returns:

Column offset of the location (1-based), if available; -1 if not.
getColumnNr
()

Access for getting column offset of this location, if available.

public int

Returns:

Line number of the location (1-based), if available; -1 if not.
getLineNr
()

Access for getting line number of this location, if available.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public String

Returns:

Description of available relevant location offsets; combination of line number and column position or byte offset
offsetDescription
()

Accessor for a brief summary of Location offsets (line number, column position, or byte offset, if available).

public String

Returns:

Description of the source reference (see contentReference()
sourceDescription
()

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

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public StringBuilder
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

_columnNrback to summary
protected final int _columnNr
_contentReferenceback to summary
protected final ContentReference _contentReference

Reference to input source; never null (but may be that of ContentReference#unknown()).

_lineNrback to summary
protected final int _lineNr
_sourceDescriptionback to summary
protected transient String _sourceDescription

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

Since
2.13
_totalBytesback to summary
protected final long _totalBytes
_totalCharsback to summary
protected final long _totalChars
NAback to summary
public static final TokenStreamLocation NA

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

NO_LOCATION_DESCback to summary
private static final String NO_LOCATION_DESC
serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

TokenStreamLocationback to summary
public TokenStreamLocation(ContentReference contentRef, long totalChars, int lineNr, int colNr)
TokenStreamLocationback to summary
public TokenStreamLocation(ContentReference contentRef, long totalBytes, long totalChars, int lineNr, int columnNr)

Method Detail

appendOffsetDescriptionback to summary
public StringBuilder appendOffsetDescription(StringBuilder sb)
contentReferenceback to summary
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 inclusion if serialized using default Jackson serializer.

Returns:ContentReference

Object with information about input source.

equalsback to summary
public boolean equals(Object other)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Annotations
@Override
getByteOffsetback to summary
public long getByteOffset()
Returns:long

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

getCharOffsetback to summary
public long getCharOffset()
Returns:long

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

getColumnNrback to summary
public int getColumnNr()

Access for getting column offset of this location, if available. Note that column position is typically not available for binary formats.

Note

this returns an offset that is in units of input, so for byte-based input sources (like java.io.InputStream) this does not take into account multi-byte characters: one logical character can be 1, 2 or 3 bytes long. To calculate column position in characters either char-based input source (like java.io.Reader) needs to be used, or content needs to be explicitly decoded.

Returns:int

Column offset of the location (1-based), if available; -1 if not.

getLineNrback to summary
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:int

Line number of the location (1-based), if available; -1 if not.

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Annotations
@Override
offsetDescriptionback to summary
public String offsetDescription()

Accessor for a brief summary of Location offsets (line number, column position, or byte offset, if available).

Returns:String

Description of available relevant location offsets; combination of line number and column position or byte offset

sourceDescriptionback to summary
public String sourceDescription()

Accessor for getting a textual description of source reference (Object returned by contentReference()), 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:String

Description of the source reference (see contentReference()

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override
toStringback to summary
public StringBuilder toString(StringBuilder sb)