public void InitializeMarkHandlers(LinkContext context, MarkContext markContext) { while (MarkHandlers.Count > 0) { IMarkHandler markHandler = MarkHandlers[0]; markHandler.Initialize(context, markContext); MarkHandlers.Remove(markHandler); } }
public void AddMarkHandlerBefore(IMarkHandler target, IMarkHandler step) { for (int i = 0; i < MarkHandlers.Count; i++) { if (MarkHandlers[i] == target) { MarkHandlers.Insert(i, step); return; } } throw new InternalErrorException($"Step {step} could not be inserted before (not found) {target}"); }
public void AddMarkHandlerAfter(IMarkHandler target, IMarkHandler step) { for (int i = 0; i < MarkHandlers.Count; i++) { if (MarkHandlers[i] == target) { if (i == MarkHandlers.Count - 1) { MarkHandlers.Add(step); } else { MarkHandlers.Insert(i + 1, step); } return; } } throw new InternalErrorException($"Step {step} could not be inserted after (not found) {target}"); }
public void AppendMarkHandler(IMarkHandler step) { MarkHandlers.Add(step); }