Commit | Line | Data |
---|---|---|
51480ca2 FG |
1 | /******************************************************************************* |
2 | * Copyright (c) 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 | ||
10 | package org.eclipse.tracecompass.analysis.graph.core.criticalpath; | |
11 | ||
12 | import org.eclipse.jdt.annotation.Nullable; | |
13 | import org.eclipse.tracecompass.analysis.graph.core.base.TmfGraph; | |
14 | import org.eclipse.tracecompass.analysis.graph.core.base.TmfVertex; | |
15 | ||
16 | /** | |
17 | * Interface for all critical path algorithms | |
18 | * | |
19 | * @author Francis Giraldeau | |
20 | */ | |
21 | public interface ICriticalPathAlgorithm { | |
22 | ||
23 | /** | |
24 | * Computes the critical path | |
25 | * | |
26 | * @param start | |
27 | * The starting vertex | |
28 | * @param end | |
29 | * The end vertex | |
30 | * @return The graph of the critical path | |
da4232b4 MK |
31 | * @throws CriticalPathAlgorithmException |
32 | * an exception in the calculation occurred | |
51480ca2 | 33 | */ |
da4232b4 | 34 | public TmfGraph compute(TmfVertex start, @Nullable TmfVertex end) throws CriticalPathAlgorithmException; |
51480ca2 FG |
35 | |
36 | /** | |
1a00787d | 37 | * Unique ID of this algorithm |
51480ca2 FG |
38 | * |
39 | * @return the ID string | |
40 | */ | |
41 | public String getID(); | |
42 | ||
43 | /** | |
44 | * Human readable display name | |
45 | * | |
46 | * @return display name | |
47 | */ | |
48 | public String getDisplayName(); | |
49 | ||
50 | } |