Esempio n. 1
0
        /// <summary>
        /// Mark the end of this job
        /// </summary>
        /// <param name="component">Last component to execute</param>
        public void End(Component <ComponentOut, JobOut> component)
        {
            ComponentWrapper <JobIn, JobOut, ComponentOut, JobOut> wrapperComponent =
                new ComponentWrapper <JobIn, JobOut, ComponentOut, JobOut>(component);

            _next = wrapperComponent;
        }
Esempio n. 2
0
        /// <summary>
        /// Register a new component to execute after this one
        /// </summary>
        /// <typeparam name="TComponentOut">Output type of the component</typeparam>
        /// <param name="component">Component to add</param>
        /// <returns>A wrapper to chain components</returns>
        public ComponentWrapper <JobIn, JobOut, ComponentOut, TComponentOut> Then <TComponentOut>(
            Component <ComponentOut, TComponentOut> component)
        {
            ComponentWrapper <JobIn, JobOut, ComponentOut, TComponentOut> wrappedComponent =
                new ComponentWrapper <JobIn, JobOut, ComponentOut, TComponentOut>(component);

            _next = wrappedComponent;

            return(wrappedComponent);
        }