IHtmlWriter IHtmlWriter.CreateInsertionPoint() { var result = new HtmlWriter(this); _bufferListTail = _bufferListTail.InsertAfter(); return(result); }
private HtmlWriter(HtmlWriter parent) { _stringBuilderFactory = parent._stringBuilderFactory; _isBufferOwner = false; _startOfLine = parent._startOfLine; Indented = parent.Indented; IndentLevel = parent.IndentLevel; _bufferListHead = parent._bufferListTail; _bufferListTail = _bufferListHead; }
public BufferListElement InsertAfter() { lock (this) { var result = new BufferListElement(_stringBuilderFactory) { Next = Next, }; Next = result; return(result); } }
public void Dispose() { _buffer.Dispose(); var next = Next; Next = null; if (next != null) { next.Dispose(); } }
/// <summary> /// Constructs a new HTML Writer /// </summary> public HtmlWriter( IStringBuilderFactory stringBuilderFactory) { _stringBuilderFactory = stringBuilderFactory; _isBufferOwner = true; _startOfLine = true; Indented = true; IndentLevel = 0; IncludeComments = true; _bufferListHead = new BufferListElement(stringBuilderFactory); _bufferListTail = _bufferListHead; }
void IHtmlWriter.ToStringBuilder(IStringBuilder stringBuilder) { var buffer = _bufferListHead; while (buffer != null) { stringBuilder.Append(buffer.ToString()); buffer = buffer.Next; } if (_isBufferOwner && _bufferListHead != null) { _bufferListHead.Dispose(); } _bufferListHead = null; _bufferListTail = null; }
void IHtmlWriter.ToResponse(IOwinContext context) { var buffer = _bufferListHead; while (buffer != null) { context.Response.Write(buffer.ToString()); buffer = buffer.Next; } if (_isBufferOwner && _bufferListHead != null) { _bufferListHead.Dispose(); } _bufferListHead = null; _bufferListTail = null; }