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
- DirectoryRedirect.cs
- UidPropertyAttribute.cs
- MetadataLocation.cs
- RequestTimeoutManager.cs
- MinMaxParagraphWidth.cs
- Msec.cs
- XmlnsPrefixAttribute.cs
- SectionVisual.cs
- ArraySegment.cs
- FontStretch.cs
- InlinedAggregationOperatorEnumerator.cs
- ComUdtElementCollection.cs
- DbExpressionBuilder.cs
- SchemaName.cs
- ErrorTableItemStyle.cs
- sortedlist.cs
- CurrentChangingEventArgs.cs
- CompensatableTransactionScopeActivity.cs
- XmlDictionaryWriter.cs
- ThicknessAnimationBase.cs
- UseAttributeSetsAction.cs
- ResourceType.cs
- ArrangedElement.cs
- RIPEMD160Managed.cs
- XmlNamespaceMappingCollection.cs
- DesignerEditorPartChrome.cs
- UrlMapping.cs
- Matrix.cs
- ConfigurationStrings.cs
- ScriptingSectionGroup.cs
- XmlDesigner.cs
- HandleScope.cs
- SoapFault.cs
- MatchNoneMessageFilter.cs
- Dictionary.cs
- OdbcCommandBuilder.cs
- _ConnectStream.cs
- CellLabel.cs
- COM2Enum.cs
- Event.cs
- DebugHandleTracker.cs
- StylusEventArgs.cs
- SafeNativeMethods.cs
- ProvidersHelper.cs
- SafeEventLogReadHandle.cs
- streamingZipPartStream.cs
- StructuralCache.cs
- ConsumerConnectionPoint.cs
- XmlSchemaDocumentation.cs
- RequestNavigateEventArgs.cs
- Vector3D.cs
- SystemDropShadowChrome.cs
- CodeAttributeDeclarationCollection.cs
- FixedPageStructure.cs
- MouseCaptureWithinProperty.cs
- GPPOINTF.cs
- DoubleUtil.cs
- ColorAnimation.cs
- SystemIPv6InterfaceProperties.cs
- WebPartTransformerAttribute.cs
- InvalidDataException.cs
- ValueCollectionParameterReader.cs
- StylusPlugin.cs
- PTManager.cs
- ClientSideQueueItem.cs
- ArithmeticException.cs
- DebugInfoGenerator.cs
- _LocalDataStore.cs
- MatrixCamera.cs
- BitVector32.cs
- XmlCharCheckingReader.cs
- UnorderedHashRepartitionStream.cs
- HandledMouseEvent.cs
- RelativeSource.cs
- ConfigurationLockCollection.cs
- ResponseBodyWriter.cs
- Window.cs
- DescendantQuery.cs
- StatementContext.cs
- FacetChecker.cs
- FileVersionInfo.cs
- WmlPhoneCallAdapter.cs
- HttpException.cs
- MenuEventArgs.cs
- DatatypeImplementation.cs
- DiagnosticsConfiguration.cs
- XmlAttributes.cs
- RemotingException.cs
- ContainerActivationHelper.cs
- HttpApplicationFactory.cs
- StylusPlugInCollection.cs
- RectangleHotSpot.cs
- DelegateCompletionCallbackWrapper.cs
- BamlCollectionHolder.cs
- NativeWindow.cs
- ListBoxItemWrapperAutomationPeer.cs
- Soap.cs
- XamlToRtfParser.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- ComPlusServiceHost.cs