protected void LinkElement(IPipelineElement <T> source, IPipelineElement <T> destination) { if (source != null && destination != null) { source.Emit += destination.Consume; } }
public void Add(IPipelineElement anElement) { pipeline.Add(anElement); if (pipeline.Count > 1) { pipeline[pipeline.Count - 2].Connect(pipeline[pipeline.Count - 1]); } }
protected void UnlinkElements(IEnumerable <IPipelineElement <T> > elements) { if (elements != null && elements.Any()) { IPipelineElement <T> prevElement = null; foreach (var element in elements) { UnlinkElement(prevElement, element); prevElement = element; } } }
protected void Link <T2>(IPipelineElement <T> source, T2 destination) { if (source != null && destination != null) { switch (destination) { case IPipelineElement <T> nextElement: source.Emit += nextElement.Consume; break; case IEnumerable <IPipelineElement <T> > nextGroup: source.Emit += nextGroup.First().Consume; break; case Action <T> nextAction: source.Emit += nextAction; break; } } }
public void Connect(IPipelineElement next) { throw new NotImplementedException(); }
void IPipelineElement.Connect(IPipelineElement next) { throw new NotImplementedException(); }
public void Connect(IPipelineElement next) { next.SetInput(outputStream); }
public void Connect(IPipelineElement next) { throw new InvalidOperationException("No output from this element"); }
public IPipelineBuilder <TSource, TOut> AddElement <TOut>(IPipelineElement <TOutput, TOut> element) { _lastElement.Emit = element.SubscribeToData; return(new PipelineBuilder <TSource, TOut>(element, _elements)); }
private PipelineBuilder(IPipelineElement <TOutput> element, IEnumerable <IPipelineElement> elements) { _lastElement = element; _elements = new Stack <IPipelineElement>(elements); _elements.Push(element); }
public abstract void Connect(IPipelineElement next);
public override void Connect(IPipelineElement next) { next.SetInput(Contexto); }
public void ConnectElement(IPipelineElement <T> element) { _steps.Add(element); }
public void RemoveElement(IPipelineElement element) => _pipelineElements.Remove(element);
public PipelineBuilder(IPipelineElement <TOutput> sourceElement) { _lastElement = sourceElement; _elements = new Stack <IPipelineElement>(); _elements.Push(_lastElement); }
public void AddElement(IPipelineElement element) => _pipelineElements.Add(element);
/// <summary> /// To Register filter in the pipeline /// </summary> /// <param name="filter">A filter object implementing IFilter interface</param> /// <returns></returns> public Pipeline <T> Register(IPipelineElement <T> filter) { pipeItems.Add(filter); return(this); }