Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- GetImportedCardRequest.cs
- NameValuePermission.cs
- Rotation3DAnimation.cs
- ParseHttpDate.cs
- CodeMethodReturnStatement.cs
- counter.cs
- BinaryUtilClasses.cs
- NameValuePair.cs
- TransformerInfoCollection.cs
- TextProperties.cs
- Mappings.cs
- SByte.cs
- GetPageCompletedEventArgs.cs
- UserControlCodeDomTreeGenerator.cs
- odbcmetadatacollectionnames.cs
- DefaultPropertyAttribute.cs
- RegistrationProxy.cs
- ServiceOperationViewControl.cs
- TraceRecords.cs
- EndpointConfigContainer.cs
- EntityWithKeyStrategy.cs
- WindowsUpDown.cs
- Vector3DCollection.cs
- OrderedDictionaryStateHelper.cs
- ConfigXmlComment.cs
- UpdateRecord.cs
- ImmComposition.cs
- DropShadowBitmapEffect.cs
- Site.cs
- TextTrailingCharacterEllipsis.cs
- diagnosticsswitches.cs
- VSWCFServiceContractGenerator.cs
- EntityCommandCompilationException.cs
- PropertyEntry.cs
- TheQuery.cs
- IisTraceWebEventProvider.cs
- CodeMethodReturnStatement.cs
- UrlAuthorizationModule.cs
- CacheManager.cs
- DataGridItemCollection.cs
- XmlTypeAttribute.cs
- OleServicesContext.cs
- WebWorkflowRole.cs
- sqlstateclientmanager.cs
- MemberMaps.cs
- DataServiceRequestException.cs
- ConnectionsZoneAutoFormat.cs
- ListParaClient.cs
- XmlSchemaDatatype.cs
- WebPartCatalogAddVerb.cs
- PathStreamGeometryContext.cs
- XmlSchemaRedefine.cs
- TreePrinter.cs
- XmlSchema.cs
- RuntimeCompatibilityAttribute.cs
- HttpCachePolicy.cs
- CustomCategoryAttribute.cs
- ReadOnlyDataSourceView.cs
- XmlReflectionMember.cs
- OdbcTransaction.cs
- PathSegment.cs
- DataRowView.cs
- XmlSignatureManifest.cs
- FloaterBaseParaClient.cs
- XmlUnspecifiedAttribute.cs
- Error.cs
- CustomErrorsSection.cs
- DemultiplexingClientMessageFormatter.cs
- Geometry.cs
- ToolboxSnapDragDropEventArgs.cs
- LinqDataSource.cs
- SqlEnums.cs
- NamespaceExpr.cs
- LoadedOrUnloadedOperation.cs
- DataGridCell.cs
- ObjectViewEntityCollectionData.cs
- TemplatedMailWebEventProvider.cs
- TagPrefixAttribute.cs
- MediaTimeline.cs
- AdPostCacheSubstitution.cs
- RectangleConverter.cs
- ChameleonKey.cs
- NativeMethodsOther.cs
- Switch.cs
- ButtonBaseAutomationPeer.cs
- shaper.cs
- ActivityBindForm.Designer.cs
- DataRelationPropertyDescriptor.cs
- CompilerGlobalScopeAttribute.cs
- KeyValueSerializer.cs
- ClientData.cs
- DataGridColumnCollection.cs
- TokenCreationParameter.cs
- CheckBox.cs
- CollaborationHelperFunctions.cs
- HttpClientCertificate.cs
- ServiceCredentialsElement.cs
- ObjectConverter.cs
- ConvertEvent.cs
- HtmlGenericControl.cs