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
- Image.cs
- OdbcUtils.cs
- Size3D.cs
- FloatSumAggregationOperator.cs
- PauseStoryboard.cs
- ObjectSecurity.cs
- XmlHierarchyData.cs
- SchemaElementLookUpTableEnumerator.cs
- GridViewDeleteEventArgs.cs
- BoundPropertyEntry.cs
- FlowLayoutPanel.cs
- UidManager.cs
- ConstructorBuilder.cs
- ActivityValidationServices.cs
- CodeDomSerializerException.cs
- Table.cs
- Duration.cs
- ExpressionLexer.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- COM2ColorConverter.cs
- KeyTimeConverter.cs
- Delegate.cs
- DockPattern.cs
- AccessorTable.cs
- DataSourceCache.cs
- WindowsTreeView.cs
- KeysConverter.cs
- DataSourceSelectArguments.cs
- XamlLoadErrorInfo.cs
- GridViewAutoFormat.cs
- WaitHandleCannotBeOpenedException.cs
- DispatcherOperation.cs
- Attributes.cs
- PersonalizationAdministration.cs
- Image.cs
- ChangeProcessor.cs
- WorkflowInstanceProxy.cs
- XmlSerializationWriter.cs
- SettingsPropertyWrongTypeException.cs
- ReadOnlyDataSource.cs
- RuleElement.cs
- CompilerCollection.cs
- IndexerNameAttribute.cs
- BaseAddressElementCollection.cs
- ExtractorMetadata.cs
- RichTextBox.cs
- InheritedPropertyChangedEventArgs.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- SymmetricSecurityBindingElement.cs
- SemanticBasicElement.cs
- PageSetupDialog.cs
- TableSectionStyle.cs
- figurelength.cs
- ProfileElement.cs
- DataControlHelper.cs
- Terminate.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- EditorPart.cs
- TypeDefinition.cs
- TabletDeviceInfo.cs
- StrongNameHelpers.cs
- MemoryMappedViewStream.cs
- ConsoleKeyInfo.cs
- ItemsChangedEventArgs.cs
- WebPartZone.cs
- TypeUsage.cs
- LinearGradientBrush.cs
- DocumentAutomationPeer.cs
- Rfc4050KeyFormatter.cs
- MdiWindowListStrip.cs
- XmlNodeChangedEventManager.cs
- ResourceExpressionBuilder.cs
- _OSSOCK.cs
- SafeSystemMetrics.cs
- DiscreteKeyFrames.cs
- ConditionCollection.cs
- PageFunction.cs
- FixedTextSelectionProcessor.cs
- translator.cs
- MailWebEventProvider.cs
- EventPrivateKey.cs
- XPathNodeHelper.cs
- UpDownEvent.cs
- ScrollEventArgs.cs
- BitmapDownload.cs
- Group.cs
- AppAction.cs
- CultureMapper.cs
- ApplicationBuildProvider.cs
- OracleDataAdapter.cs
- ValidatorUtils.cs
- WorkflowApplicationCompletedEventArgs.cs
- Point.cs
- FixedSOMFixedBlock.cs
- InputManager.cs
- ContentPresenter.cs
- WindowsHyperlink.cs
- SortKey.cs
- ConstraintEnumerator.cs
- unitconverter.cs