Class CharRecoveryOptimizer

java.lang.Object
com.vladsch.flexmark.util.sequence.builder.CharRecoveryOptimizer
All Implemented Interfaces:
SegmentOptimizer, BiFunction<CharSequence,Object[],Object[]>

public class CharRecoveryOptimizer extends Object implements SegmentOptimizer
  • Field Details

    • anchor

      private final PositionAnchor anchor
    • prevEolPos

      private int prevEolPos
  • Constructor Details

    • CharRecoveryOptimizer

      public CharRecoveryOptimizer(PositionAnchor anchor)
  • Method Details

    • prevMatchPos

      int prevMatchPos(@NotNull @NotNull CharSequence base, CharSequence chars, int startIndex, int endIndex)
    • nextMatchPos

      int nextMatchPos(@NotNull @NotNull CharSequence base, CharSequence chars, int startIndex, int fromIndex)
    • apply

      public Object[] apply(@NotNull @NotNull CharSequence chars, Object[] parts)
      Description copied from interface: SegmentOptimizer
      Optimize segment BASE parts surrounding TEXT contained in Object[] array.
      Specified by:
      apply in interface BiFunction<CharSequence,Object[],Object[]>
      Specified by:
      apply in interface SegmentOptimizer
      Parameters:
      chars - base character sequence
      parts - parts to optimize Object[0] - previous BASE Range, will be Range.NULL if no previous range Object[1] - char sequence of TEXT to optimize Object[2] - next BASE Range, will be Range.NULL if no next range
      Returns:
      Object[] containing optimized segments, non-null Range(s) are BASE segments, CharSequence(s) are TEXT segments null entry ignored, an optimal filler for unused entries Range with -ve start/end or -ve span are skipped CharSequence with 0 length skipped