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
- EntityContainerRelationshipSetEnd.cs
- IndexOutOfRangeException.cs
- StatusBar.cs
- ComNativeDescriptor.cs
- DiscoveryMessageSequenceCD1.cs
- DayRenderEvent.cs
- TextParentUndoUnit.cs
- WebServiceParameterData.cs
- ImageButton.cs
- PersonalizablePropertyEntry.cs
- AnimationTimeline.cs
- Floater.cs
- XmlReflectionImporter.cs
- CancellationToken.cs
- SpotLight.cs
- unitconverter.cs
- SystemWebSectionGroup.cs
- XmlSerializerVersionAttribute.cs
- TouchPoint.cs
- _BasicClient.cs
- RealizationDrawingContextWalker.cs
- LayoutInformation.cs
- Matrix.cs
- SignHashRequest.cs
- DebugInfoExpression.cs
- PointHitTestParameters.cs
- Path.cs
- ColorComboBox.cs
- LoginAutoFormat.cs
- CompositeDataBoundControl.cs
- ToolboxComponentsCreatedEventArgs.cs
- ImageButton.cs
- XmlLanguage.cs
- Atom10FormatterFactory.cs
- ElementMarkupObject.cs
- IgnoreFileBuildProvider.cs
- OracleConnection.cs
- EncoderFallback.cs
- TextElementEnumerator.cs
- RegexGroup.cs
- Binding.cs
- X509Certificate2Collection.cs
- IconBitmapDecoder.cs
- EdmRelationshipRoleAttribute.cs
- OdbcRowUpdatingEvent.cs
- storepermission.cs
- baseshape.cs
- ProviderBase.cs
- PrivateFontCollection.cs
- CssStyleCollection.cs
- ExtendedProtectionPolicy.cs
- DataGridViewColumn.cs
- TransformerTypeCollection.cs
- SrgsDocument.cs
- PaintValueEventArgs.cs
- ByteAnimationBase.cs
- RequestQueue.cs
- UIElement3D.cs
- odbcmetadatacollectionnames.cs
- FontSizeConverter.cs
- indexingfiltermarshaler.cs
- RegexCode.cs
- CodeDOMUtility.cs
- SettingsSavedEventArgs.cs
- SAPICategories.cs
- UIElementHelper.cs
- AsyncResult.cs
- coordinatorscratchpad.cs
- DropDownList.cs
- StyleCollection.cs
- WebDescriptionAttribute.cs
- DataControlPagerLinkButton.cs
- PropertyEmitterBase.cs
- CommandConverter.cs
- CalculatedColumn.cs
- TypeGeneratedEventArgs.cs
- ScriptingJsonSerializationSection.cs
- IApplicationTrustManager.cs
- SequenceDesigner.cs
- Journaling.cs
- BamlWriter.cs
- XmlNavigatorFilter.cs
- WebProxyScriptElement.cs
- InternalUserCancelledException.cs
- DispatcherProcessingDisabled.cs
- CommandField.cs
- ValidatorUtils.cs
- Animatable.cs
- AssertSection.cs
- ExceptionDetail.cs
- SmtpFailedRecipientsException.cs
- Parallel.cs
- ErrorRuntimeConfig.cs
- FormClosingEvent.cs
- CachedPathData.cs
- ComAwareEventInfo.cs
- OperandQuery.cs
- NetNamedPipeBindingCollectionElement.cs
- FunctionQuery.cs
- EventToken.cs