Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ProcessHostMapPath.cs
- ScrollProperties.cs
- HttpRequestCacheValidator.cs
- XmlAttributeAttribute.cs
- WindowsPen.cs
- PerformanceCounterCategory.cs
- InternalMappingException.cs
- DesignerSerializationOptionsAttribute.cs
- XsltFunctions.cs
- PolyLineSegmentFigureLogic.cs
- DateTimeConverter2.cs
- RowsCopiedEventArgs.cs
- QueryCacheEntry.cs
- SessionEndingEventArgs.cs
- clipboard.cs
- TypeToken.cs
- ObjectNotFoundException.cs
- FileReader.cs
- ScriptManagerProxy.cs
- PublishLicense.cs
- EntitySetBase.cs
- FlowDocumentView.cs
- RadioButtonPopupAdapter.cs
- WriterOutput.cs
- SecurityResources.cs
- PatternMatcher.cs
- VSDExceptions.cs
- DrawingContext.cs
- _NativeSSPI.cs
- ProjectionPathBuilder.cs
- RandomNumberGenerator.cs
- TextEditorMouse.cs
- x509utils.cs
- MsmqIntegrationChannelFactory.cs
- EUCJPEncoding.cs
- Italic.cs
- SQLBytes.cs
- Point3DCollectionConverter.cs
- storagemappingitemcollection.viewdictionary.cs
- MetabaseServerConfig.cs
- DeviceContext2.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- OdbcCommand.cs
- Funcletizer.cs
- FileLogRecord.cs
- ListViewDeletedEventArgs.cs
- ImageListUtils.cs
- HelloMessage11.cs
- ProcessInputEventArgs.cs
- HwndSubclass.cs
- DesignTimeTemplateParser.cs
- SystemIcmpV6Statistics.cs
- CompressEmulationStream.cs
- Transactions.cs
- AuthenticationException.cs
- Helpers.cs
- FtpCachePolicyElement.cs
- EntityDataSourceWizardForm.cs
- Transform3DCollection.cs
- SessionIDManager.cs
- MarkupExtensionParser.cs
- SingleSelectRootGridEntry.cs
- DataGridCommandEventArgs.cs
- MetadataArtifactLoaderComposite.cs
- WhitespaceRuleLookup.cs
- ListBox.cs
- HttpHandlersSection.cs
- XmlSchemaRedefine.cs
- SelectionHighlightInfo.cs
- DataGridViewCellMouseEventArgs.cs
- _TransmitFileOverlappedAsyncResult.cs
- DropAnimation.xaml.cs
- PeerOutputChannel.cs
- InvocationExpression.cs
- HtmlSelect.cs
- HtmlInputHidden.cs
- OdbcCommandBuilder.cs
- HashSetEqualityComparer.cs
- CaseInsensitiveComparer.cs
- TextBlock.cs
- DragEventArgs.cs
- UnsafeNativeMethodsCLR.cs
- ToolStripGripRenderEventArgs.cs
- AssemblyCache.cs
- CompositeFontFamily.cs
- TemplatePagerField.cs
- __ConsoleStream.cs
- ReflectionPermission.cs
- ToolStripItemImageRenderEventArgs.cs
- UnitySerializationHolder.cs
- DataGridItemCollection.cs
- GorillaCodec.cs
- SmtpMail.cs
- DataBindingList.cs
- ReadOnlyDictionary.cs
- TransformerInfoCollection.cs
- BinaryWriter.cs
- StandardOleMarshalObject.cs
- PolyLineSegmentFigureLogic.cs
- PrintingPermissionAttribute.cs