Fixed JavaDoc in TMF UI plugin
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / project / model / TmfTraceFolder.java
1 /*******************************************************************************
2 * Copyright (c) 2011, 2012 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.linuxtools.tmf.ui.project.model;
14
15 import java.util.ArrayList;
16 import java.util.Arrays;
17 import java.util.List;
18
19 import org.eclipse.core.resources.IFolder;
20 import org.eclipse.ui.views.properties.IPropertyDescriptor;
21 import org.eclipse.ui.views.properties.IPropertySource2;
22 import org.eclipse.ui.views.properties.TextPropertyDescriptor;
23
24 /**
25 * Implementation of trace folder model element representing the trace folder in the project.
26 * <p>
27 * @version 1.0
28 * @author Francois Chouinard
29 */
30 public class TmfTraceFolder extends TmfProjectModelElement implements IPropertySource2 {
31
32 // ------------------------------------------------------------------------
33 // Constants
34 // ------------------------------------------------------------------------
35 /**
36 * The name of the trace folder
37 */
38 public static final String TRACE_FOLDER_NAME = "Traces"; //$NON-NLS-1$
39
40 // Property View stuff
41 private static final String sfInfoCategory = "Info"; //$NON-NLS-1$
42 private static final String sfName = "name"; //$NON-NLS-1$
43 private static final String sfPath = "path"; //$NON-NLS-1$
44 private static final String sfLocation = "location"; //$NON-NLS-1$
45
46 private static final TextPropertyDescriptor sfNameDescriptor = new TextPropertyDescriptor(sfName, sfName);
47 private static final TextPropertyDescriptor sfPathDescriptor = new TextPropertyDescriptor(sfPath, sfPath);
48 private static final TextPropertyDescriptor sfLocationDescriptor = new TextPropertyDescriptor(sfLocation,
49 sfLocation);
50
51 private static final IPropertyDescriptor[] sfDescriptors = { sfNameDescriptor, sfPathDescriptor,
52 sfLocationDescriptor };
53
54 static {
55 sfNameDescriptor.setCategory(sfInfoCategory);
56 sfPathDescriptor.setCategory(sfInfoCategory);
57 sfLocationDescriptor.setCategory(sfInfoCategory);
58 }
59
60 // ------------------------------------------------------------------------
61 // Constructor
62 // ------------------------------------------------------------------------
63 /**
64 * Constructor.
65 * Creates trace folder model element under the project.
66 * @param name The name of trace folder.
67 * @param trace The folder resource.
68 * @param parent The parent element (project).
69 */
70 public TmfTraceFolder(String name, IFolder resource, TmfProjectElement parent) {
71 super(name, resource, parent);
72 parent.addChild(this);
73 }
74
75 // ------------------------------------------------------------------------
76 // TmfProjectModelElement
77 // ------------------------------------------------------------------------
78
79 /*
80 * (non-Javadoc)
81 * @see org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectModelElement#getResource()
82 */
83 @Override
84 public IFolder getResource() {
85 return (IFolder) fResource;
86 }
87
88 /*
89 * (non-Javadoc)
90 * @see org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement#getProject()
91 */
92 @Override
93 public TmfProjectElement getProject() {
94 return (TmfProjectElement) getParent();
95 }
96
97 /*
98 * (non-Javadoc)
99 * @see org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectModelElement#refresh()
100 */
101 @Override
102 public void refresh() {
103 TmfProjectElement project = (TmfProjectElement) getParent();
104 project.refresh();
105 }
106
107 // ------------------------------------------------------------------------
108 // Operations
109 // ------------------------------------------------------------------------
110 /**
111 * Returns a list of trace model elements under the traces folder.
112 * @return list of trace model elements
113 */
114 public List<TmfTraceElement> getTraces() {
115 List<ITmfProjectModelElement> children = getChildren();
116 List<TmfTraceElement> traces = new ArrayList<TmfTraceElement>();
117 for (ITmfProjectModelElement child : children) {
118 if (child instanceof TmfTraceElement) {
119 traces.add((TmfTraceElement) child);
120 }
121 }
122 return traces;
123 }
124
125 // ------------------------------------------------------------------------
126 // IPropertySource2
127 // ------------------------------------------------------------------------
128
129 /*
130 * (non-Javadoc)
131 * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
132 */
133 @Override
134 public Object getEditableValue() {
135 return null;
136 }
137
138 /*
139 * (non-Javadoc)
140 * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
141 */
142 @Override
143 public IPropertyDescriptor[] getPropertyDescriptors() {
144 return (sfDescriptors != null) ? Arrays.copyOf(sfDescriptors, sfDescriptors.length) : null;
145 }
146
147 /*
148 * (non-Javadoc)
149 * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
150 */
151 @Override
152 public Object getPropertyValue(Object id) {
153
154 if (sfName.equals(id))
155 return getName();
156
157 if (sfPath.equals(id))
158 return getPath().toString();
159
160 if (sfLocation.equals(id))
161 return getLocation().toString();
162
163 return null;
164 }
165
166 /*
167 * (non-Javadoc)
168 * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
169 */
170 @Override
171 public void resetPropertyValue(Object id) {
172 }
173
174 /*
175 * (non-Javadoc)
176 * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
177 */
178 @Override
179 public void setPropertyValue(Object id, Object value) {
180 }
181
182 /*
183 * (non-Javadoc)
184 * @see org.eclipse.ui.views.properties.IPropertySource2#isPropertyResettable(java.lang.Object)
185 */
186 @Override
187 public boolean isPropertyResettable(Object id) {
188 return false;
189 }
190
191 /*
192 * (non-Javadoc)
193 * @see org.eclipse.ui.views.properties.IPropertySource2#isPropertySet(java.lang.Object)
194 */
195 @Override
196 public boolean isPropertySet(Object id) {
197 return false;
198 }
199
200 }
This page took 0.036311 seconds and 5 git commands to generate.