Exemple #1
0
        /// <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;
        }