Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- Int64.cs
- SafeEventHandle.cs
- NegationPusher.cs
- EndPoint.cs
- PropertyValueChangedEvent.cs
- ServiceModelConfigurationSectionGroup.cs
- Baml2006ReaderContext.cs
- EntityDataSourceColumn.cs
- Lease.cs
- XNodeValidator.cs
- Stylesheet.cs
- BindUriHelper.cs
- LinqDataSourceDisposeEventArgs.cs
- ParameterCollection.cs
- GCHandleCookieTable.cs
- EdmPropertyAttribute.cs
- TextTreeUndo.cs
- AssemblySettingAttributes.cs
- QueryRelOp.cs
- ThreadInterruptedException.cs
- EntityContainerEmitter.cs
- WebConfigurationHostFileChange.cs
- DataGridPagingPage.cs
- LinearQuaternionKeyFrame.cs
- BackStopAuthenticationModule.cs
- WebBrowserDocumentCompletedEventHandler.cs
- SafePEFileHandle.cs
- PriorityBinding.cs
- PasswordDeriveBytes.cs
- Drawing.cs
- SafeFileMappingHandle.cs
- QilUnary.cs
- TextWriterTraceListener.cs
- XmlBinaryReader.cs
- UpdatePanelControlTrigger.cs
- DrawingServices.cs
- SpecialTypeDataContract.cs
- WorkflowStateRollbackService.cs
- TableItemPattern.cs
- LookupBindingPropertiesAttribute.cs
- ForceCopyBuildProvider.cs
- ListViewTableRow.cs
- BitmapCodecInfo.cs
- XmlObjectSerializerReadContextComplex.cs
- TableHeaderCell.cs
- AddInStore.cs
- ImageAnimator.cs
- BlobPersonalizationState.cs
- OrthographicCamera.cs
- TextTreeDeleteContentUndoUnit.cs
- UnionCqlBlock.cs
- CachedTypeface.cs
- BasicHttpBindingCollectionElement.cs
- PackWebRequest.cs
- CodeDOMUtility.cs
- IdentityHolder.cs
- AttachmentService.cs
- PageSetupDialog.cs
- Padding.cs
- DesignerValidationSummaryAdapter.cs
- TypeInfo.cs
- UpdateTranslator.cs
- SystemDiagnosticsSection.cs
- DBParameter.cs
- TextDecorationCollectionConverter.cs
- CharKeyFrameCollection.cs
- ContractTypeNameCollection.cs
- KeyValueConfigurationCollection.cs
- PropertyDescriptor.cs
- HTTPAPI_VERSION.cs
- SqlUdtInfo.cs
- ProviderSettingsCollection.cs
- ActiveDocumentEvent.cs
- EventDescriptor.cs
- StringBlob.cs
- WebControlAdapter.cs
- ComponentResourceKey.cs
- OAVariantLib.cs
- ByteBufferPool.cs
- HttpContext.cs
- TrackingServices.cs
- DataStreams.cs
- PipelineModuleStepContainer.cs
- XslVisitor.cs
- CompilerScope.cs
- SubMenuStyle.cs
- webclient.cs
- UnmanagedBitmapWrapper.cs
- CodeSnippetExpression.cs
- Cursors.cs
- XpsManager.cs
- AlphabetConverter.cs
- EntitySqlQueryBuilder.cs
- SHA256Managed.cs
- WebBrowserSiteBase.cs
- InputManager.cs
- validationstate.cs
- CodeConditionStatement.cs
- ApplicationInfo.cs
- Padding.cs