1 /*******************************************************************************
2 * Copyright (c) 2013 É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
.linuxtools
.tmf
.core
.statesystem
;
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
;
21 * Interface for analysis modules providing state systems.
23 * @author Geneviève Bastien
27 public interface ITmfAnalysisModuleWithStateSystems
extends IAnalysisModule
{
30 * Return a specific state system provided by this analysis.
33 * The ID of the state system
34 * @return The state system corresponding to the given ID, null if there is
38 ITmfStateSystem
getStateSystem(@NonNull String id
);
41 * FIXME The ID's should be saved in the state system themselves
42 * (ITmfStateSystem.getId()), so this will eventually not be needed.
44 * Return the ID of a given state system.
47 * The state system for which you want the ID, null if there is
49 * @return The corresponding state system
52 String
getStateSystemId(@NonNull ITmfStateSystem ss
);
55 * Return all the state systems provided by this analysis module, in
58 * @return The state systems
60 Iterable
<ITmfStateSystem
> getStateSystems();