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
- GradientPanel.cs
- CommandHelper.cs
- ExtensionSimplifierMarkupObject.cs
- ToolZone.cs
- TraceUtils.cs
- SelectQueryOperator.cs
- PolyQuadraticBezierSegment.cs
- MetadataArtifactLoaderCompositeResource.cs
- SqlDataSourceCache.cs
- PropertyEmitter.cs
- DataListDesigner.cs
- SafeProcessHandle.cs
- XPathNavigatorKeyComparer.cs
- FillErrorEventArgs.cs
- ConfigXmlComment.cs
- SrgsDocument.cs
- ByteRangeDownloader.cs
- BinaryObjectInfo.cs
- AuthenticatedStream.cs
- PlaceHolder.cs
- SystemColors.cs
- EntityContainerAssociationSet.cs
- MetadataArtifactLoaderFile.cs
- LassoHelper.cs
- WebRequestModuleElement.cs
- COAUTHIDENTITY.cs
- XmlILModule.cs
- TabControlDesigner.cs
- TextServicesDisplayAttribute.cs
- ConfigurationStrings.cs
- MobileUserControl.cs
- TypeSemantics.cs
- IntSecurity.cs
- GridViewAutomationPeer.cs
- GeometryCombineModeValidation.cs
- RandomNumberGenerator.cs
- DataKey.cs
- Visual3D.cs
- SkinIDTypeConverter.cs
- SoapAttributeOverrides.cs
- MetadataFile.cs
- LinqDataSourceInsertEventArgs.cs
- WebReferenceOptions.cs
- MediaTimeline.cs
- JoinCqlBlock.cs
- HashCodeCombiner.cs
- SyncOperationState.cs
- WindowsFormsHostAutomationPeer.cs
- CodeConditionStatement.cs
- ToolStripArrowRenderEventArgs.cs
- BCLDebug.cs
- BinaryExpression.cs
- DescriptionAttribute.cs
- MetadataItemEmitter.cs
- AutomationIdentifier.cs
- WebHeaderCollection.cs
- Literal.cs
- EventPrivateKey.cs
- StreamInfo.cs
- OrderPreservingPipeliningSpoolingTask.cs
- PrintPreviewDialog.cs
- HttpMethodAttribute.cs
- MonikerBuilder.cs
- WebPartExportVerb.cs
- X509SecurityTokenAuthenticator.cs
- TextAction.cs
- XmlSchemaComplexContent.cs
- AccessibleObject.cs
- PreProcessInputEventArgs.cs
- AmbiguousMatchException.cs
- Lasso.cs
- UnknownBitmapEncoder.cs
- VersionedStreamOwner.cs
- StreamAsIStream.cs
- FileSystemEventArgs.cs
- AdjustableArrowCap.cs
- ScrollBarRenderer.cs
- AttachedPropertyBrowsableAttribute.cs
- PKCS1MaskGenerationMethod.cs
- AdvancedBindingEditor.cs
- ListViewGroupConverter.cs
- EntityDataSourceQueryBuilder.cs
- TextEndOfParagraph.cs
- CompositeCollectionView.cs
- CodeMemberField.cs
- TcpWorkerProcess.cs
- OutputCacheProviderCollection.cs
- ScrollEventArgs.cs
- BrushMappingModeValidation.cs
- HttpModuleCollection.cs
- TcpStreams.cs
- ObjectComplexPropertyMapping.cs
- HwndStylusInputProvider.cs
- HierarchicalDataSourceControl.cs
- DataGridCell.cs
- WorkflowRuntimeServicesBehavior.cs
- ListControl.cs
- GACMembershipCondition.cs
- XmlAnyAttributeAttribute.cs
- sqlpipe.cs