// ------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version: 17.0.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // // ------------------------------------------------------------------------------ namespace ServiceClientGenerator.Generators { using System.IO; using System.Linq; using System.Text; using System.Collections.Generic; using ServiceClientGenerator.DefaultConfiguration; using System; /// /// Class to produce the template output /// #line 1 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")] public partial class BaseGenerator : BaseGeneratorBase { #line hidden /// /// Create the template output /// public virtual string TransformText() { this.Write("\r\n\r\n"); return this.GenerationEnvironment.ToString(); } #line 10 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" // An object that contains all the information about a service public ServiceConfiguration Config { get; set; } /// /// Model representing the default configuration modes as built /// from the sdk-default-configurations.json file. /// public DefaultConfigurationModel DefaultConfigurationModel { get; set; } // Adds the Amazon Apache 2.0 license public void AddLicenseHeader() { #line default #line hidden #line 23 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(@"/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the ""License""). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the ""license"" file accompanying this file. This file is distributed * on an ""AS IS"" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the "); #line default #line hidden #line 40 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(Path.GetFileName(this.Config.ModelPath))); #line default #line hidden #line 40 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" service model.\r\n */\r\n"); #line default #line hidden #line 42 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } // Adds documentation to the begin operation based on the name public void AddBeginAsyncDocumentation(Operation operation) { #line default #line hidden #line 48 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// Initiates the asynchronous execution of the "); #line default #line hidden #line 50 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 50 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" operation.\r\n /// \r\n /// \r\n /// Container for the necessary parameters to execute the "); #line default #line hidden #line 53 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 53 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" operation on Amazon"); #line default #line hidden #line 53 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName)); #line default #line hidden #line 53 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(@"Client. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking End"); #line default #line hidden #line 58 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 58 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\r\n /// operation.\r\n"); #line default #line hidden #line 60 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" if(!string.IsNullOrEmpty(operation.RestAPIDocUrl)) { #line default #line hidden #line 63 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 65 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } } // Generates the end operation async documentation public void AddEndAsyncDocumentation(Operation operation) { #line default #line hidden #line 72 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// Finishes the asynchronous execution of the "); #line default #line hidden #line 74 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 74 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" operation.\r\n /// \r\n /// \r\n /// The IAsyncResult returned by the call to Begin"); #line default #line hidden #line 77 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 77 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(".\r\n /// \r\n /// Returns a "); #line default #line hidden #line 79 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 79 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("Result from "); #line default #line hidden #line 79 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName)); #line default #line hidden #line 79 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(".\r\n"); #line default #line hidden #line 80 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" if(!string.IsNullOrEmpty(operation.RestAPIDocUrl)) { #line default #line hidden #line 83 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 85 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } } // Generates Client documentation public void FormatServiceClientDocumentation(string documentation) { documentation = CleanupDocumentation(documentation); #line default #line hidden #line 93 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// Implementation for accessing "); #line default #line hidden #line 95 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName)); #line default #line hidden #line 95 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\r\n ///\r\n"); #line default #line hidden #line 97 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" WriteCommentBlock(" ", documentation); #line default #line hidden #line 99 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 101 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } // Generates interface documentation public void FormatServiceInterfaceDocumentation(string documentation) { documentation = CleanupDocumentation(documentation); #line default #line hidden #line 108 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// Interface for accessing "); #line default #line hidden #line 110 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName)); #line default #line hidden #line 110 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\r\n ///\r\n"); #line default #line hidden #line 112 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" WriteCommentBlock(" ", documentation); #line default #line hidden #line 114 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 116 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } // Adds documentation to the class based on the shape public void FormatClassDocumentation(Shape structure) { if(structure == null) { #line default #line hidden #line 124 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n\t/// Empty class reserved for future use.\r\n /// \r" + "\n"); #line default #line hidden #line 128 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" return; } var documentation = CleanupDocumentation(structure.Documentation); #line default #line hidden #line 132 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 134 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" WriteCommentBlock(" ", documentation); #line default #line hidden #line 136 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 138 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } // Adds documentation to the members of a structure public void FormatPropertyDocumentation(Member member, string documentationPreface = "") { if (documentationPreface != null && documentationPreface != "") { if (!documentationPreface.EndsWith(".")) { documentationPreface += "."; } documentationPreface = "

