/// <summary> /// Generates a new instance of the service generator for a specific service /// </summary> public GoogleServiceGenerator(IService service, string clientNamespace, IEnumerable <IResourceDecorator> resourceDecorators, IEnumerable <IServiceDecorator> serviceDecorators, IEnumerable <IResourceContainerDecorator> resourceContainerDecorators, GoogleSchemaGenerator schemaGenerator) { service.ThrowIfNull("service"); clientNamespace.ThrowIfNull("clientNamespace"); resourceDecorators.ThrowIfNull("resourceDecorators"); serviceDecorators.ThrowIfNull("serviceDecorators"); resourceContainerDecorators.ThrowIfNull("resourceContainerDecorators"); codeClientNamespace = clientNamespace; this.service = service; // Defensive copy and readonly this.resourceDecorators = new List <IResourceDecorator>(resourceDecorators).AsReadOnly(); this.serviceDecorators = new List <IServiceDecorator>(serviceDecorators).AsReadOnly(); this.resourceContainerDecorators = new List <IResourceContainerDecorator>(resourceContainerDecorators).AsReadOnly(); this.schemaGenerator = schemaGenerator; }
/// <summary> /// Generates a new instance of the service generator for a specific service /// </summary> public GoogleServiceGenerator(IService service, string clientNamespace, IEnumerable<IResourceDecorator> resourceDecorators, IEnumerable<IServiceDecorator> serviceDecorators, IEnumerable<IResourceContainerDecorator> resourceContainerDecorators, GoogleSchemaGenerator schemaGenerator) { service.ThrowIfNull("service"); clientNamespace.ThrowIfNull("clientNamespace"); resourceDecorators.ThrowIfNull("resourceDecorators"); serviceDecorators.ThrowIfNull("serviceDecorators"); resourceContainerDecorators.ThrowIfNull("resourceContainerDecorators"); codeClientNamespace = clientNamespace; this.service = service; // Defensive copy and readonly this.resourceDecorators = new List<IResourceDecorator>(resourceDecorators).AsReadOnly(); this.serviceDecorators = new List<IServiceDecorator>(serviceDecorators).AsReadOnly(); this.resourceContainerDecorators = new List<IResourceContainerDecorator>(resourceContainerDecorators).AsReadOnly(); this.schemaGenerator = schemaGenerator; }