Package org.jsoup.nodes
Class Range
java.lang.Object
org.jsoup.nodes.Range
A Range object tracks the character positions in the original input source where a Node starts or ends. If you want to
track these positions, tracking must be enabled in the Parser with
Parser.setTrackPosition(boolean)
.- Since:
- 1.15.2
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static class
A Position object tracks the character position in the original input source where a Node starts or ends. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Range.Position
private final Range.Position
(package private) static final Range
An untracked source range.private static final Range.Position
-
Constructor Summary
ConstructorsConstructorDescriptionRange
(Range.Position start, Range.Position end) Creates a new Range with start and end Positions. -
Method Summary
Modifier and TypeMethodDescriptionend()
Get the end position of this node.int
endPos()
Get the ending cursor position of this range.boolean
int
hashCode()
boolean
Checks if the range represents a node that was implicitly created / closed.boolean
Test if this source range was tracked during parsing.(package private) static Range
Retrieves the source range for a given Node.start()
Get the start position of this node.int
startPos()
Get the starting cursor position of this range.toString()
Gets a String presentation of this Range, in the formatline,column:pos-line,column:pos
.
-
Field Details
-
UntrackedPos
-
start
-
end
-
Untracked
An untracked source range.
-
-
Constructor Details
-
Range
Creates a new Range with start and end Positions. Called by TreeBuilder when position tracking is on.- Parameters:
start
- the start positionend
- the end position
-
-
Method Details
-
start
Get the start position of this node.- Returns:
- the start position
-
startPos
public int startPos()Get the starting cursor position of this range.- Returns:
- the 0-based start cursor position.
- Since:
- 1.17.1
-
end
Get the end position of this node.- Returns:
- the end position
-
endPos
public int endPos()Get the ending cursor position of this range.- Returns:
- the 0-based ending cursor position.
- Since:
- 1.17.1
-
isTracked
public boolean isTracked()Test if this source range was tracked during parsing.- Returns:
- true if this was tracked during parsing, false otherwise (and all fields will be
-1
).
-
isImplicit
public boolean isImplicit()Checks if the range represents a node that was implicitly created / closed.For example, with HTML of
<p>One<p>Two
, bothp
elements will have an explicitNode.sourceRange()
but an implicitElement.endSourceRange()
marking the end position, as neither have closing</p>
tags. The TextNodes will have explicit sourceRanges.A range is considered implicit if its start and end positions are the same.
- Returns:
- true if the range is tracked and its start and end positions are the same, false otherwise.
- Since:
- 1.17.1
-
of
Retrieves the source range for a given Node.- Parameters:
node
- the node to retrieve the position forstart
- if this is the starting range.false
for Element end tags.- Returns:
- the Range, or the Untracked (-1) position if tracking is disabled.
-
equals
-
hashCode
public int hashCode() -
toString
Gets a String presentation of this Range, in the formatline,column:pos-line,column:pos
.
-