/*******************************************************************************
* Copyright (c) 2016 EfficiOS Inc., Alexandre Montplaisir
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.eclipse.tracecompass.tmf.tests.stubs.analysis.ondemand;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.tracecompass.tmf.core.analysis.ondemand.IOnDemandAnalysis;
import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
import org.eclipse.tracecompass.tmf.tests.stubs.trace.TmfTraceStub2;
/**
* Stub for on-demand analysis tests.
*
* It applies to trace type {@link TmfTraceStub2} only.
*
* @author Alexandre Montplaisir
*/
@NonNullByDefault
public class OnDemandAnalysisStub implements IOnDemandAnalysis {
@Override
public String getName() {
return "Test On-Demand Analysis";
}
@Override
public boolean appliesTo(ITmfTrace trace) {
if (trace instanceof TmfTraceStub2) {
return true;
}
return false;
}
@Override
public boolean canExecute(ITmfTrace trace) {
return appliesTo(trace);
}
@Override
public Object execute(ITmfTrace trace, @Nullable TmfTimeRange range, String extraParams, @Nullable IProgressMonitor monitor) {
/* Do nothing */
return new Object();
}
@Override
public boolean isUserDefined() {
return false;
}
}