tmf: Move TmfExperiment to its own package
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / project / model / ITmfProjectModelElement.java
CommitLineData
12c155f5 1/*******************************************************************************
57a2a5ca 2 * Copyright (c) 2010, 2013 Ericsson
c8422608 3 *
12c155f5
FC
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
c8422608 8 *
12c155f5
FC
9 * Contributors:
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
12
2bdf0193 13package org.eclipse.tracecompass.tmf.ui.project.model;
12c155f5
FC
14
15import java.net.URI;
16import java.util.List;
17
18import org.eclipse.core.resources.IResource;
19import org.eclipse.core.runtime.IPath;
20
21/**
b544077e 22 * The TMF project model interface.
c8422608
AM
23 *
24 * The TMF tracing project is integrated in the Common Navigator framework.
b544077e 25 * Each tracing tree element has to implement this interface to be visible in the
c8422608
AM
26 * Project Explorer.
27 *
b544077e
BH
28 * @version 1.0
29 * @author Francois Chouinard
12c155f5
FC
30 */
31public interface ITmfProjectModelElement {
c8422608 32
b544077e
BH
33 /**
34 * Returns the name of the project model element.
35 * @return the name of the project element.
36 */
57a2a5ca 37 String getName();
b544077e
BH
38 /**
39 * Returns the resource associated with the project model element.
40 * @return the model resource.
41 */
57a2a5ca 42 IResource getResource();
b544077e
BH
43 /**
44 * Returns the path of the project model resource.
45 * @return the resource path.
46 */
57a2a5ca 47 IPath getPath();
b544077e 48 /**
c8422608 49 * Returns the URI (location) of the resource.
b544077e
BH
50 * @return the resource URI.
51 */
57a2a5ca 52 URI getLocation();
b544077e
BH
53 /**
54 * Returns the project model element.
55 * @return the project model element.
56 */
57a2a5ca 57 TmfProjectElement getProject();
b544077e
BH
58 /**
59 * Returns the parent of this model element.
60 * @return the parent of this model element.
61 */
57a2a5ca 62 ITmfProjectModelElement getParent();
b544077e
BH
63 /**
64 * Returns whether this model element has children or not.
65 * @return <code>true</code> if this model has children else <code>false</code>
66 */
57a2a5ca 67 boolean hasChildren();
b544077e
BH
68 /**
69 * Returns a list of children model elements.
70 * @return a list of children model elements.
71 */
57a2a5ca 72 List<ITmfProjectModelElement> getChildren();
b544077e
BH
73 /**
74 * Method to add a child to the model element.
75 * @param child A child element to add.
76 */
57a2a5ca 77 void addChild(ITmfProjectModelElement child);
b544077e 78 /**
c8422608 79 * Method to remove a child from the model element.
b544077e
BH
80 * @param child A child element to remove
81 */
57a2a5ca 82 void removeChild(ITmfProjectModelElement child);
b544077e
BH
83 /**
84 * Method to request to refresh the project.
85 */
57a2a5ca 86 void refresh();
12c155f5 87}
This page took 0.078442 seconds and 5 git commands to generate.