public virtual Token Next() { if (tokenWrapper == null) { throw new System.NotSupportedException("This TokenStream only supports the new Attributes API."); } Token nextToken; if (supportedMethods.hasIncrementToken) { Token savedDelegate = tokenWrapper.delegate_Renamed; tokenWrapper.delegate_Renamed = new Token(); nextToken = IncrementToken()?tokenWrapper.delegate_Renamed:null; tokenWrapper.delegate_Renamed = savedDelegate; } else { System.Diagnostics.Debug.Assert(supportedMethods.hasReusableNext); nextToken = Next(new Token()); } if (nextToken != null) { Mono.Lucene.Net.Index.Payload p = nextToken.GetPayload(); if (p != null) { nextToken.SetPayload((Mono.Lucene.Net.Index.Payload)p.Clone()); } } return(nextToken); }
public override System.Object Clone() { Token t = (Token)base.Clone(); // Do a deep clone if (termBuffer != null) { t.termBuffer = new char[termBuffer.Length]; termBuffer.CopyTo(t.termBuffer, 0); } if (payload != null) { t.payload = (Payload)payload.Clone(); } return(t); }
public override void CopyTo(AttributeImpl target) { PayloadAttribute t = (PayloadAttribute)target; t.SetPayload((payload == null)?null:(Payload)payload.Clone()); }