Rename xxx.lttng to xxx.lttng.core
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf / src / org / eclipse / linuxtools / tmf / request / TmfEventRequest.java
1 /*******************************************************************************
2 * Copyright (c) 2009, 2010 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.request;
14
15 import org.eclipse.linuxtools.tmf.event.TmfEvent;
16 import org.eclipse.linuxtools.tmf.event.TmfTimeRange;
17
18 /**
19 * <b><u>TmfEventRequest</u></b>
20 * <p>
21 * Implement me. Please.
22 */
23 public abstract class TmfEventRequest<T extends TmfEvent> extends TmfDataRequest<T> implements ITmfEventRequest<T> {
24
25 // ------------------------------------------------------------------------
26 // Attributes
27 // ------------------------------------------------------------------------
28
29 private final TmfTimeRange fRange; // The requested events time range
30
31 // ------------------------------------------------------------------------
32 // Constructors
33 // ------------------------------------------------------------------------
34
35 /**
36 * @param range
37 */
38 public TmfEventRequest(Class<T> dataType) {
39 this(dataType, TmfTimeRange.Eternity, 0, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND);
40 }
41
42 public TmfEventRequest(Class<T> dataType, ExecutionType execType) {
43 this(dataType, TmfTimeRange.Eternity, 0, ALL_DATA, DEFAULT_BLOCK_SIZE, execType);
44 }
45
46 /**
47 * @param range
48 */
49 public TmfEventRequest(Class<T> dataType, TmfTimeRange range) {
50 this(dataType, range, 0, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND);
51 }
52
53 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, ExecutionType execType) {
54 this(dataType, range, 0, ALL_DATA, DEFAULT_BLOCK_SIZE, execType);
55 }
56
57 /**
58 * @param range
59 * @param nbRequested
60 */
61 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested) {
62 this(dataType, range, 0, nbRequested, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND);
63 }
64
65 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, ExecutionType execType) {
66 this(dataType, range, 0, nbRequested, DEFAULT_BLOCK_SIZE, execType);
67 }
68
69 /**
70 * @param range
71 * @param nbRequested
72 * @param blockSize Size of the largest blocks expected
73 */
74 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, int blockSize) {
75 this(dataType, range, 0, nbRequested, blockSize, ExecutionType.FOREGROUND);
76 }
77
78 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int nbRequested, int blockSize, ExecutionType execType) {
79 this(dataType, range, 0, nbRequested, blockSize, execType);
80 }
81
82 public TmfEventRequest(Class<T> dataType, TmfTimeRange range, int index, int nbRequested, int blockSize, ExecutionType execType) {
83 super(dataType, index, nbRequested, blockSize, execType);
84 fRange = range;
85 }
86
87 // ------------------------------------------------------------------------
88 // Accessors
89 // ------------------------------------------------------------------------
90
91 /**
92 * @return the requested time range
93 */
94 @Override
95 public TmfTimeRange getRange() {
96 return fRange;
97 }
98
99 // ------------------------------------------------------------------------
100 // Setters
101 // ------------------------------------------------------------------------
102
103 /**
104 * this method is called by the event provider to set the index corresponding
105 * to the time range start time once it is known
106 * @param index the start time index
107 */
108 @Override
109 public void setStartIndex(int index) {
110 setIndex(index);
111 }
112
113 // ------------------------------------------------------------------------
114 // Object
115 // ------------------------------------------------------------------------
116
117 @Override
118 // All requests have a unique id
119 public int hashCode() {
120 return getRequestId();
121 }
122
123 @Override
124 public boolean equals(Object other) {
125 if (other instanceof TmfEventRequest<?>) {
126 TmfEventRequest<?> request = (TmfEventRequest<?>) other;
127 return super.equals(other) && request.fRange.equals(fRange);
128 }
129 return false;
130 }
131
132 @Override
133 @SuppressWarnings("nls")
134 public String toString() {
135 return "[TmfEventRequest(" + getRequestId() + "," + getDataType().getSimpleName()
136 + "," + getRange() + "," + getIndex() + "," + getNbRequested() + "," + getBlockSize() + ")]";
137 }
138
139 }
This page took 0.034855 seconds and 5 git commands to generate.