/*******************************************************************************
* 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.ui.project.model;
import org.eclipse.core.resources.IResource;
import org.eclipse.swt.graphics.Image;
import org.eclipse.tracecompass.tmf.core.analysis.ondemand.IOnDemandAnalysisReport;
/**
* Project model element containing a report, which is the result of the
* execution of an on-demand analysis.
*
* @author Alexandre Montplaisir
* @since 2.0
*/
public class TmfReportElement extends TmfProjectModelElement {
private final IOnDemandAnalysisReport fReport;
/**
* Constructor
*
* @param reportName
* Name of this report element
* @param resource
* The resource to be associated with this element
* @param parent
* The parent element
* @param report
* The report object represented by this element
*/
protected TmfReportElement(String reportName, IResource resource,
TmfReportsElement parent, IOnDemandAnalysisReport report) {
super(reportName, resource, parent);
fReport = report;
}
@Override
public TmfReportsElement getParent() {
/* Type enforced at constructor */
return (TmfReportsElement) super.getParent();
}
@Override
public Image getIcon() {
return TmfProjectModelIcons.DEFAULT_REPORT_ICON;
}
@Override
protected void refreshChildren() {
/* No children */
}
/**
* Get the report object of this element.
*
* @return The report
*/
public IOnDemandAnalysisReport getReport() {
return fReport;
}
}