tmf: Tweak ITmfStateSystemAnalysisModule
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core / src / org / eclipse / linuxtools / tmf / core / statesystem / ITmfAnalysisModuleWithStateSystems.java
1 /*******************************************************************************
2 * Copyright (c) 2013 É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.linuxtools.tmf.core.statesystem;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
17
18 /**
19 * Interface for analysis modules providing state systems.
20 *
21 * @author Geneviève Bastien
22 * @since 3.0
23 */
24 @NonNullByDefault
25 public interface ITmfAnalysisModuleWithStateSystems {
26
27 /**
28 * Return a specific state system provided by this analysis.
29 *
30 * @param id
31 * The ID of the state system
32 * @return The state system corresponding to the given ID, null if there is
33 * no match.
34 */
35 @Nullable
36 ITmfStateSystem getStateSystem(String id);
37
38 /**
39 * FIXME The ID's should be saved in the state system themselves
40 * (ITmfStateSystem.getId()), so this will eventually not be needed.
41 *
42 * Return the ID of a given state system.
43 *
44 * @param ss
45 * The state system for which you want the ID, null if there is
46 * no match.
47 * @return The corresponding state system
48 */
49 @Nullable
50 String getStateSystemId(ITmfStateSystem ss);
51
52 /**
53 * Return all the state systems provided by this analysis module, in
54 * Iterable format.
55 *
56 * @return The state systems
57 */
58 Iterable<ITmfStateSystem> getStateSystems();
59
60 }
This page took 0.033149 seconds and 6 git commands to generate.