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
- OptimizerPatterns.cs
- TextMetrics.cs
- HistoryEventArgs.cs
- Variable.cs
- ValidationRuleCollection.cs
- StylusPointPropertyInfo.cs
- GeneralTransform3DGroup.cs
- BinaryObjectWriter.cs
- DependencyPropertyDescriptor.cs
- EntityDataSourceDesigner.cs
- FileSystemInfo.cs
- ApplicationSecurityInfo.cs
- IpcManager.cs
- CodeDOMProvider.cs
- ListMarkerSourceInfo.cs
- DateTime.cs
- NameTable.cs
- AmbiguousMatchException.cs
- TimeoutException.cs
- dbdatarecord.cs
- ImmutableObjectAttribute.cs
- KnownBoxes.cs
- StandardBindingOptionalReliableSessionElement.cs
- Compiler.cs
- SkinBuilder.cs
- DiagnosticsElement.cs
- MouseDevice.cs
- _HelperAsyncResults.cs
- TreeNodeBinding.cs
- HttpModuleAction.cs
- SqlClientPermission.cs
- DataGridViewTextBoxCell.cs
- XamlInt32CollectionSerializer.cs
- ReaderWriterLock.cs
- DataSourceViewSchemaConverter.cs
- ContainerActivationHelper.cs
- RegexCharClass.cs
- QilScopedVisitor.cs
- AddInActivator.cs
- FormClosingEvent.cs
- InputQueue.cs
- HashSetEqualityComparer.cs
- QueryAccessibilityHelpEvent.cs
- AssociationEndMember.cs
- RuleSettings.cs
- DbProviderConfigurationHandler.cs
- ObjectNotFoundException.cs
- CompensationDesigner.cs
- DataGridViewElement.cs
- Visual.cs
- DataContext.cs
- Point3DAnimationBase.cs
- ExtractedStateEntry.cs
- XPathScanner.cs
- COAUTHINFO.cs
- MediaEntryAttribute.cs
- GenericAuthenticationEventArgs.cs
- WebPartConnection.cs
- XmlWrappingReader.cs
- RtfControlWordInfo.cs
- InternalEnumValidatorAttribute.cs
- RunClient.cs
- HttpVersion.cs
- GlyphRun.cs
- Enum.cs
- ImportCatalogPart.cs
- ArgumentNullException.cs
- DynamicValueConverter.cs
- FormDesigner.cs
- PolicyStatement.cs
- GroupBox.cs
- WebPartConnectionsCancelEventArgs.cs
- RoleManagerEventArgs.cs
- CollectionTypeElement.cs
- CodeMemberProperty.cs
- BufferAllocator.cs
- HtmlButton.cs
- DataTableExtensions.cs
- VisualProxy.cs
- FormView.cs
- AssemblyHash.cs
- Visual3D.cs
- RankException.cs
- DoubleLinkList.cs
- StructuredTypeInfo.cs
- TextDecorationLocationValidation.cs
- RowTypePropertyElement.cs
- METAHEADER.cs
- Label.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ClrProviderManifest.cs
- ElementHost.cs
- IDReferencePropertyAttribute.cs
- ClientSettingsProvider.cs
- DataGridViewTextBoxEditingControl.cs
- ZipIOExtraField.cs
- ObjectDataSourceStatusEventArgs.cs
- SystemColorTracker.cs
- FormViewUpdatedEventArgs.cs
- XmlSerializerAssemblyAttribute.cs