" + documentationPreface + "

"; } var documentation = CleanupDocumentation(string.Format("Gets and sets the property {0}. {1}{2}", member.PropertyName, documentationPreface, member.Documentation)); #line default #line hidden #line 154 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 156 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" WriteCommentBlock(" ", documentation); #line default #line hidden #line 158 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 160 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } public void FormatOperationDocumentationSync(Operation operation, bool includeRequest) { FormatOperationDocumentationHelper(operation, includeRequest, false); } public void FormatOperationDocumentationAsync(Operation operation, bool includeRequest) { FormatOperationDocumentationHelper(operation, includeRequest, true); } // Documents the operation in a client or interface and optionally includes request param private void FormatOperationDocumentationHelper(Operation operation, bool includeRequest, bool isAsync) { var documentation = CleanupDocumentation(operation.Documentation); #line default #line hidden #line 178 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\r\n /// \r\n"); #line default #line hidden #line 181 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" WriteCommentBlock(" ", documentation); #line default #line hidden #line 183 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 185 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" if (includeRequest) { #line default #line hidden #line 188 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// Container for the necessary parameters to execu" + "te the "); #line default #line hidden #line 189 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 189 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" service method.\r\n"); #line default #line hidden #line 190 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } if (isAsync) { // follows Async Pattern #line default #line hidden #line 196 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// A cancellation toke" + "n that can be used by other objects or threads to receive notice of cancellation" + ".\r\n /// \r\n"); #line default #line hidden #line 200 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } #line default #line hidden #line 202 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// The response from the "); #line default #line hidden #line 204 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 204 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" service method, as returned by "); #line default #line hidden #line 204 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName)); #line default #line hidden #line 204 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(".\r\n"); #line default #line hidden #line 205 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" // Skip adding exceptions in the ndoc because we are not generating exceptions from the service model. if(this.Config.Namespace != "Amazon.S3") { foreach(var exception in operation.Exceptions) { this.FormatExceptionDocumentation(exception); } } if(!string.IsNullOrEmpty(operation.RestAPIDocUrl)) { #line default #line hidden #line 217 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 219 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } } // Generates operation documentation with a param tag for each member in the list public void FormatOperationDocumentation(Operation operation, List members, bool isSync) { var documentation = CleanupDocumentation(operation.Documentation); #line default #line hidden #line 228 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\r\n /// \r\n"); #line default #line hidden #line 231 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" WriteCommentBlock(" ", documentation); #line default #line hidden #line 233 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 235 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" foreach(var item in members) { #line default #line hidden #line 237 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// "); #line default #line hidden #line 238 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(item.GetParamDocumentationForOperation(operation.Name))); #line default #line hidden #line 238 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\r\n"); #line default #line hidden #line 239 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } if (!isSync) { #line default #line hidden #line 243 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// A cancellation toke" + "n that can be used by other objects or threads to receive notice of cancellation" + ".\r\n /// \r\n"); #line default #line hidden #line 247 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } #line default #line hidden #line 249 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// The response from the "); #line default #line hidden #line 251 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 251 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" service method, as returned by "); #line default #line hidden #line 251 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName)); #line default #line hidden #line 251 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(".\r\n"); #line default #line hidden #line 252 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" if (!this.Config.ServiceModel.Customizations.SuppressSimpleMethodExceptionDocs) { foreach(var exception in operation.Exceptions) { this.FormatExceptionDocumentation(exception); } } if(!string.IsNullOrEmpty(operation.RestAPIDocUrl)) { #line default #line hidden #line 263 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 265 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } } public void FormatOperationRequestDocumentation(Operation operation) { var documentation = CleanupDocumentation(operation.Documentation); #line default #line hidden #line 272 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\t/// \r\n\t/// Container for the parameters to the "); #line default #line hidden #line 274 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 274 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" operation.\r\n"); #line default #line hidden #line 275 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" WriteCommentBlock(" ", documentation); #line default #line hidden #line 277 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\t/// \r\n"); #line default #line hidden #line 279 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } // Generates documentation for an exception, added to operation documentation public void FormatExceptionDocumentation(ExceptionShape exceptionShape) { var documentation = CleanupDocumentation(exceptionShape.Documentation); #line default #line hidden #line 287 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n"); #line default #line hidden #line 293 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } // Generates documentation for a result that is empty public void FormatVoidResultDocumentation(string operationName) { #line default #line hidden #line 299 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\t/// \r\n\t///\tReturns information about the "); #line default #line hidden #line 301 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operationName)); #line default #line hidden #line 301 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" response metadata.\r\n\t///\tThe "); #line default #line hidden #line 302 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operationName)); #line default #line hidden #line 302 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" operation has a void result type.\r\n\t/// \r\n"); #line default #line hidden #line 304 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } // Writes a block for an xml comment with correct line endings // Every \n (new line) in the block is written on a new line of the block private void WriteCommentBlock(string spaceBlock, string block) { foreach(var line in block.Split('\n')) { this.Write("{0}/// {1}\r\n", spaceBlock, line); } } // Removes unneccesary tags from the documentation and formats paragraph tags correctly public string CleanupDocumentation(string documentation) { documentation = documentation .Replace("\r", "") .Replace("\n", "") .Replace("
", "") .Replace("

