package rocks.inspectit.ui.rcp.editor.graph.plot.datasolver;
import rocks.inspectit.ui.rcp.editor.graph.plot.datasolver.impl.BooleanDataSolver;
import rocks.inspectit.ui.rcp.editor.graph.plot.datasolver.impl.ClampedPercentageDataSolver;
import rocks.inspectit.ui.rcp.editor.graph.plot.datasolver.impl.DefaultDataSolver;
import rocks.inspectit.ui.rcp.editor.graph.plot.datasolver.impl.MemoryDataSolver;
import rocks.inspectit.ui.rcp.editor.graph.plot.datasolver.impl.PercentageDataSolver;
/**
* Enumeration of the implemented {@link AbstractPlotDataSolver}.
*
* @author Marius Oehler
*
*/
public enum PlotDataSolver {
/**
* This value represents the default data solver.
*/
DEFAULT(DefaultDataSolver.class, "Default"),
/**
* This value represents the data solver for percentage values.
*/
PERCENTAGE(PercentageDataSolver.class, "Percentage values"),
/**
* This value represents the data solver for percentage values between 0 and 100 percent.
*/
CLAMPED_PERCENTAGE(ClampedPercentageDataSolver.class, "Percentage values (Clamped)"),
/**
* This value represents the data solver for memory values.
*/
MEMORY(MemoryDataSolver.class, "Memory"),
/**
* This value represents the data solver for boolean values.
*/
BOOLEAN(BooleanDataSolver.class, "Boolean values");
/**
* The concrete implementation.
*/
private Class<? extends AbstractPlotDataSolver> solverImplementation;
/**
* The title of this data solver.
*/
private String title;
/**
* Enumeration constructor.
*
* @param solverImplementation
* the concrete implementation for this type of {@link AbstractPlotDataSolver}.
* @param title
* the title of the implemented data solver
*/
private PlotDataSolver(Class<? extends AbstractPlotDataSolver> solverImplementation, String title) {
this.solverImplementation = solverImplementation;
this.title = title;
}
/**
* Returns the {@link #solverImplementation}.
*
* @return the class of the implementation
*/
public Class<? extends AbstractPlotDataSolver> getDataSolverImplementation() {
return solverImplementation;
}
/**
* Returns the {@link #title}.
*
* @return the title of the data solver
*/
public String getTitle() {
return title;
}
}