using System.Collections.Generic;
using System.Threading.Tasks;
using Gallium;
namespace Nitride.Pipelines;
///
/// A basic pipeline that is configured through properties and methods.
///
public abstract class PipelineBase : IPipeline
{
private readonly List dependencies;
protected PipelineBase()
{
this.dependencies = new List();
}
public PipelineBase AddDependency(IPipeline pipeline)
{
this.dependencies.Add(pipeline);
return this;
}
///
public IEnumerable GetDependencies()
{
return this.dependencies;
}
///
public abstract IAsyncEnumerable RunAsync(IEnumerable entities);
///
public override string ToString()
{
return this.GetType()
.Name;
}
}