/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.runtime.core.context.notification; import org.mule.runtime.core.api.context.notification.ProcessorsTrace; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * Keeps context information about the message processors that were executed as part of the processing of an event. */ public class DefaultProcessorsTrace implements ProcessorsTrace { private static final long serialVersionUID = 5327053121687733907L; private List<String> executedProcessors = Collections.synchronizedList(new ArrayList<String>()); /** * Adds a message processor path to the list of processors that were executed as part of the processing of this event. * * @param processorPath the path to mask as executed. */ public void addExecutedProcessors(String processorPath) { executedProcessors.add(processorPath); } @Override public List<String> getExecutedProcessors() { return new ArrayList<>(executedProcessors); } }