tmf: Add the dependency level to the analyses' event requests
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core / src / org / eclipse / tracecompass / tmf / core / statesystem / ITmfAnalysisModuleWithStateSystems.java
1 /*******************************************************************************
2 * Copyright (c) 2013, 2015 École Polytechnique de Montréal
3 *
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
8 *
9 * Contributors:
10 * Geneviève Bastien - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.tracecompass.tmf.core.statesystem;
14
15 import org.eclipse.jdt.annotation.Nullable;
16 import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem;
17 import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisModule;
18
19 /**
20 * Interface for analysis modules providing state systems.
21 *
22 * @author Geneviève Bastien
23 */
24 public interface ITmfAnalysisModuleWithStateSystems extends IAnalysisModule {
25
26 /**
27 * Return a specific state system provided by this analysis.
28 *
29 * @param id
30 * The ID of the state system
31 * @return The state system corresponding to the given ID, null if there is
32 * no match.
33 */
34 @Nullable ITmfStateSystem getStateSystem(String id);
35
36 /**
37 * Return all the state systems provided by this analysis module, in
38 * Iterable format.
39 *
40 * @return The state systems
41 */
42 Iterable<ITmfStateSystem> getStateSystems();
43
44 /**
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
50 * present.
51 *
52 * @return True whether the initialization succeeded, false otherwise
53 *
54 * @since 2.0
55 */
56 boolean waitForInitialization();
57 }
This page took 0.03164 seconds and 5 git commands to generate.