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
- ThousandthOfEmRealPoints.cs
- ToolboxItemFilterAttribute.cs
- HttpCacheVary.cs
- WindowsImpersonationContext.cs
- ToolStripProgressBar.cs
- OracleCommand.cs
- iisPickupDirectory.cs
- EntityCollection.cs
- ApplicationServiceHelper.cs
- CrossAppDomainChannel.cs
- XDeferredAxisSource.cs
- LinkLabelLinkClickedEvent.cs
- X509Certificate2.cs
- Transform.cs
- SHA512.cs
- Registry.cs
- IdentityElement.cs
- CachedPathData.cs
- StateWorkerRequest.cs
- SmtpNetworkElement.cs
- Quaternion.cs
- DiffuseMaterial.cs
- CookieProtection.cs
- EntryIndex.cs
- UpdateCompiler.cs
- Solver.cs
- AdCreatedEventArgs.cs
- DataGridViewSelectedRowCollection.cs
- AssemblyName.cs
- RewritingProcessor.cs
- base64Transforms.cs
- _emptywebproxy.cs
- TextRangeProviderWrapper.cs
- EditingCommands.cs
- Line.cs
- _DomainName.cs
- ReflectTypeDescriptionProvider.cs
- SessionChannels.cs
- GC.cs
- COMException.cs
- Attributes.cs
- PropertyEntry.cs
- WeakEventManager.cs
- mongolianshape.cs
- TCEAdapterGenerator.cs
- RawStylusInputCustomData.cs
- SyncOperationState.cs
- AuthenticationService.cs
- AccessDataSourceView.cs
- SmtpReplyReader.cs
- TextRangeSerialization.cs
- RowToParametersTransformer.cs
- MailSettingsSection.cs
- DiagnosticSection.cs
- OSFeature.cs
- StateMachineExecutionState.cs
- DbConnectionPoolCounters.cs
- TableLayoutRowStyleCollection.cs
- InternalBufferManager.cs
- MessageBox.cs
- ReadWriteObjectLock.cs
- LOSFormatter.cs
- NativeMethods.cs
- counter.cs
- EntityProviderServices.cs
- _UncName.cs
- XmlSchemaSequence.cs
- RenderData.cs
- StyleSheet.cs
- OptimisticConcurrencyException.cs
- ChangesetResponse.cs
- ToolBar.cs
- TabletDeviceInfo.cs
- TypeConverterHelper.cs
- Image.cs
- ListViewItem.cs
- DataRowView.cs
- XmlByteStreamReader.cs
- ChildTable.cs
- ZipFileInfo.cs
- PointHitTestParameters.cs
- SHA1Managed.cs
- QuaternionIndependentAnimationStorage.cs
- ConstrainedDataObject.cs
- XmlNodeChangedEventArgs.cs
- NTAccount.cs
- MouseGestureConverter.cs
- ProcessInfo.cs
- File.cs
- QilXmlWriter.cs
- CellIdBoolean.cs
- DataFormats.cs
- FormViewPagerRow.cs
- TransformGroup.cs
- Helper.cs
- Renderer.cs
- SystemNetworkInterface.cs
- IImplicitResourceProvider.cs
- ServiceEndpoint.cs
- GenericRootAutomationPeer.cs