From 68f4219274e9f4debe1c9c3b5194a8ad487dbe9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mariusz=20St=C4=99pie=C5=84?= Date: Fri, 2 Aug 2024 19:21:44 +0200 Subject: [PATCH] add and missing xml comments --- .../ActivatorUtilitiesMiddlewareResolver.cs | 7 ++++++- .../ServiceProviderMiddlewareResolver.cs | 11 ++++++++++- .../PipelineNet.ServiceProvider.csproj | 1 + .../AsyncResponsibilityChainTests.cs | 2 -- .../ResponsibilityChainTests.cs | 1 - src/PipelineNet.Tests/Pipelines/AsyncPipelineTests.cs | 3 --- src/PipelineNet.Tests/Pipelines/PipelineTests.cs | 1 - src/PipelineNet/BaseMiddlewareFlow.cs | 11 +++++++++++ .../AsyncResponsibilityChain.cs | 4 ++-- .../IAsyncResponsibilityChain.cs | 2 +- .../ChainsOfResponsibility/IResponsibilityChain.cs | 2 +- .../ChainsOfResponsibility/ResponsibilityChain.cs | 2 +- .../Middleware/IAsyncMiddleware.WithReturn.cs | 11 +++++++++++ src/PipelineNet/Middleware/IAsyncMiddleware.cs | 9 +++++++++ src/PipelineNet/Middleware/IMiddleware.WithReturn.cs | 11 +++++++++++ src/PipelineNet/Middleware/IMiddleware.cs | 9 +++++++++ .../MiddlewareResolver/ActivatorMiddlewareResolver.cs | 3 ++- .../MiddlewareResolver/MiddlewareResolverResult.cs | 2 +- src/PipelineNet/PipelineNet.csproj | 3 ++- src/PipelineNet/Pipelines/AsyncPipeline.cs | 4 ++++ 20 files changed, 82 insertions(+), 17 deletions(-) diff --git a/src/PipelineNet.ServiceProvider/MiddlewareResolver/ActivatorUtilitiesMiddlewareResolver.cs b/src/PipelineNet.ServiceProvider/MiddlewareResolver/ActivatorUtilitiesMiddlewareResolver.cs index 7844c4c..71aac02 100644 --- a/src/PipelineNet.ServiceProvider/MiddlewareResolver/ActivatorUtilitiesMiddlewareResolver.cs +++ b/src/PipelineNet.ServiceProvider/MiddlewareResolver/ActivatorUtilitiesMiddlewareResolver.cs @@ -6,18 +6,23 @@ namespace PipelineNet.ServiceProvider.MiddlewareResolver { /// /// An implementation of that creates - /// instances using the . + /// instances using the . /// public class ActivatorUtilitiesMiddlewareResolver : IMiddlewareResolver { private readonly IServiceProvider _serviceProvider; + /// + /// Creates a new . + /// + /// The . public ActivatorUtilitiesMiddlewareResolver(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider ?? throw new ArgumentNullException("serviceProvider", "An instance of IServiceProvider must be provided."); ; } + /// public MiddlewareResolverResult Resolve(Type type) { var middleware = ActivatorUtilities.CreateInstance(_serviceProvider, type); diff --git a/src/PipelineNet.ServiceProvider/MiddlewareResolver/ServiceProviderMiddlewareResolver.cs b/src/PipelineNet.ServiceProvider/MiddlewareResolver/ServiceProviderMiddlewareResolver.cs index b1e2621..9c2f8ed 100644 --- a/src/PipelineNet.ServiceProvider/MiddlewareResolver/ServiceProviderMiddlewareResolver.cs +++ b/src/PipelineNet.ServiceProvider/MiddlewareResolver/ServiceProviderMiddlewareResolver.cs @@ -5,19 +5,28 @@ namespace PipelineNet.ServiceProvider.MiddlewareResolver { /// - /// An implementation of that creates + /// An implementation of that resolves /// instances using the . /// public class ServiceProviderMiddlewareResolver : IMiddlewareResolver { private readonly IServiceProvider _serviceProvider; + /// + /// Creates a new . + /// + /// The . public ServiceProviderMiddlewareResolver(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider ?? throw new ArgumentNullException("serviceProvider", "An instance of IServiceProvider must be provided."); ; } + /// + /// Resolves an instance of the give middleware type. + /// + /// The middleware type that will be resolved. + /// An instance of the middleware. public MiddlewareResolverResult Resolve(Type type) { var middleware = _serviceProvider.GetRequiredService(type); diff --git a/src/PipelineNet.ServiceProvider/PipelineNet.ServiceProvider.csproj b/src/PipelineNet.ServiceProvider/PipelineNet.ServiceProvider.csproj index b8e3203..f9c094d 100644 --- a/src/PipelineNet.ServiceProvider/PipelineNet.ServiceProvider.csproj +++ b/src/PipelineNet.ServiceProvider/PipelineNet.ServiceProvider.csproj @@ -16,6 +16,7 @@ Copyright © Mariusz Stępień, Israel Valverde Pipeline .NetCore Portable Chain Responsibility ChainOfResponsibility Core NetStandard DI IOC DependencyInjection README.md + true diff --git a/src/PipelineNet.Tests/ChainsOfResponsibility/AsyncResponsibilityChainTests.cs b/src/PipelineNet.Tests/ChainsOfResponsibility/AsyncResponsibilityChainTests.cs index 2dcb5b2..f864907 100644 --- a/src/PipelineNet.Tests/ChainsOfResponsibility/AsyncResponsibilityChainTests.cs +++ b/src/PipelineNet.Tests/ChainsOfResponsibility/AsyncResponsibilityChainTests.cs @@ -1,8 +1,6 @@ using PipelineNet.ChainsOfResponsibility; using PipelineNet.Middleware; using PipelineNet.MiddlewareResolver; -using System; -using System.Threading.Tasks; using Xunit; namespace PipelineNet.Tests.ChainsOfResponsibility diff --git a/src/PipelineNet.Tests/ChainsOfResponsibility/ResponsibilityChainTests.cs b/src/PipelineNet.Tests/ChainsOfResponsibility/ResponsibilityChainTests.cs index 65d0767..e461958 100644 --- a/src/PipelineNet.Tests/ChainsOfResponsibility/ResponsibilityChainTests.cs +++ b/src/PipelineNet.Tests/ChainsOfResponsibility/ResponsibilityChainTests.cs @@ -1,7 +1,6 @@ using PipelineNet.ChainsOfResponsibility; using PipelineNet.Middleware; using PipelineNet.MiddlewareResolver; -using System; using Xunit; namespace PipelineNet.Tests.ChainsOfResponsibility diff --git a/src/PipelineNet.Tests/Pipelines/AsyncPipelineTests.cs b/src/PipelineNet.Tests/Pipelines/AsyncPipelineTests.cs index 804681f..69d9be4 100644 --- a/src/PipelineNet.Tests/Pipelines/AsyncPipelineTests.cs +++ b/src/PipelineNet.Tests/Pipelines/AsyncPipelineTests.cs @@ -1,10 +1,7 @@ using PipelineNet.Middleware; using PipelineNet.MiddlewareResolver; using PipelineNet.Pipelines; -using System; using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; using Xunit; namespace PipelineNet.Tests.Pipelines diff --git a/src/PipelineNet.Tests/Pipelines/PipelineTests.cs b/src/PipelineNet.Tests/Pipelines/PipelineTests.cs index 2a05850..a63e205 100644 --- a/src/PipelineNet.Tests/Pipelines/PipelineTests.cs +++ b/src/PipelineNet.Tests/Pipelines/PipelineTests.cs @@ -1,7 +1,6 @@ using PipelineNet.Middleware; using PipelineNet.MiddlewareResolver; using PipelineNet.Pipelines; -using System; using System.Text.RegularExpressions; using Xunit; diff --git a/src/PipelineNet/BaseMiddlewareFlow.cs b/src/PipelineNet/BaseMiddlewareFlow.cs index 99ccdb6..e465e56 100644 --- a/src/PipelineNet/BaseMiddlewareFlow.cs +++ b/src/PipelineNet/BaseMiddlewareFlow.cs @@ -5,9 +5,20 @@ namespace PipelineNet { + /// + /// Defines the base class for middleware flows. + /// + /// The middleware type. public abstract class BaseMiddlewareFlow { + /// + /// The list of middleware types. + /// protected IList MiddlewareTypes { get; private set; } + + /// + /// The resolver used to create the middleware types. + /// protected IMiddlewareResolver MiddlewareResolver { get; private set; } internal BaseMiddlewareFlow(IMiddlewareResolver middlewareResolver) diff --git a/src/PipelineNet/ChainsOfResponsibility/AsyncResponsibilityChain.cs b/src/PipelineNet/ChainsOfResponsibility/AsyncResponsibilityChain.cs index 5098e92..a951e78 100644 --- a/src/PipelineNet/ChainsOfResponsibility/AsyncResponsibilityChain.cs +++ b/src/PipelineNet/ChainsOfResponsibility/AsyncResponsibilityChain.cs @@ -120,8 +120,8 @@ public async Task Execute(TParameter parameter) /// /// Sets the function to be executed at the end of the chain as a fallback. - /// A chain can only have one finally function. Calling this method more - /// a second time will just replace the existing finally . + /// A chain can only have one finally function. Calling this method + /// a second time will just replace the existing finally . /// /// The function that will be execute at the end of chain. /// The current instance of . diff --git a/src/PipelineNet/ChainsOfResponsibility/IAsyncResponsibilityChain.cs b/src/PipelineNet/ChainsOfResponsibility/IAsyncResponsibilityChain.cs index 44ec02f..c8fde0b 100644 --- a/src/PipelineNet/ChainsOfResponsibility/IAsyncResponsibilityChain.cs +++ b/src/PipelineNet/ChainsOfResponsibility/IAsyncResponsibilityChain.cs @@ -13,7 +13,7 @@ public interface IAsyncResponsibilityChain { /// /// Sets the function to be executed at the end of the chain as a fallback. - /// A chain can only have one finally function. Calling this method more + /// A chain can only have one finally function. Calling this method /// a second time will just replace the existing finally . /// /// The function that will be execute at the end of chain. diff --git a/src/PipelineNet/ChainsOfResponsibility/IResponsibilityChain.cs b/src/PipelineNet/ChainsOfResponsibility/IResponsibilityChain.cs index 7cf5af2..a42ea71 100644 --- a/src/PipelineNet/ChainsOfResponsibility/IResponsibilityChain.cs +++ b/src/PipelineNet/ChainsOfResponsibility/IResponsibilityChain.cs @@ -12,7 +12,7 @@ public interface IResponsibilityChain { /// /// Sets the function to be executed at the end of the chain as a fallback. - /// A chain can only have one finally function. Calling this method more + /// A chain can only have one finally function. Calling this method /// a second time will just replace the existing finally . /// /// The that will be execute at the end of chain. diff --git a/src/PipelineNet/ChainsOfResponsibility/ResponsibilityChain.cs b/src/PipelineNet/ChainsOfResponsibility/ResponsibilityChain.cs index 9ad61d4..ab19289 100644 --- a/src/PipelineNet/ChainsOfResponsibility/ResponsibilityChain.cs +++ b/src/PipelineNet/ChainsOfResponsibility/ResponsibilityChain.cs @@ -24,7 +24,7 @@ public ResponsibilityChain(IMiddlewareResolver middlewareResolver) : base(middle /// /// Sets the function to be executed at the end of the chain as a fallback. - /// A chain can only have one finally function. Calling this method more + /// A chain can only have one finally function. Calling this method /// a second time will just replace the existing finally . /// /// The that will be execute at the end of chain. diff --git a/src/PipelineNet/Middleware/IAsyncMiddleware.WithReturn.cs b/src/PipelineNet/Middleware/IAsyncMiddleware.WithReturn.cs index fb7ccf5..af19e43 100644 --- a/src/PipelineNet/Middleware/IAsyncMiddleware.WithReturn.cs +++ b/src/PipelineNet/Middleware/IAsyncMiddleware.WithReturn.cs @@ -3,8 +3,19 @@ namespace PipelineNet.Middleware { + /// + /// Defines the asynchronous chain of responsibility middleware. + /// + /// The input type for the middleware. + /// The return type of the middleware. public interface IAsyncMiddleware { + /// + /// Runs the middleware. + /// + /// The input parameter. + /// The next middleware in the flow. + /// The return value. Task Run(TParameter parameter, Func> next); } } diff --git a/src/PipelineNet/Middleware/IAsyncMiddleware.cs b/src/PipelineNet/Middleware/IAsyncMiddleware.cs index d06f313..ac87f7c 100644 --- a/src/PipelineNet/Middleware/IAsyncMiddleware.cs +++ b/src/PipelineNet/Middleware/IAsyncMiddleware.cs @@ -3,8 +3,17 @@ namespace PipelineNet.Middleware { + /// + /// Defines the asynchronous pipeline middleware. + /// + /// The type that will be the input for the middleware. public interface IAsyncMiddleware { + /// + /// Runs the middleware. + /// + /// The input parameter. + /// The next middleware in the flow. Task Run(TParameter parameter, Func next); } } diff --git a/src/PipelineNet/Middleware/IMiddleware.WithReturn.cs b/src/PipelineNet/Middleware/IMiddleware.WithReturn.cs index b063101..0a0ef72 100644 --- a/src/PipelineNet/Middleware/IMiddleware.WithReturn.cs +++ b/src/PipelineNet/Middleware/IMiddleware.WithReturn.cs @@ -2,8 +2,19 @@ namespace PipelineNet.Middleware { + /// + /// Defines the chain of responsibility middleware. + /// + /// The input type for the middleware. + /// The return type of the middleware. public interface IMiddleware { + /// + /// Runs the middleware. + /// + /// The input parameter. + /// The next middleware in the flow. + /// The return value. TReturn Run(TParameter parameter, Func next); } } diff --git a/src/PipelineNet/Middleware/IMiddleware.cs b/src/PipelineNet/Middleware/IMiddleware.cs index c0461c2..9d5bd14 100644 --- a/src/PipelineNet/Middleware/IMiddleware.cs +++ b/src/PipelineNet/Middleware/IMiddleware.cs @@ -2,8 +2,17 @@ namespace PipelineNet.Middleware { + /// + /// Defines the pipeline middleware. + /// + /// The type that will be the input for the middleware. public interface IMiddleware { + /// + /// Runs the middleware. + /// + /// The input parameter. + /// The next middleware in the flow. void Run(TParameter parameter, Action next); } } diff --git a/src/PipelineNet/MiddlewareResolver/ActivatorMiddlewareResolver.cs b/src/PipelineNet/MiddlewareResolver/ActivatorMiddlewareResolver.cs index c4796e1..1dd5deb 100644 --- a/src/PipelineNet/MiddlewareResolver/ActivatorMiddlewareResolver.cs +++ b/src/PipelineNet/MiddlewareResolver/ActivatorMiddlewareResolver.cs @@ -4,10 +4,11 @@ namespace PipelineNet.MiddlewareResolver { /// /// A default implementation of that creates - /// instances using the . + /// instances using the . /// public class ActivatorMiddlewareResolver : IMiddlewareResolver { + /// public MiddlewareResolverResult Resolve(Type type) { var middleware = Activator.CreateInstance(type); diff --git a/src/PipelineNet/MiddlewareResolver/MiddlewareResolverResult.cs b/src/PipelineNet/MiddlewareResolver/MiddlewareResolverResult.cs index 94434b5..0e2064c 100644 --- a/src/PipelineNet/MiddlewareResolver/MiddlewareResolverResult.cs +++ b/src/PipelineNet/MiddlewareResolver/MiddlewareResolverResult.cs @@ -11,7 +11,7 @@ public class MiddlewareResolverResult public object Middleware { get; set; } /// - /// Gets or sets a value indicating whether the middleware should be disposed. + /// Gets or sets the value indicating whether the middleware should be disposed. /// Set this to if the middleware is IDisposable or /// IAsyncDisposable (requires .NET Standard 2.1 or greater) /// and was not created by a dependency injection container. diff --git a/src/PipelineNet/PipelineNet.csproj b/src/PipelineNet/PipelineNet.csproj index 750417c..5cb0801 100644 --- a/src/PipelineNet/PipelineNet.csproj +++ b/src/PipelineNet/PipelineNet.csproj @@ -16,7 +16,8 @@ Copyright © Israel Valverde Pipeline .NetCore Portable Chain Responsibility ChainOfResponsibility Core NetStandard README.md - + true + diff --git a/src/PipelineNet/Pipelines/AsyncPipeline.cs b/src/PipelineNet/Pipelines/AsyncPipeline.cs index f5dbb89..e0b673c 100644 --- a/src/PipelineNet/Pipelines/AsyncPipeline.cs +++ b/src/PipelineNet/Pipelines/AsyncPipeline.cs @@ -12,6 +12,10 @@ namespace PipelineNet.Pipelines /// The type that will be the input for all the middleware. public class AsyncPipeline : BaseMiddlewareFlow>, IAsyncPipeline { + /// + /// Creates a new instance of asynchronous Pipeline. + /// + /// Resolver responsible for resolving instances out of middleware types. public AsyncPipeline(IMiddlewareResolver middlewareResolver) : base(middlewareResolver) { }