protected virtual string GetFragmentSourceMSO(StringBuilder buffer, int[] index, Field[] values, int startOffset, int endOffset, int[] modifiedStartOffset) { while (buffer.Length < endOffset && index[0] < values.Length) { buffer.Append(values[index[0]++].GetStringValue()); buffer.Append(MultiValuedSeparator); } int bufferLength = buffer.Length; // we added the multi value char to the last buffer, ignore it if (values[index[0] - 1].IndexableFieldType.IsTokenized) { bufferLength--; } int eo = bufferLength < endOffset ? bufferLength : boundaryScanner.FindEndOffset(buffer, endOffset); modifiedStartOffset[0] = boundaryScanner.FindStartOffset(buffer, startOffset); return(buffer.ToString(modifiedStartOffset[0], eo - modifiedStartOffset[0])); }
private void TestFindEndOffset(StringBuilder text, int start, int expected, IBoundaryScanner scanner) { assertEquals(expected, scanner.FindEndOffset(text, start)); }