Commit | Line | Data |
---|---|---|
12c155f5 | 1 | /******************************************************************************* |
c8422608 AM |
2 | * Copyright (c) 2010, 2012 Ericsson |
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 | ||
13 | package org.eclipse.linuxtools.tmf.ui.project.model; | |
14 | ||
15 | import java.net.URI; | |
16 | import java.util.List; | |
17 | ||
18 | import org.eclipse.core.resources.IResource; | |
19 | import 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 | */ |
31 | public 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 | */ | |
12c155f5 | 37 | public String getName(); |
b544077e BH |
38 | /** |
39 | * Returns the resource associated with the project model element. | |
40 | * @return the model resource. | |
41 | */ | |
12c155f5 | 42 | public IResource getResource(); |
b544077e BH |
43 | /** |
44 | * Returns the path of the project model resource. | |
45 | * @return the resource path. | |
46 | */ | |
12c155f5 | 47 | public IPath getPath(); |
b544077e | 48 | /** |
c8422608 | 49 | * Returns the URI (location) of the resource. |
b544077e BH |
50 | * @return the resource URI. |
51 | */ | |
12c155f5 | 52 | public URI getLocation(); |
b544077e BH |
53 | /** |
54 | * Returns the project model element. | |
55 | * @return the project model element. | |
56 | */ | |
12c155f5 | 57 | public TmfProjectElement getProject(); |
b544077e BH |
58 | /** |
59 | * Returns the parent of this model element. | |
60 | * @return the parent of this model element. | |
61 | */ | |
12c155f5 | 62 | public 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 | */ | |
12c155f5 | 67 | public boolean hasChildren(); |
b544077e BH |
68 | /** |
69 | * Returns a list of children model elements. | |
70 | * @return a list of children model elements. | |
71 | */ | |
12c155f5 | 72 | public 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 | */ | |
12c155f5 | 77 | public 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 | */ | |
12c155f5 | 82 | public void removeChild(ITmfProjectModelElement child); |
b544077e BH |
83 | /** |
84 | * Method to request to refresh the project. | |
85 | */ | |
12c155f5 FC |
86 | public void refresh(); |
87 | } |