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
- SignatureDescription.cs
- SQLInt64Storage.cs
- XMLDiffLoader.cs
- GeometryHitTestResult.cs
- XmlUrlResolver.cs
- PhysicalAddress.cs
- ToolStripSystemRenderer.cs
- WebPartActionVerb.cs
- Encoder.cs
- DataGridHeaderBorder.cs
- StringAnimationBase.cs
- GacUtil.cs
- SQLRoleProvider.cs
- LongSumAggregationOperator.cs
- BuildDependencySet.cs
- ZipIOModeEnforcingStream.cs
- LayoutEngine.cs
- XmlObjectSerializerReadContextComplex.cs
- TextBoxBase.cs
- FileInfo.cs
- LineMetrics.cs
- Content.cs
- EncodingNLS.cs
- Globals.cs
- SafeBitVector32.cs
- SqlMethodTransformer.cs
- ProbeMatches11.cs
- CurrentTimeZone.cs
- RegexCaptureCollection.cs
- Int32KeyFrameCollection.cs
- FilePrompt.cs
- GridViewHeaderRowPresenter.cs
- FirstMatchCodeGroup.cs
- RelatedCurrencyManager.cs
- MailWebEventProvider.cs
- SafeNativeMethods.cs
- InstanceNotReadyException.cs
- DataSourceSelectArguments.cs
- WebPartManagerInternals.cs
- QuestionEventArgs.cs
- ReliabilityContractAttribute.cs
- MouseButtonEventArgs.cs
- MexTcpBindingCollectionElement.cs
- UIElementCollection.cs
- TextReturnReader.cs
- DataGridItem.cs
- HttpChannelHelpers.cs
- AccessibleObject.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- AnchoredBlock.cs
- WindowsRichEditRange.cs
- controlskin.cs
- NegotiationTokenAuthenticatorStateCache.cs
- ConfigurationErrorsException.cs
- SystemResources.cs
- RectangleF.cs
- ApplicationServiceManager.cs
- SafeRegistryKey.cs
- AdRotator.cs
- PriorityBinding.cs
- TraceListeners.cs
- WarningException.cs
- ImageFormatConverter.cs
- DBDataPermissionAttribute.cs
- OneOf.cs
- NamespaceDecl.cs
- SmiEventStream.cs
- StoragePropertyMapping.cs
- PersonalizationProvider.cs
- AuthenticatedStream.cs
- SecurityException.cs
- SelectedGridItemChangedEvent.cs
- TemplateBamlRecordReader.cs
- StrokeFIndices.cs
- Nullable.cs
- DoubleAnimationBase.cs
- ToolStripSeparator.cs
- HttpPostedFileWrapper.cs
- TextTreeDeleteContentUndoUnit.cs
- GC.cs
- AliasExpr.cs
- TableCellsCollectionEditor.cs
- OdbcRowUpdatingEvent.cs
- StructuredProperty.cs
- FixedPageProcessor.cs
- PermissionToken.cs
- NamedObject.cs
- TransformerInfo.cs
- SemanticResultValue.cs
- TableCell.cs
- Decimal.cs
- DrawingImage.cs
- MsmqOutputMessage.cs
- DataBindingValueUIHandler.cs
- XmlSchemaType.cs
- SmiEventSink.cs
- QueryOutputWriterV1.cs
- Site.cs
- SocketException.cs
- followingsibling.cs