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