18 using Lucene.Net.Analysis.Tokenattributes;
20 namespace Lucene.Net.Analysis.Payloads
36 public static readonly
char DEFAULT_DELIMITER =
'|';
37 internal char delimiter = DEFAULT_DELIMITER;
55 termAtt = AddAttribute<ITermAttribute>();
56 payAtt = AddAttribute<IPayloadAttribute>();
57 this.delimiter = delimiter;
58 this.encoder = encoder;
61 public override bool IncrementToken()
64 if (input.IncrementToken())
66 char[] buffer = termAtt.TermBuffer();
67 int length = termAtt.TermLength();
70 for (
int i = 0; i < length; i++)
72 if (buffer[i] == delimiter)
74 termAtt.SetTermBuffer(buffer, 0, i);
75 payAtt.Payload = encoder.
Encode(buffer, i + 1, (length - (i + 1)));
83 payAtt.Payload = null;