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
- Subset.cs
- AggregatePushdown.cs
- Codec.cs
- GeneralTransform3DGroup.cs
- UnsupportedPolicyOptionsException.cs
- Helper.cs
- FlagsAttribute.cs
- SecurityRuntime.cs
- XmlNodeWriter.cs
- HostedHttpContext.cs
- HandleValueEditor.cs
- XamlWriterExtensions.cs
- SrgsSubset.cs
- StylusCollection.cs
- JournalEntryStack.cs
- DataGridViewRowsRemovedEventArgs.cs
- CopyOfAction.cs
- CompiledELinqQueryState.cs
- MatrixUtil.cs
- TemplateApplicationHelper.cs
- MulticastDelegate.cs
- updatecommandorderer.cs
- UICuesEvent.cs
- JapaneseLunisolarCalendar.cs
- SqlClientMetaDataCollectionNames.cs
- BuildProvider.cs
- TypeBuilder.cs
- SoapTypeAttribute.cs
- PartManifestEntry.cs
- BindingEditor.xaml.cs
- Rijndael.cs
- LambdaCompiler.Logical.cs
- CodeLabeledStatement.cs
- DbConnectionPoolGroup.cs
- PathGeometry.cs
- RowType.cs
- Switch.cs
- XsdDataContractExporter.cs
- ListQueryResults.cs
- ToolStripContentPanelRenderEventArgs.cs
- Expander.cs
- PageTheme.cs
- StorageEntitySetMapping.cs
- FlowDocumentPaginator.cs
- UserNamePasswordValidator.cs
- DesignTimeVisibleAttribute.cs
- ToolZoneDesigner.cs
- Int16Storage.cs
- PipelineModuleStepContainer.cs
- DefaultBindingPropertyAttribute.cs
- ToolBar.cs
- ViewSimplifier.cs
- TcpTransportManager.cs
- FixedDocumentPaginator.cs
- ReliableSessionBindingElement.cs
- TreeNodeBinding.cs
- FontFamilyValueSerializer.cs
- DbQueryCommandTree.cs
- Psha1DerivedKeyGenerator.cs
- DesignerDataView.cs
- SynchronizationLockException.cs
- Debug.cs
- SvcFileManager.cs
- ArrayHelper.cs
- XmlIlGenerator.cs
- Select.cs
- ObjectViewListener.cs
- WebBrowserEvent.cs
- Vector3DAnimationBase.cs
- EmbeddedMailObjectsCollection.cs
- SspiSafeHandles.cs
- SelectionRange.cs
- VerificationAttribute.cs
- PermissionToken.cs
- PolicyValidationException.cs
- OperationResponse.cs
- GridViewColumnHeader.cs
- XmlAttributeCache.cs
- WebControl.cs
- SafeProcessHandle.cs
- DSASignatureDeformatter.cs
- SqlTriggerContext.cs
- FormsIdentity.cs
- RegionIterator.cs
- IFlowDocumentViewer.cs
- UrlAuthFailedErrorFormatter.cs
- NetCodeGroup.cs
- MsiStyleLogWriter.cs
- NotifyCollectionChangedEventArgs.cs
- ExtensionSimplifierMarkupObject.cs
- FormViewUpdateEventArgs.cs
- SafeNativeMemoryHandle.cs
- ShortcutKeysEditor.cs
- SecurityContext.cs
- MetabaseServerConfig.cs
- WorkflowTransactionOptions.cs
- WebServiceClientProxyGenerator.cs
- ReachPrintTicketSerializerAsync.cs
- externdll.cs
- Lookup.cs