Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataWeb / Server / System / Data / Services / Serializers / IndentedTextWriter.cs / 1 / IndentedTextWriter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a writer implementation for Json format // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Serializers { using System; using System.Diagnostics; using System.Globalization; using System.IO; using System.Text; ///Writes the Json text in indented format. ////// There are many more methods implemented in previous versions /// of this file to handle more type and newline cases. /// internal sealed class IndentedTextWriter : TextWriter { ///writer to which Json text needs to be written private TextWriter writer; ///keeps track of the indentLevel private int indentLevel; ///keeps track of pending tabs private bool tabsPending; ///string representation of tab private string tabString; ////// Creates a new instance of IndentedTextWriter over the given text writer /// /// writer which IndentedTextWriter wraps public IndentedTextWriter(TextWriter writer) : base(CultureInfo.InvariantCulture) { this.writer = writer; this.tabString = " "; } ///Returns the Encoding for the given writer public override Encoding Encoding { get { return this.writer.Encoding; } } ///Returns the new line character public override string NewLine { get { return this.writer.NewLine; } } ///returns the current indent level public int Indent { get { return this.indentLevel; } set { Debug.Assert(value >= 0, "value >= 0"); if (value < 0) { value = 0; } this.indentLevel = value; } } ///Closes the underlying writer public override void Close() { this.writer.Close(); } ///Clears all the buffer of the current writer public override void Flush() { this.writer.Flush(); } ////// Writes the given string value to the underlying writer /// /// string value to be written public override void Write(string s) { this.OutputTabs(); this.writer.Write(s); } ////// Writes the given char value to the underlying writer /// /// char value to be written public override void Write(char value) { this.OutputTabs(); this.writer.Write(value); } ////// Writes the trimmed text if minimizeWhiteSpeace is set to true /// /// string value to be written public void WriteTrimmed(string text) { this.Write(text); } ///Writes the tabs depending on the indent level private void OutputTabs() { if (this.tabsPending) { for (int i = 0; i < this.indentLevel; i++) { this.writer.Write(this.tabString); } this.tabsPending = false; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a writer implementation for Json format // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Serializers { using System; using System.Diagnostics; using System.Globalization; using System.IO; using System.Text; ///Writes the Json text in indented format. ////// There are many more methods implemented in previous versions /// of this file to handle more type and newline cases. /// internal sealed class IndentedTextWriter : TextWriter { ///writer to which Json text needs to be written private TextWriter writer; ///keeps track of the indentLevel private int indentLevel; ///keeps track of pending tabs private bool tabsPending; ///string representation of tab private string tabString; ////// Creates a new instance of IndentedTextWriter over the given text writer /// /// writer which IndentedTextWriter wraps public IndentedTextWriter(TextWriter writer) : base(CultureInfo.InvariantCulture) { this.writer = writer; this.tabString = " "; } ///Returns the Encoding for the given writer public override Encoding Encoding { get { return this.writer.Encoding; } } ///Returns the new line character public override string NewLine { get { return this.writer.NewLine; } } ///returns the current indent level public int Indent { get { return this.indentLevel; } set { Debug.Assert(value >= 0, "value >= 0"); if (value < 0) { value = 0; } this.indentLevel = value; } } ///Closes the underlying writer public override void Close() { this.writer.Close(); } ///Clears all the buffer of the current writer public override void Flush() { this.writer.Flush(); } ////// Writes the given string value to the underlying writer /// /// string value to be written public override void Write(string s) { this.OutputTabs(); this.writer.Write(s); } ////// Writes the given char value to the underlying writer /// /// char value to be written public override void Write(char value) { this.OutputTabs(); this.writer.Write(value); } ////// Writes the trimmed text if minimizeWhiteSpeace is set to true /// /// string value to be written public void WriteTrimmed(string text) { this.Write(text); } ///Writes the tabs depending on the indent level private void OutputTabs() { if (this.tabsPending) { for (int i = 0; i < this.indentLevel; i++) { this.writer.Write(this.tabString); } this.tabsPending = false; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MethodAccessException.cs
- BindingSource.cs
- Lease.cs
- MenuItemBindingCollection.cs
- infer.cs
- XsltException.cs
- ColorConverter.cs
- RoleService.cs
- PersistenceTypeAttribute.cs
- Gdiplus.cs
- SqlDuplicator.cs
- Point3DCollection.cs
- TypedLocationWrapper.cs
- FileDetails.cs
- OleDbDataAdapter.cs
- OperatingSystem.cs
- Point.cs
- ColumnMapProcessor.cs
- WinOEToolBoxItem.cs
- RewritingProcessor.cs
- OdbcParameter.cs
- CanonicalFontFamilyReference.cs
- FindRequestContext.cs
- SaveFileDialog.cs
- MimeMapping.cs
- AddInAdapter.cs
- JsonQNameDataContract.cs
- NativeMethodsOther.cs
- ToolTipService.cs
- StylusButtonCollection.cs
- AssociatedControlConverter.cs
- DriveInfo.cs
- DataGridTextBox.cs
- StringWriter.cs
- Thread.cs
- TableLayoutStyleCollection.cs
- KeyPullup.cs
- SendingRequestEventArgs.cs
- WebScriptMetadataMessage.cs
- SessionEndingCancelEventArgs.cs
- XmlCharCheckingWriter.cs
- EdmComplexTypeAttribute.cs
- WindowsRichEdit.cs
- ArrayList.cs
- WhitespaceRuleReader.cs
- Parser.cs
- ConfigXmlComment.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- _ContextAwareResult.cs
- SplineKeyFrames.cs
- BaseDataBoundControl.cs
- AttributeData.cs
- ContractComponent.cs
- DbReferenceCollection.cs
- SqlCacheDependencySection.cs
- ProfileGroupSettingsCollection.cs
- ClassicBorderDecorator.cs
- PingReply.cs
- AsynchronousChannel.cs
- UnknownBitmapEncoder.cs
- JoinCqlBlock.cs
- TraceData.cs
- DefaultTypeArgumentAttribute.cs
- ParentUndoUnit.cs
- LambdaCompiler.Address.cs
- SqlBulkCopy.cs
- DrawingContextDrawingContextWalker.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- MenuScrollingVisibilityConverter.cs
- HashHelper.cs
- ImageButton.cs
- PolicyStatement.cs
- PropertyPath.cs
- AVElementHelper.cs
- FixedSOMTableCell.cs
- ToolboxItemAttribute.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- DocumentPage.cs
- PtsPage.cs
- Descriptor.cs
- HTMLTextWriter.cs
- EmptyStringExpandableObjectConverter.cs
- XmlWellformedWriterHelpers.cs
- UpdateProgress.cs
- FormatConvertedBitmap.cs
- CodeCommentStatement.cs
- HttpContext.cs
- MarkupProperty.cs
- UnsafeNetInfoNativeMethods.cs
- MasterPageBuildProvider.cs
- DispatcherSynchronizationContext.cs
- EdmConstants.cs
- DeadLetterQueue.cs
- JournalNavigationScope.cs
- SqlDeflator.cs
- FusionWrap.cs
- RotateTransform3D.cs
- TextDecorationCollection.cs
- OptimizerPatterns.cs
- NumberFunctions.cs