1 /*******************************************************************************
2 * Copyright (c) 2013, 2015 École Polytechnique de Montréal
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Geneviève Bastien - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.tracecompass
.tmf
.core
.statesystem
;
15 import org
.eclipse
.jdt
.annotation
.Nullable
;
16 import org
.eclipse
.tracecompass
.statesystem
.core
.ITmfStateSystem
;
17 import org
.eclipse
.tracecompass
.tmf
.core
.analysis
.IAnalysisModule
;
20 * Interface for analysis modules providing state systems.
22 * @author Geneviève Bastien
24 public interface ITmfAnalysisModuleWithStateSystems
extends IAnalysisModule
{
27 * Return a specific state system provided by this analysis.
30 * The ID of the state system
31 * @return The state system corresponding to the given ID, null if there is
34 @Nullable ITmfStateSystem
getStateSystem(String id
);
37 * Return all the state systems provided by this analysis module, in
40 * @return The state systems
42 Iterable
<ITmfStateSystem
> getStateSystems();
45 * Block the calling thread until the analysis module has been initialized.
46 * If the initialization succeeded, {@link #getStateSystems()} should return
47 * all state systems of this analysis and calling
48 * {@link #getStateSystem(String)} should not return a null value. If it
49 * returns false, it is not safe to assume the state systems will be
52 * @return True whether the initialization succeeded, false otherwise
56 boolean waitForInitialization();