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