Package org.commonmark.node
Class SourceSpan
- java.lang.Object
-
- org.commonmark.node.SourceSpan
-
public class SourceSpan extends java.lang.Object
A source span references a snippet of text from the source input.It has a starting position (line and column index) and a length of how many characters it spans.
For example, this CommonMark source text:
The> foo
BlockQuote
node would have this source span: line 0, column 0, length 5.The
Paragraph
node inside it would have: line 0, column 2, length 3.If a block has multiple lines, it will have a source span for each line.
Note that the column index and length are measured in Java characters (UTF-16 code units). If you're outputting them to be consumed by another programming language, e.g. one that uses UTF-8 strings, you will need to translate them, otherwise characters such as emojis will result in incorrect positions.
- Since:
- 0.16.0
-
-
Field Summary
Fields Modifier and Type Field Description private int
columnIndex
private int
length
private int
lineIndex
-
Constructor Summary
Constructors Modifier Constructor Description private
SourceSpan(int lineIndex, int columnIndex, int length)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
int
getColumnIndex()
int
getLength()
int
getLineIndex()
int
hashCode()
static SourceSpan
of(int lineIndex, int columnIndex, int length)
java.lang.String
toString()
-
-
-
Method Detail
-
of
public static SourceSpan of(int lineIndex, int columnIndex, int length)
-
getLineIndex
public int getLineIndex()
- Returns:
- 0-based index of line in source
-
getColumnIndex
public int getColumnIndex()
- Returns:
- 0-based index of column (character on line) in source
-
getLength
public int getLength()
- Returns:
- length of the span in characters
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-