[219097] LTTng updates
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.ui / src / org / eclipse / linuxtools / lttng / ui / model / trange / TimeRangeComposite.java
CommitLineData
6e512b93
ASL
1/*******************************************************************************
2 * Copyright (c) 2009 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 * Alvaro Sanchez-Leon (alvsan09@gmail.com) - Initial API and implementation
11 *******************************************************************************/
12package org.eclipse.linuxtools.lttng.ui.model.trange;
13
14import java.util.Vector;
15
16import org.eclipse.linuxtools.tmf.ui.viewers.timeAnalysis.model.ITmfTimeAnalysisEntry;
17
18public class TimeRangeComposite extends TimeRangeComponent implements
19ITmfTimeAnalysisEntry {
20
21 // ========================================================================
22 // Data
23 // =======================================================================
24 /**
25 * Type of Composites or Containers
26 * <p>
27 * PROPERTY: Refers to a sub-composite of a RESOURCE or a PROCESS e.g the
28 * cpu which can vary over time and can have time range events associated to
29 * it, and at the same time PROPERTY is associated to a Composite parent
30 * like a PROCESS
31 * </p>
32 * <p>
33 * PROCESS: A composite of time range events representing a Process
34 * </p>
35 * <p>
36 * RESOURCE: A composite of time range events representing a resource i.g.
37 * irq, softIrq, trap, bdev, cpu
38 * </p>
39 *
40 * @author alvaro
41 *
42 */
43 public static enum CompositeType {
44 UNKNOWN, PROPERTY, PROCESS, RESOURCE
45 }
46
47 protected final Vector<TimeRangeComponent> ChildEventLeafs = new Vector<TimeRangeComponent>();
48 protected final Vector<TimeRangeComponent> ChildEventComposites = new Vector<TimeRangeComponent>();
49 protected Integer id = 0;
50 protected String name;
51 protected String groupName = "";
52 protected String className = "";
53 protected CompositeType contType = CompositeType.UNKNOWN;
41dc35d0 54 protected long next_good_time = -1;
63eecb47
FC
55 /*Time of first event which trigger the creation of this local resource */
56 protected long insertionTime = -1;
6e512b93
ASL
57
58 // ========================================================================
59 // Constructors
60 // =======================================================================
63eecb47
FC
61 public TimeRangeComposite(Integer id, Long stime, Long etime, String name,
62 CompositeType type, long insertionTime) {
6e512b93
ASL
63 super(stime, etime, null);
64 this.id = id;
65 this.name = name;
66 contType = type;
63eecb47
FC
67 this.insertionTime = insertionTime;
68 // Adjust the first good drawing position to the event time creating this resource
69 next_good_time = insertionTime;
6e512b93
ASL
70 }
71
63eecb47
FC
72 public TimeRangeComposite(Integer id, Long stime, Long etime, String name,
73 String groupName, String className, CompositeType type,
74 long insertionTime) {
75 this(id, stime, etime, name, type, insertionTime);
76 this.groupName = groupName;
77 this.className = className;
6e512b93
ASL
78 }
79
80 // ========================================================================
81 // Methods
82 // =======================================================================
83
84 /*
85 * (non-Javadoc)
86 *
87 * @see
88 * org.eclipse.linuxtools.lttng.ui.model.trange.TimeRangeComponent#getName()
89 */
90 @Override
91 public String getName() {
92 return name;
93 }
94
95 /**
96 * @param name
97 */
98 public void setName(String name) {
99 this.name = name;
100 }
101
102 /*
103 * (non-Javadoc)
104 *
105 * @seeorg.eclipse.linuxtools.tmf.ui.viewers.timeAnalysis.model.
106 * ITmfTimeAnalysisEntry#getGroupName()
107 */
108 public String getGroupName() {
109 return groupName;
110 }
111
112 /**
113 * @param groupName
114 */
115 public void setGroupName(String groupName) {
116 this.groupName = groupName;
117 }
118
119 /*
120 * (non-Javadoc)
121 *
122 * @seeorg.eclipse.linuxtools.tmf.ui.viewers.timeAnalysis.model.
123 * ITmfTimeAnalysisEntry#getId()
124 */
125 public int getId() {
126 return id;
127 }
128
129 /**
130 * @param id
131 */
132 public void setId(int id) {
133 this.id = id;
134 }
135
136 /**
137 * @return
138 */
139 public String getClassName() {
140 return className;
141 }
142
143 /**
144 * @param className
145 */
146 public void setClassName(String className) {
147 this.className = className;
148 }
149
150 /*
151 * (non-Javadoc)
152 *
153 * @seeorg.eclipse.linuxtools.tmf.ui.viewers.timeAnalysis.model.
154 * ITmfTimeAnalysisEntry#getTraceEvents()
155 */
156 @SuppressWarnings("unchecked")
157 public Vector<TimeRangeComponent> getTraceEvents() {
158 return ChildEventLeafs;
159 }
160
161 /**
162 * @return
163 */
164 public Vector<TimeRangeComponent> getChildEventComposites() {
165 return ChildEventComposites;
166 }
167
41dc35d0
FC
168 /**
169 * Represents the time where the next time range can start the drawing i.e.
170 * right after previous time range.
171 *
172 * @return
173 */
174 public long getNext_good_time() {
175 return next_good_time;
176 }
177
178 /**
179 * Represents the time where the next time range can start the drawing i.e.
180 * right after previous time range.
181 *
182 * @param nextGoodTime
183 */
184 public void setNext_good_time(long nextGoodTime) {
185 next_good_time = nextGoodTime;
186 }
187
188 /**
189 * Reset this resource to the construction state except for
190 */
191 public void reset() {
192 getChildEventComposites().clear();
193 getTraceEvents().clear();
63eecb47
FC
194 next_good_time = insertionTime;
195 }
196
197 /**
198 * Event Time reflecting the creation of this local resource e.g. at Reception of Fork, etc.
199 *
200 * @return
201 */
202 public long getInsertionTime() {
203 return insertionTime;
41dc35d0 204 }
6e512b93 205}
This page took 0.031905 seconds and 5 git commands to generate.