/******************************************************************************* * Copyright (c) 2013 École Polytechnique de Montréal * * All rights reserved. This program and the accompanying materials are * made available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Geneviève Bastien - Initial API and implementation *******************************************************************************/ package fr.inria.linuxtools.tmf.core.analysis; import fr.inria.linuxtools.tmf.core.trace.ITmfTrace; /** * Interface for classes that can provide parameters to analysis when they are * not set manually * * @author Geneviève Bastien * @since 3.0 */ public interface IAnalysisParameterProvider { // -------------------------------------------------------- // Getters and setters // -------------------------------------------------------- /** * Gets the name of the parameter provider * * @return Name of the parameter provider */ String getName(); /** * Gets the value of a parameter * * @param name * Name of the parameter * @return The value of a parameter */ Object getParameter(String name); // -------------------------------------------------------- // Functionalities // -------------------------------------------------------- /** * Does this parameter provider apply to a given trace * * @param trace * The trace to analyse * @return whether the parameter provider applies */ boolean appliesToTrace(ITmfTrace trace); /** * Register an analysis module to be notified when a parameter value is * changed * * @param module * The listening analysis module */ void registerModule(IAnalysisModule module); }