Class PassageFormatter
java.lang.Object
org.apache.lucene.search.matchhighlight.PassageFormatter
Formats a collection of passages over a given string, cleaning up and
resolving restrictions concerning overlaps, allowed sub-ranges over the input string and length
restrictions.
Passages are demarcated with constructor-provided ellipsis and start/end marker sequences.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String
private final Function
<OffsetRange, String> private final ArrayList
<OffsetRange> private final Function
<OffsetRange, String> -
Constructor Summary
ConstructorsConstructorDescriptionPassageFormatter
(String ellipsis, String markerStart, String markerEnd) PassageFormatter
(String ellipsis, Function<OffsetRange, String> markerStart, Function<OffsetRange, String> markerEnd) -
Method Summary
Modifier and TypeMethodDescriptionformat
(CharSequence value, List<Passage> passages, List<OffsetRange> ranges) format
(StringBuilder buf, CharSequence value, Passage passage) private void
multipleMarkers
(CharSequence value, Passage p, StringBuilder b, ArrayList<OffsetRange> markerStack) Handle multiple markers, possibly overlapping or nested.private static PassageFormatter.SlicePoint[]
private boolean
withinRange
(OffsetRange limits, List<? extends OffsetRange> contained)
-
Field Details
-
ellipsis
-
markerStart
-
markerEnd
-
markerStack
-
-
Constructor Details
-
PassageFormatter
-
PassageFormatter
public PassageFormatter(String ellipsis, Function<OffsetRange, String> markerStart, Function<OffsetRange, String> markerEnd)
-
-
Method Details
-
format
-
withinRange
-
format
-
multipleMarkers
private void multipleMarkers(CharSequence value, Passage p, StringBuilder b, ArrayList<OffsetRange> markerStack) Handle multiple markers, possibly overlapping or nested. -
slicePoints
-