com.fasterxml.jackson.core

Class 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 Detail

      • 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

      • 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
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object

Copyright © 2008–2022 FasterXML. All rights reserved.