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
- DataGridViewRow.cs
- ObjectAnimationBase.cs
- MetadataImporterQuotas.cs
- GenerateScriptTypeAttribute.cs
- RegexWorker.cs
- KeyboardDevice.cs
- CustomAttributeFormatException.cs
- Variable.cs
- ValidationHelper.cs
- ColorContext.cs
- WriteTimeStream.cs
- DataPagerCommandEventArgs.cs
- ViewgenGatekeeper.cs
- SecurityManager.cs
- StrongName.cs
- ContextMenu.cs
- UiaCoreProviderApi.cs
- TrackingCondition.cs
- NullableIntSumAggregationOperator.cs
- RawStylusInputCustomData.cs
- MarshalByRefObject.cs
- DirectionalLight.cs
- AbandonedMutexException.cs
- XmlSerializerAssemblyAttribute.cs
- UiaCoreTypesApi.cs
- OutputCacheSection.cs
- BitmapEffectInput.cs
- DropTarget.cs
- DocumentationServerProtocol.cs
- SchemaTableOptionalColumn.cs
- RenderContext.cs
- SoapIncludeAttribute.cs
- AttachmentService.cs
- Int32Storage.cs
- CopyNodeSetAction.cs
- PropertyDescriptorCollection.cs
- CreatingCookieEventArgs.cs
- XXXInfos.cs
- _NestedSingleAsyncResult.cs
- JapaneseCalendar.cs
- SessionEndedEventArgs.cs
- EmptyEnumerable.cs
- CombinedHttpChannel.cs
- AuthenticationSection.cs
- TextParagraphCache.cs
- Figure.cs
- WebBrowserProgressChangedEventHandler.cs
- TableLayoutPanel.cs
- AutomationPropertyChangedEventArgs.cs
- Parser.cs
- MutexSecurity.cs
- Site.cs
- KeyNotFoundException.cs
- Calendar.cs
- ParallelTimeline.cs
- TypeDependencyAttribute.cs
- LinqDataSourceHelper.cs
- ContentPlaceHolderDesigner.cs
- SaveWorkflowAsyncResult.cs
- JsonUriDataContract.cs
- EmptyControlCollection.cs
- Pair.cs
- DataSourceExpression.cs
- Rect3DValueSerializer.cs
- TimelineClockCollection.cs
- unsafenativemethodsother.cs
- PipelineDeploymentState.cs
- XsdDataContractImporter.cs
- CompleteWizardStep.cs
- WebEvents.cs
- EntityDataSourceEntitySetNameItem.cs
- WinInet.cs
- TdsEnums.cs
- JulianCalendar.cs
- LicenseProviderAttribute.cs
- XmlWrappingReader.cs
- LoginStatusDesigner.cs
- CompositeDataBoundControl.cs
- CancellationTokenSource.cs
- ProgressBarBrushConverter.cs
- ConfigurationStrings.cs
- dtdvalidator.cs
- SpeechRecognizer.cs
- DataGridRelationshipRow.cs
- followingsibling.cs
- ControlPersister.cs
- AssemblyContextControlItem.cs
- ChtmlTextWriter.cs
- _CommandStream.cs
- DynamicResourceExtensionConverter.cs
- DynamicObjectAccessor.cs
- RadioButtonStandardAdapter.cs
- ActivationServices.cs
- _Connection.cs
- FlowPanelDesigner.cs
- DependsOnAttribute.cs
- PingReply.cs
- LayoutTableCell.cs
- ConfigurationPropertyAttribute.cs
- TextBoxBase.cs