blob: 5331f1a087408a054ab6da3c71cec44e9ed14702 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 École Polytechnique de Montréal
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************/
package org.eclipse.tracecompass.analysis.graph.core.tests.stubs;
import org.eclipse.tracecompass.analysis.graph.core.base.TmfGraph;
/**
* Base class for graph building graph test data
*
* @author Geneviève Bastien
* @author Francis Giraldeau
*/
public abstract class GraphBuilder {
private final String fName;
/**
* Constructor
*
* @param name
* Name of the graph builder
*/
public GraphBuilder(String name) {
this.fName = name;
}
/**
* Get the graph builder name
*
* @return The graph builder name
*/
public String getName() {
return fName;
}
/**
* Build a graph with the test data
*
* @return The full graph of the test case
*/
public abstract TmfGraph build();
/**
* Computes the critical path with bounded algorithm
*
* @return The graph corresponding to the Bounded critical path algorithm
*/
public abstract TmfGraph criticalPathBounded();
/**
* Computes the critical path with unbounded algorithm
*
* @return The graph corresponding to the result of the Unbounded critical
* path algorithm
*/
public abstract TmfGraph criticalPathUnbounded();
}