", "\n\n") .Replace("

", "\n\n") .Replace("", "") .Replace("", "") .Replace("", "") .Replace("","") .Replace("

","") .Trim(); // Remove examples because these will be wire protocol examples documentation = RemoveSnippets(documentation, "", ""); // Remove commented out documentation documentation = RemoveSnippets(documentation, ""); documentation = RemoveSnippets(documentation, ""); documentation = RemoveSnippets(documentation, ""); documentation = RemoveSnippets(documentation, ""); documentation = RemoveSnippets(documentation, ""); // Remove the first para tags since it just be the first paragraph in the summary. // This also helps clean up documentation that only contains one para block. if(documentation.StartsWith("")) { int closePos= documentation.IndexOf(""); if (closePos < 0) // note: documentation was transformed a few lines above throw new Exception("Documentation is missing closing tag (ie

or ): " + documentation); var firstParaContent= documentation.Substring("".Length, closePos - "".Length); documentation = firstParaContent + documentation.Substring(closePos + "".Length); } // Insert line breaks around 80 character line length StringBuilder sb = new StringBuilder(); int position = 0; int currentLineLength = 0; while(position < documentation.Length) { char c = documentation[position]; if(c == '\n') { currentLineLength = 0; sb.Append(c); } else if(c == ' ' && currentLineLength > 80) { currentLineLength = 0; sb.Append("\n"); } else { currentLineLength++; sb.Append(c); } position++; } return sb.ToString().Trim(); } private string RemoveSnippets(string documentation, string startToken, string endToken) { int startPos = documentation.IndexOf(startToken); while(startPos != -1) { int closePos = documentation.IndexOf(endToken, startPos); documentation = documentation.Substring(0, startPos) + documentation.Substring(closePos + endToken.Length); startPos = documentation.IndexOf(startToken); } return documentation; } // Generates the comment block for simple constructors, each member is added as a param tag with the shape's documentation or // a generic comment if no documentation is found public void FormatSimpleConstructorDocumentation(string className, IList members) { #line default #line hidden #line 407 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// Instantiates "); #line default #line hidden #line 409 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(className)); #line default #line hidden #line 409 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" with the parameterized properties\r\n /// \r\n"); #line default #line hidden #line 411 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" foreach (var member in members) { #line default #line hidden #line 414 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// "); #line default #line hidden #line 415 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.GetParamDocumentationForConstructor(className))); #line default #line hidden #line 415 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\r\n"); #line default #line hidden #line 416 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } } #line default #line hidden #line 421 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" // Generates methods for the client that have request members as parameters for easy calls to the operation // Only generates them if they are specified in the customizations of the service public void AddSimpleClientMethods(Operation operation, bool isSync) { if (this.Config.ServiceModel.Customizations.SimpleMethodsModel.CreateSimpleMethods(operation.Name)) { var forms = this.Config.ServiceModel.Customizations.SimpleMethodsModel.SimpleMethods[operation.Name].Forms; var members = this.Config.ServiceModel.FindShape(operation.RequestStructure.Name).Members; foreach (var form in forms) { string currentParams = this.Config.ServiceModel.Customizations.SimpleMethodsModel.GetSimpleParameters(form, members); var docMembers = this.Config.ServiceModel.Customizations.SimpleMethodsModel.GetFormMembers(form, members); this.FormatOperationDocumentation(operation, docMembers, isSync); if (isSync) { if(operation.IsDeprecated) { #line default #line hidden #line 441 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\t\t[Obsolete(\""); #line default #line hidden #line 442 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.DeprecationMessage)); #line default #line hidden #line 442 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\")]\r\n"); #line default #line hidden #line 443 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } #line default #line hidden #line 445 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" public virtual "); #line default #line hidden #line 446 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 446 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("Response "); #line default #line hidden #line 446 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 446 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("("); #line default #line hidden #line 446 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(currentParams)); #line default #line hidden #line 446 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(")\r\n"); #line default #line hidden #line 447 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } else { if (!string.IsNullOrEmpty(currentParams)) currentParams += ", "; if(operation.IsDeprecated) { #line default #line hidden #line 455 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\t\t[Obsolete(\""); #line default #line hidden #line 456 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.DeprecationMessage)); #line default #line hidden #line 456 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\")]\r\n"); #line default #line hidden #line 457 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } #line default #line hidden #line 459 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" public virtual Task<"); #line default #line hidden #line 460 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 460 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("Response> "); #line default #line hidden #line 460 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 460 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("Async("); #line default #line hidden #line 460 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(currentParams)); #line default #line hidden #line 460 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("System.Threading.CancellationToken cancellationToken = default(CancellationToken)" + ")\r\n"); #line default #line hidden #line 461 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } #line default #line hidden #line 463 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" {\r\n var request = new "); #line default #line hidden #line 465 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 465 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("Request();\r\n"); #line default #line hidden #line 466 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" foreach (var member in docMembers) { #line default #line hidden #line 469 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" request."); #line default #line hidden #line 470 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.PropertyName)); #line default #line hidden #line 470 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" = "); #line default #line hidden #line 470 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GeneratorHelpers.CamelCaseParam(member.PropertyName))); #line default #line hidden #line 470 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(";\r\n"); #line default #line hidden #line 471 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } if (isSync) { #line default #line hidden #line 476 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" return "); #line default #line hidden #line 477 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 477 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("(request);\r\n"); #line default #line hidden #line 478 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } else { #line default #line hidden #line 482 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" return "); #line default #line hidden #line 483 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 483 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("Async(request, cancellationToken);\r\n"); #line default #line hidden #line 484 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } #line default #line hidden #line 486 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" }\r\n\r\n"); #line default #line hidden #line 489 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } } } #line default #line hidden #line 494 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" // Generates methods for the interface that have request members as parameters for easy calls to the operation // Only generates them if they are specified in the customizations of the service public void AddSimpleClientMethodInterfaces(Operation operation, bool isSync) { if (this.Config.ServiceModel.Customizations.SimpleMethodsModel.CreateSimpleMethods(operation.Name)) { var forms = this.Config.ServiceModel.Customizations.SimpleMethodsModel.SimpleMethods[operation.Name].Forms; var members = this.Config.ServiceModel.FindShape(operation.RequestStructure.Name).Members; foreach (var form in forms) { string currentParams = this.Config.ServiceModel.Customizations.SimpleMethodsModel.GetSimpleParameters(form, members); var docMembers = this.Config.ServiceModel.Customizations.SimpleMethodsModel.GetFormMembers(form, members); this.FormatOperationDocumentation(operation, docMembers, isSync); if (isSync) { if(operation.IsDeprecated) { #line default #line hidden #line 514 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\t\t[Obsolete(\""); #line default #line hidden #line 515 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.DeprecationMessage)); #line default #line hidden #line 515 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\")]\r\n"); #line default #line hidden #line 516 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } #line default #line hidden #line 518 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" "); #line default #line hidden #line 519 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 519 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("Response "); #line default #line hidden #line 519 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 519 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("("); #line default #line hidden #line 519 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(currentParams)); #line default #line hidden #line 519 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(");\r\n"); #line default #line hidden #line 520 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } else { if (!string.IsNullOrEmpty(currentParams)) currentParams += ", "; if(operation.IsDeprecated) { #line default #line hidden #line 528 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\t\t[Obsolete(\""); #line default #line hidden #line 529 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.DeprecationMessage)); #line default #line hidden #line 529 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("\")]\r\n"); #line default #line hidden #line 530 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } #line default #line hidden #line 532 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" Task<"); #line default #line hidden #line 533 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 533 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("Response> "); #line default #line hidden #line 533 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(operation.Name)); #line default #line hidden #line 533 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("Async("); #line default #line hidden #line 533 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(currentParams)); #line default #line hidden #line 533 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("System.Threading.CancellationToken cancellationToken = default(CancellationToken)" + ");\r\n"); #line default #line hidden #line 534 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } } } } #line default #line hidden #line 541 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" // Generates constructors for operation requests that have request members in the parameters for easy creation of requests // Only generates them if they are specified in the customizations of the service public void AddSimpleRequestConstructors(string className, Shape structure, string nameSpace) { if (this.Config.ServiceModel.Customizations.SimpleConstructorsModel.CreateSimpleConstructors(className)) { var forms = this.Config.ServiceModel.Customizations.SimpleConstructorsModel.SimpleConstructors[className].Forms; var members = structure.Members; #line default #line hidden #line 550 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" /// \r\n /// Empty constructor used to set properties inde" + "pendently even when a simple constructor is available\r\n /// \r\n " + " public "); #line default #line hidden #line 553 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(className)); #line default #line hidden #line 553 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("() { }\r\n\r\n"); #line default #line hidden #line 555 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" foreach (var form in forms) { string currentParams = this.Config.ServiceModel.Customizations.SimpleConstructorsModel.GetSimpleParameters(form, members); var docMembers = this.Config.ServiceModel.Customizations.SimpleConstructorsModel.GetFormMembers(form, members); #line default #line hidden #line 561 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" FormatSimpleConstructorDocumentation(className, docMembers); #line default #line hidden #line 561 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" public "); #line default #line hidden #line 562 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(className)); #line default #line hidden #line 562 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write("("); #line default #line hidden #line 562 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(currentParams)); #line default #line hidden #line 562 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(")\r\n {\r\n"); #line default #line hidden #line 564 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" foreach (var member in docMembers) { #line default #line hidden #line 567 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" "); #line default #line hidden #line 568 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(member.VariableName)); #line default #line hidden #line 568 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" = "); #line default #line hidden #line 568 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(GeneratorHelpers.CamelCaseParam(member.PropertyName))); #line default #line hidden #line 568 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(";\r\n"); #line default #line hidden #line 569 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } #line default #line hidden #line 572 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" this.Write(" }\r\n\r\n"); #line default #line hidden #line 575 "C:\projects\aws\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\BaseGenerator.tt" } } } #line default #line hidden } #line default #line hidden #region Base class /// /// Base class for this transformation /// [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")] public class BaseGeneratorBase { #region Fields private global::System.Text.StringBuilder generationEnvironmentField; private global::System.CodeDom.Compiler.CompilerErrorCollection errorsField; private global::System.Collections.Generic.List indentLengthsField; private string currentIndentField = ""; private bool endsWithNewline; private global::System.Collections.Generic.IDictionary sessionField; #endregion #region Properties /// /// The string builder that generation-time code is using to assemble generated output /// protected System.Text.StringBuilder GenerationEnvironment { get { if ((this.generationEnvironmentField == null)) { this.generationEnvironmentField = new global::System.Text.StringBuilder(); } return this.generationEnvironmentField; } set { this.generationEnvironmentField = value; } } /// /// The error collection for the generation process /// public System.CodeDom.Compiler.CompilerErrorCollection Errors { get { if ((this.errorsField == null)) { this.errorsField = new global::System.CodeDom.Compiler.CompilerErrorCollection(); } return this.errorsField; } } /// /// A list of the lengths of each indent that was added with PushIndent /// private System.Collections.Generic.List indentLengths { get { if ((this.indentLengthsField == null)) { this.indentLengthsField = new global::System.Collections.Generic.List(); } return this.indentLengthsField; } } /// /// Gets the current indent we use when adding lines to the output /// public string CurrentIndent { get { return this.currentIndentField; } } /// /// Current transformation session /// public virtual global::System.Collections.Generic.IDictionary Session { get { return this.sessionField; } set { this.sessionField = value; } } #endregion #region Transform-time helpers /// /// Write text directly into the generated output /// public void Write(string textToAppend) { if (string.IsNullOrEmpty(textToAppend)) { return; } // If we're starting off, or if the previous text ended with a newline, // we have to append the current indent first. if (((this.GenerationEnvironment.Length == 0) || this.endsWithNewline)) { this.GenerationEnvironment.Append(this.currentIndentField); this.endsWithNewline = false; } // Check if the current text ends with a newline if (textToAppend.EndsWith(global::System.Environment.NewLine, global::System.StringComparison.CurrentCulture)) { this.endsWithNewline = true; } // This is an optimization. If the current indent is "", then we don't have to do any // of the more complex stuff further down. if ((this.currentIndentField.Length == 0)) { this.GenerationEnvironment.Append(textToAppend); return; } // Everywhere there is a newline in the text, add an indent after it textToAppend = textToAppend.Replace(global::System.Environment.NewLine, (global::System.Environment.NewLine + this.currentIndentField)); // If the text ends with a newline, then we should strip off the indent added at the very end // because the appropriate indent will be added when the next time Write() is called if (this.endsWithNewline) { this.GenerationEnvironment.Append(textToAppend, 0, (textToAppend.Length - this.currentIndentField.Length)); } else { this.GenerationEnvironment.Append(textToAppend); } } /// /// Write text directly into the generated output /// public void WriteLine(string textToAppend) { this.Write(textToAppend); this.GenerationEnvironment.AppendLine(); this.endsWithNewline = true; } /// /// Write formatted text directly into the generated output /// public void Write(string format, params object[] args) { this.Write(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); } /// /// Write formatted text directly into the generated output /// public void WriteLine(string format, params object[] args) { this.WriteLine(string.Format(global::System.Globalization.CultureInfo.CurrentCulture, format, args)); } /// /// Raise an error /// public void Error(string message) { System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); error.ErrorText = message; this.Errors.Add(error); } /// /// Raise a warning /// public void Warning(string message) { System.CodeDom.Compiler.CompilerError error = new global::System.CodeDom.Compiler.CompilerError(); error.ErrorText = message; error.IsWarning = true; this.Errors.Add(error); } /// /// Increase the indent /// public void PushIndent(string indent) { if ((indent == null)) { throw new global::System.ArgumentNullException("indent"); } this.currentIndentField = (this.currentIndentField + indent); this.indentLengths.Add(indent.Length); } /// /// Remove the last indent that was added with PushIndent /// public string PopIndent() { string returnValue = ""; if ((this.indentLengths.Count > 0)) { int indentLength = this.indentLengths[(this.indentLengths.Count - 1)]; this.indentLengths.RemoveAt((this.indentLengths.Count - 1)); if ((indentLength > 0)) { returnValue = this.currentIndentField.Substring((this.currentIndentField.Length - indentLength)); this.currentIndentField = this.currentIndentField.Remove((this.currentIndentField.Length - indentLength)); } } return returnValue; } /// /// Remove any indentation /// public void ClearIndent() { this.indentLengths.Clear(); this.currentIndentField = ""; } #endregion #region ToString Helpers /// /// Utility class to produce culture-oriented representation of an object as a string. /// public class ToStringInstanceHelper { private System.IFormatProvider formatProviderField = global::System.Globalization.CultureInfo.InvariantCulture; /// /// Gets or sets format provider to be used by ToStringWithCulture method. /// public System.IFormatProvider FormatProvider { get { return this.formatProviderField ; } set { if ((value != null)) { this.formatProviderField = value; } } } /// /// This is called from the compile/run appdomain to convert objects within an expression block to a string /// public string ToStringWithCulture(object objectToConvert) { if ((objectToConvert == null)) { throw new global::System.ArgumentNullException("objectToConvert"); } System.Type t = objectToConvert.GetType(); System.Reflection.MethodInfo method = t.GetMethod("ToString", new System.Type[] { typeof(System.IFormatProvider)}); if ((method == null)) { return objectToConvert.ToString(); } else { return ((string)(method.Invoke(objectToConvert, new object[] { this.formatProviderField }))); } } } private ToStringInstanceHelper toStringHelperField = new ToStringInstanceHelper(); /// /// Helper to produce culture-oriented representation of an object as a string /// public ToStringInstanceHelper ToStringHelper { get { return this.toStringHelperField; } } #endregion } #endregion }